- Notifications
You must be signed in to change notification settings - Fork2k
A WebGL accelerated JavaScript library for training and deploying ML models.
License
tensorflow/tfjs
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
TensorFlow.js is an open-source hardware-accelerated JavaScript library fortraining and deploying machine learning models.
Develop ML in the Browser
Use flexible and intuitive APIs to build models from scratch using the low-levelJavaScript 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.jsruntime.
Run Existing models
Use TensorFlow.js model converters to run pre-existing TensorFlow models rightin the browser.
Retrain Existing models
Retrain pre-existing ML models using sensor data connected to the browser orother client-side data.
This repository contains the logic and scripts that combineseveral 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 toKeras.
- TensorFlow.js Data,a simple API to load and prepare data analogous totf.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 byAutoML Edge.
Backends/Platforms:
- TensorFlow.js CPU Backend, pure-JS backend for Node.js and the browser.
- TensorFlow.js WebGL Backend, WebGL backend for the browser.
- TensorFlow.js WASM Backend, WebAssembly backend for the browser.
- TensorFlow.js WebGPU, WebGPU backend for the browser.
- TensorFlow.js Node, Node.js platform via TensorFlow C++ adapter.
- TensorFlow.js React Native, React Native platform via expo-gl adapter.
If you care about bundle size, you can import those packages individually.
If you are looking for Node.js support, check out theTensorFlow.js Node directory.
Check out ourexamples repositoryand ourtutorials.
Be sure to check outthe gallery of all projects related to TensorFlow.js.
Be sure to also check out ourmodels repository where we host pre-trained modelson NPM.
- Local benchmark tool. Use this webpage tool to collect the performance related metrics (speed, memory, etc) of TensorFlow.js models and kernelson your local device with CPU, WebGL or WASM backends. You can benchmark custom models by following thisguide.
- Multi-device benchmark tool. Use this tool to collect the same performance related metricson a collection of remote devices.
There are two main ways to get TensorFlow.js in your JavaScript project:viascript tagsor by installing it fromNPMand using a build tool likeParcel,WebPack, orRollup.
Add the following code to an HTML file:
<html><head><!-- Load TensorFlow.js --><scriptsrc="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.constmodel=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.constxs=tf.tensor2d([1,2,3,4],[4,1]);constys=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 outputmodel.predict(tf.tensor2d([5],[1,1])).print();});</script></head><body></body></html>
Open up that HTML file in your browser, and the code should run!
Add TensorFlow.js to your project usingyarnornpm.Note: Becausewe use ES2017 syntax (such asimport), this workflow assumes you are using a modern browser or a bundler/transpilerto convert your code to something older browsers understand. See ourexamplesto see how we useParcel to buildour code. However, you are free to use any build tool that you prefer.
import*astffrom'@tensorflow/tfjs';// Define a model for linear regression.constmodel=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.constxs=tf.tensor2d([1,2,3,4],[4,1]);constys=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 ourtutorials,examplesanddocumentation for more details.
We support porting pre-trained models from:
Please refer below :
TensorFlow.js is a part of theTensorFlow ecosystem. For more info:
- For help from the community, use the
tfjstag on theTensorFlow Forum. - TensorFlow.js Website
- Tutorials
- API reference
- TensorFlow.js Blog
Thanks,BrowserStack, for providing testing support.
About
A WebGL accelerated JavaScript library for training and deploying ML models.
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.