Deep Learning with JavaScript
Neural networks in TensorFlow.js
Shanqing Cai, Stanley Bileschi, Eric D. Nielsen with Francois Chollet
  • MEAP began November 2018
  • Publication in Fall 2019 (estimated)
  • ISBN 9781617296178
  • 350 pages (estimated)
  • printed in black & white

This book inspires me to learn more about deep learning. Especially now I can use a language I am most familiar with to do experiments.

Evan Wallace
Deep learning has transformed the fields of computer vision, image processing, and natural language applications. Thanks to TensorFlow.js, now JavaScript developers can build deep learning apps without relying on Python or R. Deep Learning with JavaScript shows developers how they can bring DL technology to the web. Written by the main authors of the TensorFlow library, this new book provides fascinating use cases and in-depth instruction for deep learning apps in JavaScript in your browser or on Node.
Table of Contents detailed table of contents

Part 1: Motivation and Basic Concepts

1 Deep Learning and JavaScript

1.1 Artificial Intelligence, Machine Learning, Neural Networks and Deep Learning

1.1.1 Artificial Intelligence

1.1.2 Machine Learning: How It Differs from Traditional Programming

1.1.3 Neural Networks and Deep Learning

1.1.4 Why Deep Learning? Why Now?

1.2 Why Combine JavaScript and Machine Learning

1.2.1. Why TensorFlow.js?

1.2.2 What This Book Will and Will Not Teach You To Do with TensorFlow.js



Part 2: A Gentle Introduction to TensorFlow.js

2 Getting Started: Simple Linear Regression in TensorFlow.js

2.1 Example 1: Predicting the duration of a download using TensorFlow.js

2.1.1 A note on code listings and console interactions

2.1.2 Creating and formatting the data

2.1.3 Defining a simple model

2.1.4 Fitting the model to the training data

2.1.5 Using our trained model to make predictions

2.1.6 Summary of our first example

2.2 Inside Dissecting gradient descent from Example 1

2.2.1 The intuitions behind gradient descent optimization

2.2.2 Backpropagation: Inside gradient descent

2.3 Linear regression with multiple input features

2.3.1 The Boston Housing Prices dataset

2.3.2 Getting and running the Boston-housing project from GitHub

2.3.3 Accessing the Boston-housing data

2.3.4 Precisely defining the Boston-housing problem

2.3.5 A slight diversion into data normalization

2.3.6 Linear regression on the Boston-housing data

2.4 How to interpret your model

2.4.1 Extracting meaning from learned weights

2.4.2 Extracting internal weights from the model

2.4.3 Caveats on interpretability



3 Adding Nonlinearity: Beyond Weighted Sums

4 Recognizing Images and Sounds Using Convolutional Neural Networks

5 Transfer learning: Using pre-trained models for custom tasks

Part 3: Advanced Deep Learning with TensorFlow.js

6 Preparing data for TensorFlow.js

7 Model visualization and tuning

8 Deep learning for text and sequences

9 Generative deep learning in the browser

10 Reinforcement learning in the browser

Part 4: Summary and Closing Words

11 Quick review

12 Final Words

About the Technology

TensorFlow.js is an open-source JavaScript library for defining, training, and deploying deep learning models to the web browser. It’s quickly gaining popularity with developers for its amazing set of benefits including scalability, responsiveness, modularity, and portability. And with JavaScript, deep learning applications can run on a wide variety platforms, making it more accessible than ever before! TensorFlow-based applications are combating disease, detecting and translating speech in real time and helping NASA identify Near Earth Objects. Imagine what it can do for you!

About the book

In Deep Learning with JavaScript, authors Shanqing Cai, Eric Nielsen, Stanley Bileschi and François Chollet teach you how to use TensorFlow to build incredible deep learning applications in JavaScript. These seasoned deep learning experts make it easy to see why JavaScript lends itself so well to deep learning. After teaching you the basics of Tensorflow.js, they ease you into core concepts like client-side prediction and analytics, web-based sensors, and supervised machine learning. Then, you’ll dive into image recognition, transfer learning, preparing data, DL for text and sequences, generative DL in the browser, and reinforced learning in the browser. Interesting and relevant use cases, including recognizing speech commands and captioning images and videos, drive home the value of your new skills. By the end, you’ll be solving real world problems with DL models and applications of your own!

What's inside

  • Deploying computer vision, audio, and natural language processing in the browser
  • Fine-tuning machine learning models with client-side data
  • Constructing and training a neural network
  • Interactive AI for browser games using deep reinforcement learning.
  • Generative neural networks to generate music and pictures
  • Using TensorFlow.js with Cloud ML

About the reader

For web developers interested in deep learning.

About the authors

Shanqing Cai and Eric Nielsen are senior software engineers on the Google Brain team. Stan Bileschi is the technical lead for Google’s TensorFlow Usability team, which built the TensorFlow Layers API. All three have advanced degrees from MIT. Together, they’re responsible for writing most of TensorFlow.js. François Chollet is a deep-learning researcher at Google and the author of the Keras library.

Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.

FREE domestic shipping on three or more pBooks

This book is terrific for any engineer.

Vaijanath Rao

Came to this book looking to see why someone would use JavaScript for machine learning but found a wealth of resource about Deep Learning in general with amazing supporting links for digging deeper into the material.

Michael Wall

Covers this complex topic in a surprisingly approachable and readable style!

Jason Hales

I highly recommend this book to anyone interested in mastering deep learning or building universal applications using JavaScript and TensorFlow.js.

Alain Lompo