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

Profiling

As the saying goes, premature optimization is the root of all evil. Without sufficient knowledge and understanding of the system, optimization is often rather harmful. It is important to get the data of the system's runtime and find out what bottlenecks need to be optimized. Profiling is a method that we can use to collect information or signals that measure how the system works. The following information is helpful if we wish to find problems that exist in our application:

  • Performance bottlenecks (CPU, I/O, memory, and so on)
  • Statistics regarding the code's execution
  • How long the execution time took to complete

By knowing about such information, we can make our application more performant. There are several tools we can use to inspect and get insight into what happens in the TensorFlow.js runtime. In the last section of this chapter, we are going to take...