TensorFlow.js Examples
This repository contains a set of examples implemented in TensorFlow.js.
Each example directory is standalone so the directory can be copied to another project.
Overview of Examples
Example name
Demo link
Input data type
Task type
Model type
Training
Inference
API type
Save-load operations
Numeric
Loading data from local file and training in Node.js
Multilayer perceptron
Node.js
Node.js
Layers
Saving to filesystem and loading in Node.js
Text
Sequence-to-sequence
RNN: SimpleRNN, GRU and LSTM
Browser
Browser
Layers
Text
Sequence-to-sequence
RNN: SimpleRNN, GRU and LSTM
Browser: Web Worker
Browser: Web Worker
Layers
angular-predictive-prefetching
Numeric
Multiclass predictor
DNN
Browser: Service Worker
Layers
Numeric
Multiclass classification
Multilayer perceptron
Node.js
Node.js
Layers
Numeric
Regression
Multilayer perceptron
Browser
Browser
Layers
Reinforcement learning
Policy gradient
Browser
Browser
Layers
IndexedDB
Image
(Deploying TF.js in Chrome extension)
Convnet
Browser
(Defining a custom Layer subtype)
Browser
Layers
Building a tf.data.Dataset from a remote CSV
Building a tf.data.Dataset using a generator
Regression
Browser
Browser
Layers
Text
Text-to-text conversion
Attention mechanism, RNN
Node.js
Browser and Node.js
Layers
Saving to filesystem and loading in browser
Image
(Deploying TF.js in Electron-based desktop apps)
Convnet
Node.js
Image
Generative
Variational autoencoder (VAE)
Node.js
Browser
Layers
Export trained model from tfjs-node and load it in browser
Image
Multiclass classification, object detection, segmentation
Browser
Numeric
Multiclass classification
Multilayer perceptron
Browser
Browser
Layers
Numeric
Multiclass classification
Multilayer perceptron
Browser
Browser
Layers
Sequence
Sequence-to-prediction
MLP and RNNs
Browser and Node
Browser
Layers
Text
Sequence prediction
RNN: LSTM
Browser
Browser
Layers
IndexedDB
Image
Multiclass classification
Convolutional neural network
Browser
Browser
Layers
Image
Generative Adversarial Network (GAN)
Convolutional neural network; GAN
Node.js
Browser
Layers
Saving to filesystem from Node.js and loading it in the browser
Image
Multiclass classification
Convolutional neural network
Browser
Browser
Core (Ops)
Image
Multiclass classification
Convolutional neural network
Node.js
Node.js
Layers
Saving to filesystem
Image
Multiclass classification (transfer learning)
Convolutional neural network
Browser
Browser
Layers
Loading pretrained model
Image
Multiclass classification
Convolutional neural network
Browser
Layers
Loading pretrained model
Numeric
Regression
Shallow neural network
Browser
Browser
Layers
Numeric
Regression
Shallow neural network
Browser
Browser
Core (Ops)
Various
Demonstrates the effect of post-training weight quantization
Various
Node.js
Node.js
Layers
Text
Sequence-to-binary-prediction
LSTM, 1D convnet
Node.js or Python
Browser
Layers
Load model from Keras and tfjs-node
Image
Object detection
Convolutional neural network (transfer learning)
Node.js
Browser
Layers
Export trained model from tfjs-node and load it in browser
Reinforcement learning
Deep Q-Network (DQN)
Node.js
Browser
Layers
Export trained model from tfjs-node and load it in browser
Text
Sequence-to-sequence
LSTM encoder and decoder
Node.js or Python
Browser
Layers
Load model converted from Keras
Dimension reduction and data visualization
tSNE
Browser
Browser
Core (Ops)
Image
Multiclass classification (transfer learning)
Convolutional neural network
Browser
Browser
Layers
Loading pretrained model
Numeric
Binary classification
Multilayer perceptron
Browser
Browser
Layers
Dependencies
Except for getting_started, all the examples require the following dependencies to be installed.
How to build an example
cd into the directory
If you are using yarn:
cd mnist-core
yarn
yarn watch
If you are using npm:
cd mnist-core
npm install
npm run watch
Details
The convention is that each example contains two scripts:
-
yarn watchornpm run watch: starts a local development HTTP server which watches the filesystem for changes so you can edit the code (JS or HTML) and see changes when you refresh the page immediately. -
yarn buildornpm run build: generates adist/folder which contains the build artifacts and can be used for deployment.
Contributing
If you want to contribute an example, please reach out to us on Github issues before sending us a pull request as we are trying to keep this set of examples small and highly curated.
Running Presubmit Tests
Before you send a pull request, it is a good idea to run the presubmit tests and make sure they all pass. To do that, execute the following commands in the root directory of tfjs-examples:
yarn
yarn presubmit
The yarn presubmit command executes the unit tests and lint checks of all
the exapmles that contain the yarn test and/or yarn lint scripts. You
may also run the tests for individual exampls by cd'ing into their respective
subdirectory and executing yarn, followed by yarn test and/or yarn lint.