You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 7-8.RSVP
Socket
Socket
Sign inDemoInstall

@tensorflow/tfjs

Package Overview
Dependencies
Maintainers
11
Versions
157
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tensorflow/tfjs

An open-source machine learning framework.


Version published
Weekly downloads
104K
increased by6.99%
Maintainers
11
Created
Weekly downloads
 

Package description

What is @tensorflow/tfjs?

@tensorflow/tfjs is an open-source hardware-accelerated JavaScript library for training and deploying machine learning models. It allows you to develop machine learning models in JavaScript and use them in the browser or on Node.js.

What are @tensorflow/tfjs's main functionalities?

Creating and Training Models

This code demonstrates how to create a simple neural network model, compile it, and train it using synthetic data. The model is then used for inference.

const tf = require('@tensorflow/tfjs');

// Define a simple model
const model = tf.sequential();
model.add(tf.layers.dense({units: 100, activation: 'relu', inputShape: [10]}));
model.add(tf.layers.dense({units: 1, activation: 'linear'}));

// Compile the model
model.compile({optimizer: 'sgd', loss: 'meanSquaredError'});

// Generate some synthetic data for training
const xs = tf.randomNormal([100, 10]);
const ys = tf.randomNormal([100, 1]);

// Train the model
model.fit(xs, ys, {epochs: 10}).then(() => {
  // Use the model for inference
  model.predict(tf.randomNormal([1, 10])).print();
});

Loading Pre-trained Models

This code demonstrates how to load a pre-trained model from a URL and use it for inference on an image. The image is preprocessed to match the input requirements of the model.

const tf = require('@tensorflow/tfjs');

// Load a pre-trained model from a URL
const modelUrl = 'https://storage.googleapis.com/tfjs-models/tfjs/mobilenet_v1_0.25_224/model.json';
tf.loadGraphModel(modelUrl).then(model => {
  // Use the model for inference
  const img = tf.browser.fromPixels(document.getElementById('image'));
  const resizedImg = tf.image.resizeBilinear(img, [224, 224]);
  const input = resizedImg.expandDims(0).toFloat().div(tf.scalar(127)).sub(tf.scalar(1));
  model.predict(input).print();
});

Tensor Operations

This code demonstrates basic tensor operations such as addition. Tensors are the core data structure in TensorFlow.js, and you can perform various mathematical operations on them.

const tf = require('@tensorflow/tfjs');

// Create tensors
const a = tf.tensor([1, 2, 3, 4]);
const b = tf.tensor([5, 6, 7, 8]);

// Perform tensor operations
const c = a.add(b);
c.print(); // Output: [6, 8, 10, 12]

Other packages similar to @tensorflow/tfjs

Readme

Source

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:

  • 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:

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.

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.

FAQs

Package last updated on 06 Oct 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc