Book Image

Hands-On Machine Learning with TensorFlow.js

By : Kai Sasaki
Book Image

Hands-On Machine Learning with TensorFlow.js

By: Kai Sasaki

Overview of this book

TensorFlow.js is a framework that enables you to create performant machine learning (ML) applications that run smoothly in a web browser. With this book, you will learn how to use TensorFlow.js to implement various ML models through an example-based approach. Starting with the basics, you'll understand how ML models can be built on the web. Moving on, you will get to grips with the TensorFlow.js ecosystem to develop applications more efficiently. The book will then guide you through implementing ML techniques and algorithms such as regression, clustering, fast Fourier transform (FFT), and dimensionality reduction. You will later cover the Bellman equation to solve Markov decision process (MDP) problems and understand how it is related to reinforcement learning. Finally, you will explore techniques for deploying ML-based web applications and training models with TensorFlow Core. Throughout this ML book, you'll discover useful tips and tricks that will build on your knowledge. By the end of this book, you will be equipped with the skills you need to create your own web-based ML applications and fine-tune models to achieve high performance.
Table of Contents (17 chapters)
Free Chapter
1
Section 1: The Rationale of Machine Learning and the Usage of TensorFlow.js
5
Section 2: Real-World Applications of TensorFlow.js
12
Section 3: Productionizing Machine Learning Applications with TensorFlow.js

Asynchronous data access

As a natural consequence of the heavy computation of machine learning algorithms, asynchronous data access is inevitable if we wish to keep our application efficient and working interactively. In JavaScript, asynchronous execution is often implemented with a Promise object. A promise represents an asynchronous operation that ends in either success or failure. Most of the operations that download data from tensors return a Promise object, which ensures that the user fetches the data once it is ready.

To return a Promise object, we need to declare the function as an async. For instance, the Tensor.data method returns a Promise that computes TypedArray, which contains the data's results:

async data<D extends DataType = NumericDataType>(): Promise<DataTypeMap[D]> {
// Do something to return the value.
// ...
return data as Promise<DataTypeMap...