Github url

tfjs

by tensorflow

tensorflow /tfjs

A WebGL accelerated JavaScript library for training and deploying ML models.

13.5K Stars 1.2K Forks Last release: 22 days ago (tfjs-v2.0.1) Apache License 2.0 4.0K Commits 372 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

TensorFlow.js

TensorFlow.js is an open-source hardware-accelerated JavaScript library for training and deploying machine learning models.

:warning: We recently released TensorFlow.js 2.0. If you have been using TensorFlow.js via a script tag without specifying a version and see an error saying no backends are found, then you should read our release notesfor instructions on how to upgrade.

Develop ML in the Browser
Use flexible and intuitive APIs to build models from scratch using the low-level JavaScript linear algebra library or the high-level layers API.

Develop ML in Node.js
Execute native TensorFlow with the same TensorFlow.js API under the Node.js runtime.

Run Existing models
Use TensorFlow.js model converters to run pre-existing TensorFlow models right in the browser.

Retrain Existing models
Retrain pre-existing ML models using sensor data connected to the browser or other client-side data.

About this repo

This repository contains the logic and scripts that combine several packages.

APIs: - TensorFlow.js Core, a flexible low-level API for neural networks and numerical computation. - TensorFlow.js Layers, a high-level API which implements functionality similar to Keras. - TensorFlow.js Data, a simple API to load and prepare data analogous to tf.data. - TensorFlow.js Converter, tools to import a TensorFlow SavedModel to TensorFlow.js - TensorFlow.js Vis, in-browser visualization for TensorFlow.js models - TensorFlow.js AutoML, Set of APIs to load and run models produced by AutoML Edge.

Backends/Platforms: - TensorFlow.js CPU Backend, Node backend via TensorFlow C++. - TensorFlow.js WebGL Bakend, Node backend via TensorFlow C++. - TensorFlow.js Node, Node backend via TensorFlow C++. - TensorFlow.js WASM, WebAssembly backend. - TensorFlow.js React Native, React Native backend/platform adapter. - TensorFlow.js WebGPU, WebGPU backend.

If you care about bundle size, you can import those packages individually.

If you are looking for Node.js support, check out the TensorFlow.js Node directory.

Examples

Check out ourexamples repositoryand our tutorials.

Gallery

Be sure to check out the gallery of all projects related to TensorFlow.js.

Pre-trained models

Be sure to also check out our models repository where we host pre-trained models on NPM.

Benchmarks

Benchmark tool. Use this webpage tool to test the performance related metrics (speed, memory, power, etc) of TensorFlow.js models on your local device with CPU, WebGL or WASM backend.

Getting started

There are two main ways to get TensorFlow.js in your JavaScript project: via script tags or by installing it from NPMand using a build tool like Parcel,WebPack, or Rollup.

via Script Tag

Add the following code to an HTML file:

<!-- Load TensorFlow.js --><script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs/dist/tf.min.js"> </script><!-- Place your code in the script tag below. You can also use an external .js file --><script>
      // Notice there is no 'import' statement. 'tf' is available on the index-page
      // because of the script tag above.

      // Define a model for linear regression.
      const model = tf.sequential();
      model.add(tf.layers.dense({units: 1, inputShape: [1]}));

      // Prepare the model for training: Specify the loss and the optimizer.
      model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});

      // Generate some synthetic data for training.
      const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);
      const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]);

      // Train the model using the data.
      model.fit(xs, ys).then(() => {
        // Use the model to do inference on a data point the model hasn't seen before:
        // Open the browser devtools to see the output
        model.predict(tf.tensor2d([5], [1, 1])).print();
      });
    </script>

Open up that HTML file in your browser, and the code should run!

via NPM

Add TensorFlow.js to your project using yarn or npm. Note: Because we use ES2017 syntax (such as

import

), this workflow assumes you are using a modern browser or a bundler/transpiler to convert your code to something older browsers understand. See ourexamplesto see how we use Parcel to build our code. However, you are free to use any build tool that you prefer.

import \* as tf from '@tensorflow/tfjs'; // Define a model for linear regression. const model = tf.sequential(); model.add(tf.layers.dense({units: 1, inputShape: [1]})); // Prepare the model for training: Specify the loss and the optimizer. model.compile({loss: 'meanSquaredError', optimizer: 'sgd'}); // Generate some synthetic data for training. const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]); const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]); // Train the model using the data. model.fit(xs, ys).then(() =\> { // Use the model to do inference on a data point the model hasn't seen before: model.predict(tf.tensor2d([5], [1, 1])).print(); });

See our tutorials, examplesand documentation for more details.

Importing pre-trained models

We support porting pre-trained models from: - TensorFlow SavedModel- Keras

Find out more

TensorFlow.js is a part of theTensorFlow ecosystem. For more info: - For help from the community, use [

tensorflow.js

](https://stackoverflow.com/questions/tagged/tensorflow.js) tag on Stack Overflow. - js.tensorflow.org- Tutorials- API reference- Discussion mailing list- TensorFlow.js Blog

Thanks, BrowserStack, for providing testing support.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.