All Projects → tensorflow → Tfjs

tensorflow / Tfjs

Licence: apache-2.0
A WebGL accelerated JavaScript library for training and deploying ML models.

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects
C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
Starlark
911 projects
HTML
75241 projects

Projects that are alternatives of or similar to Tfjs

wasm2kt
Web Assembly to Kotlin and Java converter. Allows to compile a C or C++ program/library, and generate a Kotlin or Java program/library.
Stars: ✭ 20 (-99.87%)
Mutual labels:  wasm, web-assembly
Unrust
unrust - A pure rust based (webgl 2.0 / native) game engine
Stars: ✭ 341 (-97.85%)
Mutual labels:  webgl, wasm
pigmnts
🎨 Color palette generator from an image using WebAssesmbly and Rust
Stars: ✭ 38 (-99.76%)
Mutual labels:  wasm, web-assembly
wasm-adventure
My adventure into the marvelous world of Web Assembly
Stars: ✭ 49 (-99.69%)
Mutual labels:  wasm, web-assembly
Skia Wasm Port
Port of the Skia drawing library to wasm, for use in javascript (node & browser)
Stars: ✭ 131 (-99.17%)
Mutual labels:  webgl, wasm
Pmtech
Lightweight, multi-platform, data-oriented game engine.
Stars: ✭ 478 (-96.98%)
Mutual labels:  webgl, wasm
Glas
WebGL in WebAssembly with AssemblyScript
Stars: ✭ 278 (-98.24%)
Mutual labels:  webgl, wasm
Filament
Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2
Stars: ✭ 13,215 (-16.54%)
Mutual labels:  webgl, wasm
Tfjs Core
WebGL-accelerated ML // linear algebra // automatic differentiation for JavaScript.
Stars: ✭ 8,514 (-46.23%)
Mutual labels:  webgl, gpu-acceleration
Wxinlineplayer
🤟Super fast H.264/H.265 FLV player
Stars: ✭ 873 (-94.49%)
Mutual labels:  webgl, wasm
Hedgehog Lab
Run, compile and execute JavaScript for Scientific Computing and Data Visualization TOTALLY TOTALLY TOTALLY in your BROWSER! An open source scientific computing environment for JavaScript TOTALLY in your browser, matrix operations with GPU acceleration, TeX support, data visualization and symbolic computation.
Stars: ✭ 1,797 (-88.65%)
Mutual labels:  webgl, gpu-acceleration
Sandspiel
Creative cellular automata browser game
Stars: ✭ 2,476 (-84.36%)
Mutual labels:  webgl, wasm
Plotly Graphing Library For Matlab
Plotly Graphing Library for MATLAB®
Stars: ✭ 234 (-98.52%)
Mutual labels:  webgl
Rust Yew Realworld Example App
Exemplary real world app built with Rust + Yew + WebAssembly
Stars: ✭ 249 (-98.43%)
Mutual labels:  wasm
Wapm Cli
📦 WebAssembly Package Manager (CLI)
Stars: ✭ 236 (-98.51%)
Mutual labels:  wasm
Webgl Obj Loader
A simple OBJ model loader to help facilitate the learning of WebGL.
Stars: ✭ 235 (-98.52%)
Mutual labels:  webgl
Lightbeam
Lightbeam has moved and now lives in the Wasmtime repository!
Stars: ✭ 253 (-98.4%)
Mutual labels:  wasm
Four
Four: WebGL made easier -
Stars: ✭ 248 (-98.43%)
Mutual labels:  webgl
Awesome Wasm Langs
😎 A curated list of languages that compile directly to or have their VMs in WebAssembly
Stars: ✭ 2,966 (-81.27%)
Mutual labels:  wasm
Rhino3dm
Libraries based on OpenNURBS with a RhinoCommon style
Stars: ✭ 232 (-98.53%)
Mutual labels:  wasm

TensorFlow.js

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

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:

Backends/Platforms:

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 our examples repository and 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

  • Local benchmark tool. Use this webpage tool to collect the performance related metrics (speed, memory, etc) of TensorFlow.js models and kernels on your local device with CPU, WebGL or WASM backends. You can benchmark custom models by following this guide.
  • Multi-device benchmark tool. Use this tool to collect the same performance related metrics on a collection of remote devices.

Getting started

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

via Script Tag

Add the following code to an HTML file:

<html>
  <head>
    <!-- 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>
  </head>

  <body>
  </body>
</html>

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 our examples to 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, examples and documentation for more details.

Importing pre-trained models

We support porting pre-trained models from:

Various ops supported in different backends

Please refer below :

Find out more

TensorFlow.js is a part of the TensorFlow ecosystem. For more info:

Thanks, BrowserStack, for providing testing support.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].