/tfjs-node

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

Primary LanguageTypeScriptApache License 2.0Apache-2.0

TensorFlow backend for TensorFlow.js via Node.js

Installing

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
(or)
yarn add @tensorflow/tfjs-node

Installing Linux/Windows GPU TensorFlow.js for Node:

npm install @tensorflow/tfjs-node-gpu
(or)
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.

For more troubleshooting on Windows, check out WINDOWS_TROUBLESHOOTING.md.

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:

// Load the binding
import * as tf from '@tensorflow/tfjs-node';

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

Note: you do not need to add the @tensorflow/tfjs package to your dependencies or import it directly.

Development

# Download and install JS dependencies, including libtensorflow 1.8.
yarn

# 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