TensorFlow powered JavaScript library for training and deploying ML models on Node.js.

9 months after

TensorFlow backend for TensorFlow.js via Node.js

This repo is under active development and is not production-ready. We are actively developing as an open source project.


TensorFlow.js for Node currently supports the following platforms:

Other Linux variants might also work but this project matches core TensorFlow installation requirements.

Installing CPU TensorFlow.js for Node:

npm install @tensorflow/tfjs-node
yarn add @tensorflow/tfjs-node

Installing Linux/Windows GPU TensorFlow.js for Node:

npm install @tensorflow/tfjs-node-gpu
yarn add @tensorflow/tfjs-node-gpu

Windows Requires Python 2.7

Windows build support for node-gyp requires Python 2.7. Be sure to have this version before installing @tensorflow/tfjs-node or @tensorflow/tfjs-node-gpu. Machines with Python 3.x will not install the bindings properly.

Mac OS X Requires Xcode

If you do not have Xcode setup on your machine, please run the following commands:

$ xcode-select --install

After that operation completes, re-run yarn add or npm install for the @tensorflow/tfjs-node package.

You only need to include @tensorflow/tfjs-node or @tensorflow/tfjs-node-gpu in the package.json file, since those packages ship with @tensorflow/tfjs already.

Using the binding

Before executing any TensorFlow.js code, import the node package:

import * as tf from '@tensorflow/tfjs';

// Load the binding
import '@tensorflow/tfjs-node';

// Or if running with GPU:
import '@tensorflow/tfjs-node-gpu';


# Download and install JS dependencies, including libtensorflow 1.8.

# Run TFJS tests against Node.js backend:
yarn test
# Switch to GPU for local development:
yarn enable-gpu

MNIST demo for Node.js

See the tfjs-examples repository for training the MNIST dataset using the Node.js bindings.

Optional: Build libtensorflow From TensorFlow source

This requires installing bazel first.

bazel build --config=monolithic //tensorflow/tools/lib_package:libtensorflow