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

Overview

TensorFlow.js

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

⚠️ 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 notes for 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:

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:

Find out more

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

Thanks, BrowserStack, for providing testing support.

Comments
  • Google Meet background segmentation model

    Google Meet background segmentation model

    System information

    • TensorFlow.js version (you are using): 2
    • Are you willing to contribute it (Yes/No): No, it's not mine

    Describe the feature and the current behavior/state. This Google AI blog post describes the background segmentation model used in Google Meet. This model would be an excellent complement to the models in the tfjs-models collection. (The existing BodyPix model can be (ab)used for background segmentation, but has quality and performance issues for this use-case. I expect the Google Meet model improves on this.)

    Will this change the current api? How? No, it would be an addition to tfjs-models.

    Who will benefit with this feature? Apps consuming and/or displaying a user-facing camera feed. WebRTC video chat apps are the most obvious, where background blur/replacement is becoming expected. I also expect it could be a useful preprocessing step before applying e.g. PoseNet. It can also be used creatively on images as a pre-processing step -- for example, this recent app to enhance profile pictures integrates a background segmentation solution.

    type:feature stat:awaiting response stalled 
    opened by jameshfisher 107
  • Unsupported system error when installing on M1 / Apple Silicon

    Unsupported system error when installing on M1 / Apple Silicon

    System information

    • OS Platform and Distribution (e.g., Linux Ubuntu 16.04): macOS 11.0.1 (20B29)
    • TensorFlow.js installed from (npm or script link): npm
    • TensorFlow.js version: 2.8.3

    Describe the problem

    Installation fails due to a missing precompiled libtensorflow for darwin / arm64.

    Apple has their own fork of TensorFlow supporting their chips-- is there a way to tell the installation script to use their libtensorflow.dylib?

    Provide the exact sequence of commands / steps that you executed before running into the problem

    npm install @tensorflow/tfjs-node --save

    Any other info / logs

    npm ERR! code 1
    npm ERR! path /Users/nicklee/Documents/Development/<redacted>/src/<redacted>/node_modules/@tensorflow/tfjs-node
    npm ERR! command failed
    npm ERR! command sh -c node scripts/install.js
    npm ERR! CPU-darwin-2.8.3.tar.gz
    npm ERR! * Downloading libtensorflow
    npm ERR! /Users/nicklee/Documents/Development/<redacted>/src/<redacted>/node_modules/@tensorflow/tfjs-node/scripts/install.js:100
    npm ERR!     throw new Error(`Unsupported system: ${libType}-${platform}-${os.arch()}`);
    npm ERR!           ^
    npm ERR! 
    npm ERR! Error: Unsupported system: cpu-darwin-arm64
    npm ERR!     at getPlatformLibtensorflowUri (/Users/nicklee/Documents/Development/<redacted>/src/<redacted>/node_modules/@tensorflow/tfjs-node/scripts/install.js:100:11)
    npm ERR!     at downloadLibtensorflow (/Users/nicklee/Documents/Development/<redacted>/src/<redacted>/node_modules/@tensorflow/tfjs-node/scripts/install.js:134:7)
    npm ERR!     at async run (/Users/nicklee/Documents/Development/<redacted>/src/<redacted>/node_modules/@tensorflow/tfjs-node/scripts/install.js:197:5)
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /Users/nicklee/.npm/_logs/2021-01-09T02_53_09_673Z-debug.log
    
    type:build/install 
    opened by nickplee 94
  • Error: TensorList shape mismatch: Shapes -1 and 3 must match - CONTINUE

    Error: TensorList shape mismatch: Shapes -1 and 3 must match - CONTINUE

    I've been working for a week. This error appears to be from open source applications that were not in previous versions. I even tried from old models. They are working. But the one I just created doesn't work.

    This error continues. How do we fix this?

    tfjs-core: ^3.0.0
    tfjs-converter: ^3.0.0
    TF 2.4.1
    Python 3.6.9
    

    Originally posted by @umitkacar in https://github.com/tensorflow/tfjs/issues/4641#issuecomment-779332368

    type:support stat:awaiting response stalled 
    opened by umitkacar 56
  • Cannot import @tensorflow/tfjs-node-gpu on Windows

    Cannot import @tensorflow/tfjs-node-gpu on Windows

    To get help from the community, we encourage using Stack Overflow and the tensorflow.js tag.

    TensorFlow.js version

    1.2.9

    Browser version

    Using NodeJS: v12.10.0

    Describe the problem or feature request

    Cannot import @tensorflow/tfjs-node-gpu at all, only @tensorflow/tfjs-node but I'd like to use my GPU.

    Code to reproduce the bug / link to feature request

    require('@tensorflow/tfjs-node-gpu');

    Here is the error:

    `internal/modules/cjs/loader.js:977 return process.dlopen(module, path.toNamespacedPath(filename)); ^

    Error: The specified module could not be found. \?\D:\Programming\NodeJS Work\dumb-doorbell\server\node_modules@tensorflow\tfjs-node-gpu\lib\napi-v4\tfjs_binding.node at Object.Module._extensions..node (internal/modules/cjs/loader.js:977:18) at Module.load (internal/modules/cjs/loader.js:790:32) at Function.Module._load (internal/modules/cjs/loader.js:703:12) at Module.require (internal/modules/cjs/loader.js:830:19) at require (internal/modules/cjs/helpers.js:68:18) at Object. (D:\Programming\NodeJS Work\dumb-doorbell\server\node_modules@tensorflow\tfjs-node-gpu\dist\index.js:44:16) at Module._compile (internal/modules/cjs/loader.js:936:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:947:10) at Module.load (internal/modules/cjs/loader.js:790:32) at Function.Module._load (internal/modules/cjs/loader.js:703:12) `

    I've tried reinstalling all my modules, tried using Recommended Node version, tried rebuilding the package, idk what else to try so I'm hoping to get some way to fix this from here

    comp:node.js P0 
    opened by gobboo 55
  • React production build will not compile TensorFlow.js  2.0

    React production build will not compile TensorFlow.js 2.0

    To get help from the community, we encourage using Stack Overflow and the tensorflow.js tag.

    2.0 TensorFlow.js version

    Chrome Version 83.0.4103.61 (Official Build) (64-bit)

    Hello, when building the react app in Development mode the tensorFlowJS 2.0 model worked just fine, but when using the built version from reactjs, I get an error related to tensorflow,

    Uncaught (in promise) TypeError: Cannot call a class as a function at r (classCallCheck.js:3) at new e (tensor.ts:395) at e.value (engine.ts:714) at l (tensor_ops.ts:113) at c (tensor_ops.ts:59) at Module.d (io_utils.ts:180) at e.<anonymous> (graph_model.ts:128) at s (runtime.js:45) at Generator._invoke (runtime.js:274) at Generator.forEach.e.<computed> [as next] (runtime.js:97)

    [solution] rolled back tensorFlowJS version 1.0.1 and it compiled for production. We were never able to pinpoint the problem but I thought I should flag this.

    GitHub issues for this repository are tracked in the tfjs union repository.

    Please file your issue there, following the guidance in that issue template.

    comp:core type:others stat:awaiting response 
    opened by JoeJoeMango 43
  • Tensorflow Object Detection API Model - Unsupported Ops in ssd_mobilenet_v2 model

    Tensorflow Object Detection API Model - Unsupported Ops in ssd_mobilenet_v2 model

    To get help from the community, check out our Google group.

    TensorFlow.js version

    @tensorflow/tfjs-converter: 0.1.1 (this was installed through pip)

    Browser version

    N/A (issue is related to tensorflowjs_converter)

    Describe the problem or feature request

    Unsupported Ops

    I tried running the tensorflowjs_converter as follows: tensorflowjs_converter \ --input_format=tf_saved_model \ --output_node_names='detection_boxes,detection_classes,detection_scores,num_detections' \ --saved_model_tags=serve \ ~/workspace/model/saved_model \ ~/workspace/model/web_model

    Once it is complete, I get the following output of unsupported ops: All, Assert, Enter, Exit, LoopCond, Merge, NextIteration, NonMaxSuppressionV2, Rank, ResizeBilinear, Size, Split, StridedSlice, Switch, TensorArrayGatherV3, TensorArrayReadV3, TensorArrayScatterV3, TensorArraySizeV3, TensorArrayV3, TensorArrayWriteV3, TopKV2, Unpack, Where This is a ssd_mobilenet_v2_coco model trained through tensorflow object detection api. It is performing well on tensorflow, but it contains ops not supported by tensorflowjs. I have tried several other models from the tensorflow model zoo, and they all have similiar unsupported ops.

    Code to reproduce the bug / link to feature request

    I found this GIST describing the exact issue: Convert Tensorflow SavedModel to WebModel for TF-JS From this GIST I got the following:

    # Download the model files. 
    wget http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v2_coco_2018_03_29.tar.gz 
    
    # Untar the model .
    tar -xzvf ssd_mobilenet_v2_coco_2018_03_29.tar.gz
    
    pip install tensorflow-gpu # Or just tensorflow for CPU
    pip install tensorflowjs
    
    saved_model_cli show --dir ssd_mobilenet_v2_coco_2018_03_29/saved_model --tag_set serve --signature_def serving_default
    
    tensorflowjs_converter \
        --input_format=tf_saved_model \
        --output_node_names='detection_boxes,detection_scores,num_detections,detection_classes' \
        --saved_model_tags=serve \
        ./ssd_mobilenet_v2_coco_2018_03_29/saved_model \
        ./ssd_mobilenet_v2_coco_2018_03_29/web_model
    
    

    Thanks!

    comp:core comp:converter 
    opened by threedayoldcoffee 43
  • Bi-Directional LSTM model with Embedding layer for Language Translation

    Bi-Directional LSTM model with Embedding layer for Language Translation

    Hi,

    I have created a Bi-Directional LSTM model with Embedding layer in Keras (Python) for Language Translation and converted to tfjs Graph model. In the Keras (python) model, I give the input to model for prediction as an array of padded sequences (using Tokenizer, dataset is first fit_on_texts(), texts_to_sequences() and then pad_sequences()). So, for training and prediction I use the array of padded sequences (sentences). This way the model works perfectly.

    Input layer of the model: model.add(Embedding(src_vocab, n_units, input_length=src_timesteps, mask_zero=True)) src_vocab - 30973 n_units - 256 src_timesteps - 109

    But in tfjs, when I give a tokenized, padded sentence converted to tensor2d and give as input for model.executeAsync() function, it doesn't accept and I get the below error.

    Uncaught (in promise) Error: Error in where: Shapes 1,1 and 1,256 must match

    I am quite new to tfjs and would appreciate any inputs on the above.

    Thanks in advance.

    type:others stat:awaiting response 
    opened by jaygit123 42
  • Error when installing @tensorflow/tfjs-node

    Error when installing @tensorflow/tfjs-node

    To get help from the community, check out our Google group.

    TensorFlow.js version

    Browser version

    Describe the problem or feature request

    Error when installing `@tensorflow/tfjs-node``

    I get this Error:

    Error: node-gyp rebuild failed with: Error: Command failed: node-gyp rebuild Traceback (most recent call last): File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 16, in <module> sys.exit(gyp.script_main()) File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 545, in script_main return main(sys.argv[1:]) File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 538, in main return gyp_main(args) File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 523, in gyp_main generator.GenerateOutput(flat_list, targets, data, params) File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py", line 2213, in GenerateOutput part_of_all=qualified_target in needed_targets) File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py", line 793, in Write extra_mac_bundle_resources, part_of_all) File "/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py", line 967, in WriteActions "Spaces in action input filenames not supported (%s)" % input) AssertionError: Spaces in action input filenames not supported (/Users/jonas/Web Dev/NodeJS/RestAPITest/node_modules/@tensorflow/tfjs-node/scripts/deps-stage.js) gyp ERR! configure error gyp ERR! stack Error:gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16) gyp ERR! stack at emitTwo (events.js:126:13) gyp ERR! stack at ChildProcess.emit (events.js:214:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12) gyp ERR! System Darwin 17.5.0 gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /Users/jonas/Web Dev/NodeJS/RestAPITest/node_modules/@tensorflow/tfjs-node gyp ERR! node -v v8.11.2 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok

    at cp.exec (/Users/jonas/Web Dev/NodeJS/RestAPITest/node_modules/@tensorflow/tfjs-node/scripts/install.js:154:13)
    at ChildProcess.exithandler (child_process.js:282:5)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:925:16)
    at Socket.stream.socket.on (internal/child_process.js:346:11)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at Pipe._handle.close [as _onclose] (net.js:557:12)
    

    npm WARN [email protected] No description npm WARN [email protected] No repository field.

    npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! @tensorflow/[email protected] install: node scripts/install.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the @tensorflow/[email protected] install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

    npm ERR! A complete log of this run can be found in: npm ERR! /Users/jonas/.npm/_logs/2018-09-19T16_23_53_635Z-debug.log Jonass-MBP:RestAPITest jonas$`

    Code to reproduce the bug / link to feature request

    Running npm install @tensorflow/tfjs-node on a Mac with Node version 6.4.1. XCode is installed.

    type:build/install 
    opened by JonasJW 42
  • major difference in performance between sync and async methods to download tensor data

    major difference in performance between sync and async methods to download tensor data

    when using webgl backend, tensor.dataSync() is about 35% faster than await tensor.data() when returning larger amounts of data
    (in my case, model takes 720x720x3 image as input and produces 720x720x3 image as output)

    actual timings are ~100ms for tensor.dataSync() and ~140ms for await tensor.data()
    note that there is nothing else executing, this is a single active loop

    i wouldn't mind using dataSync(), but then again any sync calls are not compatible with webgpu backend and maintaining two separate codepaths for webgl and webgpu is a no-op

    btw, model in question can be found at https://github.com/vladmandic/anime

    environment: tfjs 3.19..0 on chrome 103

    type:bug 
    opened by vladmandic 37
  • [webgl] enabling WEBGL_USE_SHAPES_UNIFORMS results in model execution returning null values

    [webgl] enabling WEBGL_USE_SHAPES_UNIFORMS results in model execution returning null values

    user reported issue with my library and after a while it was traced down to WEBGL_USE_SHAPES_UNIFORMS
    which i have enabled by default for over half a year now due to massive performance advantages

    issue itself is that model execution shows no issues and it returns tensors in expected shape,
    but tensor data is an array with all null values instead of expected float32 values

    what is strange that on majority of systems there are no issues (plus i cannot reproduce locally)
    and there is only single (quite small) affected model out of 10+ used

    affected model

    very simple code reproduction (again, i cannot reproduce myself)
    (it runs a model using predefined image input and checks output validity)

    test has tfjs debug enabled and you can see all ops in the browser console

    environment:

    • tfjs: 3.20.0 (older versions are also affected)
    • browser: chrome 104 and 105
    • os: windows 10 pro

    it's reported on two different systems using different graphics adapters (AMD Radeon and nVidia RTX)
    both affected systems report no issues looking at chrome://gpu and webgl v2 is working fine

    only other thing worth noting is that user is using non-latin os locale

    link to original issue: https://github.com/vladmandic/human/issues/291

    type:bug 
    opened by vladmandic 34
  • Npm installation fails.

    Npm installation fails.

    Update: The original content of this thread is not important any more. Please keep 2 things in mind in order to install tenforflow.js successfully. 1, npm could be slow, as you might already know. To solve this, you can update npm to its very latest version or you can try yarn. If you are in China, yarn is generally faster. Also, when you use yarn in windows, you probably get a link from your powershell, open that page, search for Set-ExecutionPolicy. Or you simply type Set-ExecutionPolicy in your powershell and then Bypass and then to all. If you care, set it back to Default after using yarn. 2, Any extra firewall, safety and security software may mess any installation. My A***t messed all my vs2022 updating and npm(and pip when I tried pip install tensorflow). After turning it off, I reinstalled vs2022, and started up with a new react project, yarn installed tfjs, and they all worked again. Notice, I only mean the EXTRA safery softwares, I didn't turn off the default firewall came along with windows to fix my dev env. 3, A trivial detail. I don't know how to setup tfjs with pure node.js. But it's easy to setup with any react template if you use visual studio. I didn't try but I guess it's the same way to setup with vue or angular. The key is that, tfjs needs dom. If this update helps or not, please let me know. Feel free to comment in here.

    Original content: System information

    • OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10
    • Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: -
    • TensorFlow.js installed from (npm or script link): npm install @tensorflow/tfjs-node-gpu
    • TensorFlow.js version: 3.12.0
    • CUDA/cuDNN version: [email protected], [email protected] #define CUDNN_MAJOR 8 #define CUDNN_MINOR 3 #define CUDNN_PATCHLEVEL 1

    Describe the problem I opened up a default react ts project in vs 2022 stable version. View -> terminal. In terminal, npm install @tensorflow/tfjs or tfjs-node or tfjs-node-gpu. None of them works. I also tried npm install in the terminal directly opened from Windows 10 and failed. I don't know if this issue is caused by the internet since I'm in China. The familiar 404, you know.

    Provide the exact sequence of commands / steps that you executed before running into the problem As above.

    Any other info / logs npm install @tensorflow/tfjs-node-gpu

    @tensorflow/[email protected] install E:\ts practice\tfjs with ts test\tfjsWithTsTest\tfjsWithTsTest\node_modules@tensorflow\tfjs-node-gpu node scripts/install.js gpu download

    GPU-windows-3.12.0.zip

    • Downloading libtensorflow https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-windows-x86_64-2.7.0.zip [==============================] 11266495/bps 100% 0.0s
    • Building TensorFlow Node.js bindings node-pre-gyp install failed with error: Error: Command failed: node-pre-gyp install --fallback-to-build node-pre-gyp ERR! install response status 404 Not Found on https://storage.googleapis.com/tf-builds/pre-built-binary/napi-v8/3.12.0/GPU-windows-3.12.0.zip node-pre-gyp WARN Pre-built binaries not installable for @tensorflow/[email protected] and [email protected] (node-v83 ABI, unknown) (falling back to source compile with node-gyp) node-pre-gyp WARN Hit error response status 404 Not Found on https://storage.googleapis.com/tf-builds/pre-built-binary/napi-v8/3.12.0/GPU-windows-3.12.0.zip gyp ERR! find VS gyp ERR! find VS msvs_version not set from command line or npm config gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt gyp ERR! find VS unknown version "undefined" found at "C:\Program Files\Microsoft Visual Studio\2022\Community" gyp ERR! find VS checking VS2019 (16.11.31911.196) found at: gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community" gyp ERR! find VS - found "Visual Studio C++ core features" gyp ERR! find VS - found VC++ toolset: v142 gyp ERR! find VS - missing any Windows SDK gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use gyp ERR! find VS looking for Visual Studio 2015 gyp ERR! find VS - not found gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8 gyp ERR! find VS gyp ERR! find VS ************************************************************** gyp ERR! find VS You need to install the latest version of Visual Studio gyp ERR! find VS including the "Desktop development with C++" workload. gyp ERR! find VS For more information consult the documentation at: gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows gyp ERR! find VS ************************************************************** gyp ERR! find VS gyp ERR! configure error gyp ERR! stack Error: Could not find any Visual Studio installation to use gyp ERR! stack at VisualStudioFinder.fail (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:121:47) gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:74:16 gyp ERR! stack at VisualStudioFinder.findVisualStudio2013 (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:351:14) gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:70:14 gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:372:16 gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\util.js:54:7 gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\util.js:33:16 gyp ERR! stack at ChildProcess.exithandler (child_process.js:326:5) gyp ERR! stack at ChildProcess.emit (events.js:375:28) gyp ERR! stack at maybeClose (internal/child_process.js:1055:16) gyp ERR! System Windows_NT 10.0.19043 gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "configure" "--fallback-to-build" "--module=E:\ts practice\tfjs with ts test\tfjsWithTsTest\tfjsWithTsTest\node_modules\@tensorflow\tfjs-node-gpu\lib\napi-v8\tfjs_binding.node" "--module_name=tfjs_binding" "--module_path=E:\ts practice\tfjs with ts test\tfjsWithTsTest\tfjsWithTsTest\node_modules\@tensorflow\tfjs-node-gpu\lib\napi-v8" "--napi_version=8" "--node_abi_napi=napi" "--napi_build_version=8" "--node_napi_label=napi-v8" gyp ERR! cwd E:\ts practice\tfjs with ts test\tfjsWithTsTest\tfjsWithTsTest\node_modules@tensorflow\tfjs-node-gpu gyp ERR! node -v v14.17.3 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=E:\ts practice\tfjs with ts test\tfjsWithTsTest\tfjsWithTsTest\node_modules@tensorflow\tfjs-node-gpu\lib\napi-v8\tfjs_binding.node --module_name=tfjs_binding --module_path=E:\ts practice\tfjs with ts test\tfjsWithTsTest\tfjsWithTsTest\node_modules@tensorflow\tfjs-node-gpu\lib\napi-v8 --napi_version=8 --node_abi_napi=napi --napi_build_version=8 --node_napi_label=napi-v8' (1) node-pre-gyp ERR! stack at ChildProcess. (E:\ts practice\tfjs with ts test\tfjsWithTsTest\tfjsWithTsTest\node_modules@mapbox\node-pre-gyp\lib\util\compile.js:89:23) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:375:28) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1055:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5) node-pre-gyp ERR! System Windows_NT 10.0.19043 node-pre-gyp ERR! command "C:\Program Files\nodejs\node.exe" "E:\ts practice\tfjs with ts test\tfjsWithTsTest\tfjsWithTsTest\node_modules\@mapbox\node-pre-gyp\bin\node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd E:\ts practice\tfjs with ts test\tfjsWithTsTest\tfjsWithTsTest\node_modules@tensorflow\tfjs-node-gpu node-pre-gyp ERR! node -v v14.17.3 node-pre-gyp ERR! node-pre-gyp -v v1.0.4 node-pre-gyp ERR! not ok

    npm WARN @babel/[email protected] requires a peer of @babel/core@^7.13.0 but none is installed. You must install peer dependencies yourself. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\webpack-dev-server\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\watchpack-chokidar2\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

    npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! @tensorflow/[email protected] install: node scripts/install.js gpu download npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the @tensorflow/[email protected] install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

    npm ERR! A complete log of this run can be found in: One last line is note copied. It's only a path.

    Tomorrow I'll try installing the python version with pip to check if both ways fail. Btw, would you please add some guide for typescript with tf. The type system is too helpful. Thanks.

    type:build/install stat:awaiting tensorflower stat:awaiting response stalled 
    opened by YagaoDirac 34
  • hand-pose-detection: 'tfjs-webgl' backend returns NaN values

    hand-pose-detection: 'tfjs-webgl' backend returns NaN values

    System information

    • OS Platform and Distribution: iOS 15.7.2
    • Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: iPhone 7 Plus
    • TensorFlow.js installed from (npm or script link): @tensorflow-models/hand-pose-detection
    • TensorFlow.js version (use command below): 4.1.0
    • Browser version: Safari 15.7.2
    • Tensorflow.js Converter Version: 4.1.0

    Describe the current behavior I'm setting the hand-pose-detection model following the https://storage.googleapis.com/tfjs-models/demos/hand-pose-detection/index.html?model=mediapipe_hands example

    In my code, setting the mediapipe runtime works fine, although setting the 'tfjs-webgl' runtime returns NaN values of x,y coordinates.

    Detector initialization:

    detectorConfig = {
            runtime: 'tfjs',
            modelType: 'full',
            maxHands: 1
          }
          handDetector = await handPoseDetection.createDetector(model, detectorConfig)
    

    Estimate hand data:

    try {
          handData = await handDetector.estimateHands(sourceElement, 
            {flipHorizontal: isFlipHorizontal}         // flipHorizontal: false, if we want the result to flip horizontaly. Defaults is set to false.
          )       
        } catch (error) {
          handDetector.dispose()
          handDetector = null
          alert(error)
        }
    

    Logged detector output:

    nan-tfjs

    Tensorflow environment flags:

    tfjs-env-flags

    I would appreciate any suggestion on how to fix this issue. Maybe I'm missing some other detector configuration or setting? Thanks!

    type:bug 
    opened by mikkamikka 1
  • Hand-pose-detection demos are failing to build/run

    Hand-pose-detection demos are failing to build/run

    System information

    • OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10
    • TensorFlow.js installed from (npm or script link): https://github.com/tensorflow/tfjs-models/tree/master/hand-pose-detection/demos
    • TensorFlow.js version: 3.9.0

    Describe the problem

    Any attempt running hand-pose detection demos locally failed. I followed the instructions listed here https://github.com/tensorflow/tfjs-models/tree/master/hand-pose-detection/demos#how-to-run-a-demo

    Step 2 ("Remove cache etc. rm -rf .cache dist node_modules") throws an error:

    Remove-Item : A parameter cannot be found that matches parameter name 'rf'.
    

    Step 3 ("Build dependency. yarn build-dep") throws a bunch of 27 errors, typical one of:

    src/mediapipe/mediapipe_test.ts:25:65 - error TS2307: Cannot find module '../shared/test_util' or its corresponding type declarations.
    

    etc.

    Any suggestion for the correct demos build and run sequence?

    Thanks!

    type:build/install 
    opened by mikkamikka 1
  • TFJS : Error: All values in axis param must be in range [-4, 4) but got axis -272777233,-1074807361

    TFJS : Error: All values in axis param must be in range [-4, 4) but got axis -272777233,-1074807361

    TensorFlow.js version: "@tensorflow/tfjs": "^4.1.0"

    Capture d’écran 2022-12-28 à 23 04 47

    I get this error message during prediction but the problem comes from the way the model was loaded. Indeed, when I load my model with tf.loadGraphModel and my model (.json + .bin) is on local or public server I have no problem. when the model is loaded (without error message) from an external filesystem I get this problem. I'm sure that the .json has been loaded correctly and that it refers to the .bin weights. Where I have a doubt is on the encoding or format of the .bin that are returned through the filesystem.

    However when I consult the responses to the requests, it seems that the .bin is complete:

    (locally with predictions that work) Capture d’écran 2022-12-28 à 23 14 02 (locally with predictions KO) Capture d’écran 2022-12-28 à 23 13 22

    Please, Is there anything I missed?

    (the filesystem extracts the data "application/octet-stream" and I return the buffer (data.Body) as it seems to be done when the model is served locally)

    thank you in advance for your help

    type:others 
    opened by ygf8 3
  • [Error: Operands could not be broadcast together with shapes 285 and 285,39.]

    [Error: Operands could not be broadcast together with shapes 285 and 285,39.]

    System information

    • Have I written custom code (as opposed to using a stock example script provided in TensorFlow.js): Yes
    • OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 11 version 22H2 build 22621.963
    • Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: Using Iphone 8 and Oppo A9 2020 as simulator
    • TensorFlow.js installed from (npm or script link): FROM NPM
    • TensorFlow.js version (use command below): 3.3.0 (I have also used the lastest before, but from recent researches about my bug someone made it worked with 3.3.0 but I haven't when I tried)
    • Browser version: Firefox 108.0.1 (64-bit)
    • Tensorflow.js Converter Version: 3.3.0? same as TensorflowJS?

    Describe the current behavior I am a beginner in Machine Learning, I am currently doing this for my thesis application. I am trying to integrate MobilenetV3 with React-Native Expo. I trained my mobilenetv3 following this tutorial: https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/tensorflow-1.14/training.html inserting mobilenetv3 into the pipeline.config and adjusting steps and batches.

    After succesfully training and exporting (from the tutorial), I then converted the exported files using tensorflowjs and tensorflowjs_converter. I followed the tutorial from: https://www.tensorflow.org/js/tutorials/conversion/import_saved_model I have even tried both tf_frozen_model and tf_saved_model as input, and specified output_node_names. I have successfully converted on both types. I also successfully loaded (as far as I can understand) it when running in the mobile application. The problem is after putting an image in the loaded model it displays this error [Error: Operands could not be broadcast together with shapes 285 and 285,39.] I will be providing here the code of my Camera.js and Model.js CODES.zip

    Describe the expected behavior The output should be properly predicted without error if im not mistaken in following tutorials and documentations.

    Standalone code to reproduce the issue See uploaded files

    Other info / logs Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

    type:bug 
    opened by maxnuggets 1
  • Boolean OR, AND, XOR, BitCount: Reduction operators over integers

    Boolean OR, AND, XOR, BitCount: Reduction operators over integers

    Please make sure that this is a feature request. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:feature_template

    System information

    • TensorFlow.js version (you are using): 4.1.0
    • Are you willing to contribute it (Yes/No): Would be glad to but do not have the expertise

    Describe the feature and the current behavior/state. Kindly add boolean AND, OR, XOR , bitCount as reduction operators over integer typed tensors.

    For example, for a 2-dimensional matrix, column-wise boolean AND/OR/XOR reduction should result in a 1-dimensional tensor etc. Similarly row-wise etc.

    Will this change the current api? How? New reduction operators may need to be added in addition to the existing sum, prod etc. operators.

    These below new reduction operators may have to be added for the integer dType:

    • boolean reduction operators: AND, OR, XOR
    • bitCount reduction operator that returns the total number of bits that are 1 in the given axis

    Who will benefit with this feature?

    • Boolean operators enable bit-packing, which will vastly reduce the memory requirement in boolean matrix manipulation senarios. For example, boolean matrix multiplication currently forces us to use "int32" dType, (the bool type is mostly restricted to just logical operators currently it seems). Enabling boolean reduction operators allows extending the boolean operations further into arithmetic, than just logical.

    Any Other info.

    type:feature 
    opened by KrishnaPG 5
  • [webgpu] Let vectorized binary op return an overridable value on NaN

    [webgpu] Let vectorized binary op return an overridable value on NaN

    This is like

    2c95a67 [webgpu] Further tweak vectorized NaN handling in binary ops

    but for valueForNaN.

    To see the logs from the Cloud Build CI, please join either our discussion or announcement mailing list.


    This change is Reviewable

    opened by hujiajie 0
Releases(tfjs-v4.1.0)
  • tfjs-v4.1.0(Nov 21, 2022)

    Core (4.0.0 ==> 4.1.0)

    Bug fixes

    • [ops ] guard shape for decimal and negative values (#7014).

    Misc

    • Update monorepo to 4.1.0. (#7058).
    • Move flag ENGINE_COMPILE_ONLY (#7019). Thanks, @Linchenn.
    • Make Tensor explicitly implement TensorInfo (#7007).
    • Turn on the noImplicitOverride tsconfig option (#7009).
    • Cleanup and standardize package.json scripts of Bazel packages (#7005).
    • Use a template literal type for kernel registry key (#6976).
    • [wasm] Fix AvgPool and MaxPool for 1x1 kernels (#6969).

    Data (4.0.0 ==> 4.1.0)

    Misc

    • Update monorepo to 4.1.0. (#7058).
    • Turn on the noImplicitOverride tsconfig option (#7009).
    • Cleanup and standardize package.json scripts of Bazel packages (#7005).

    Layers (4.0.0 ==> 4.1.0)

    Misc

    • Update monorepo to 4.1.0. (#7058).
    • Turn on the noImplicitOverride tsconfig option (#7009).
    • Cleanup and standardize package.json scripts of Bazel packages (#7005).
    • cleanup conv class definitions (#6947). Thanks, @vladmandic.
    • Move fitLoop and fitTensors into the LayersModel class (#6859).
    • Fix incorrect import path in center crop layer (#6946).
    • CenterCrop Layer (#6875). Thanks, @AdamLang96.

    Converter (4.0.0 ==> 4.1.0)

    Misc

    • Update lockfiles branch tfjs_4.1.0_lockfiles lock files. (#7068).
    • Update monorepo to 4.1.0. (#7058).
    • Support dump with graphmodel.execute (#6953). Thanks, @axinging.
    • Cleanup and standardize package.json scripts of Bazel packages (#7005).
    • Implement InitializeTableV2 (#6985).
    • Add support for RaggedGather/Range/TensorToTensor conversion (#6968).
    • Add null check for signature inputs outputs (#6978).
    • Add predictAsync function to support async structured outputs (#6975).
    • Use assertIn instead of assertTrue in python tests (#6958).

    Node (4.0.0 ==> 4.1.0)

    Misc

    • Update lockfiles branch tfjs_4.1.0_lockfiles lock files. (#7068).
    • Update monorepo to 4.1.0. (#7058).

    Wasm (4.0.0 ==> 4.1.0)

    Misc

    • Update lockfiles branch tfjs_4.1.0_lockfiles lock files. (#7068).
    • Update monorepo to 4.1.0. (#7058).
    • Bump loader-utils in /tfjs-backend-wasm/starter/webpack (#7052). Thanks, @dependabot[bot].
    • Bump loader-utils in /tfjs-backend-wasm/starter/webpack (#7023). Thanks, @dependabot[bot].
    • Turn on the noImplicitOverride tsconfig option (#7009).
    • Cleanup and standardize package.json scripts of Bazel packages (#7005).
    • implement isNaN for wasm (#6998).
    • added reciprocal op support for wasm (#6992).
    • [wasm] Fix AvgPool and MaxPool for 1x1 kernels (#6969).

    Cpu (4.0.0 ==> 4.1.0)

    Misc

    • Update monorepo to 4.1.0. (#7058).
    • Turn on the noImplicitOverride tsconfig option (#7009).
    • Cleanup and standardize package.json scripts of Bazel packages (#7005).

    Webgl (4.0.0 ==> 4.1.0)

    Bug fixes

    • Use VAOs for save+restore of vertexAttribPointer state between different webgl programs. (#6913). Thanks, @kdashg.
    • fix (#6930). Thanks, @Linchenn.

    Misc

    • Update lockfiles branch tfjs_4.1.0_lockfiles lock files. (#7068).
    • Update monorepo to 4.1.0. (#7058).
    • [webgl] Donot release tensor texture at reading (#6932). Thanks, @axinging.
    • Remove @types/webgl2 since they are included in lib/dom (#7038).
    • Move flag ENGINE_COMPILE_ONLY (#7019). Thanks, @Linchenn.
    • Turn on the noImplicitOverride tsconfig option (#7009).
    • Cleanup and standardize package.json scripts of Bazel packages (#7005).
    Source code(tar.gz)
    Source code(zip)
  • tfjs-v4.0.0(Oct 13, 2022)

    This release upgrades TypeScript to 4.8.4 and @webgpu/types to 0.1.21. If you don't use TypeScript, you can update to 4.0 without reading this.

    Breaking changes

    This release is breaking for projects that use typescript<4.4. All other projects should be unaffected.

    Read our guide to upgrading to 4.0 here.

    Core (3.21.0 ==> 4.0.0)

    Features

    • [WebGL] Texture to tensor API (#6853). Thanks, @Linchenn.

    Bug fixes

    • #6922 [Fix setTimeoutCustom in worker thread] (#6923). Thanks, @gyagp.

    Misc

    • Update monorepo to 4.0.0. (#6929).
    • Upgrade tfjs repo to 4.0.0 (#6927).
    • Add kernel RaggedRange for CPU and WebGL backend (#6871).
    • Upstream google3 changes (#6912).
    • Add resource initializer support (#6904).

    Data (3.21.0 ==> 4.0.0)

    Misc

    • Update monorepo to 4.0.0. (#6929).
    • Upgrade tfjs repo to 4.0.0 (#6927).

    Layers (3.21.0 ==> 4.0.0)

    Misc

    • Update monorepo to 4.0.0. (#6929).
    • Upgrade tfjs repo to 4.0.0 (#6927).
    • Resizing Layer (#6879). Thanks, @koyykdy.
    • [layers] Consolidate loadLayersModel and loadLayersModelInternal (#6874).
    • Category Encoding Layer (#6855). Thanks, @AdamLang96.

    Converter (3.21.0 ==> 4.0.0)

    Misc

    • Update lockfiles branch tfjs_4.0.0_lockfiles lock files. (#6935).
    • Update monorepo to 4.0.0. (#6929).
    • Upgrade tfjs repo to 4.0.0 (#6927).
    • Add asset zipping functionality to TFJS converter (#6915).
    • Add resource initializer support (#6904).

    Node (3.21.0 ==> 4.0.0)

    Misc

    • Update lockfiles branch tfjs_4.0.0_lockfiles lock files. (#6935).
    • Update monorepo to 4.0.0. (#6929).
    • Upgrade tfjs repo to 4.0.0 (#6927).
    • Build tfjs-node node addon with the release docker (#6925).
    • Add kernel RaggedRange for CPU and WebGL backend (#6871).

    Wasm (3.21.0 ==> 4.0.0)

    Misc

    • Update lockfiles branch tfjs_4.0.0_lockfiles lock files. (#6935).
    • Update monorepo to 4.0.0. (#6929).
    • Add resource initializer support (#6904).

    Cpu (3.21.0 ==> 4.0.0)

    Misc

    • Update monorepo to 4.0.0. (#6929).
    • Add kernel RaggedRange for CPU and WebGL backend (#6871).

    Webgl (3.21.0 ==> 4.0.0)

    Features

    • [WebGL] Texture to tensor API (#6853). Thanks, @Linchenn.

    Misc

    • Update lockfiles branch tfjs_4.0.0_lockfiles lock files. (#6935).
    • Update monorepo to 4.0.0. (#6929).
    • Upgrade tfjs repo to 4.0.0 (#6927).
    • Add kernel RaggedRange for CPU and WebGL backend (#6871).
    Source code(tar.gz)
    Source code(zip)
  • tfjs-v3.21.0(Oct 6, 2022)

    Core (3.20.0 ==> 3.21.0)

    Bug fixes

    • : #6687 [Customize setTimeout] (#6694). Thanks, @gyagp.
    • Fix TFJS TF dissrepancy in concat errors (#6824).

    Documentation

    • fix(docs): wrong selu definition (#5489). Thanks, @raffizulvian.

    Misc

    • Update monorepo to 3.21.0. (#6905).
    • Revert "Add resource initializer support " (#6900) (#6826).
    • [e2e] Fix incorrect reference to link-package (#6895).
    • Add resource initializer support (#6826).
    • Support loading models from ModelArtifacts and ModelJSON in loadGraphModelSync (#6847).
    • Update jasmine_util.ts (#6872). Thanks, @Linchenn.
    • webgpu: Expand DepthwiseConv2DVec4Program to support any stride (#6820). Thanks, @qjia7.
    • Fix clamp bug when min = max (#6825).
    • Add kernel RaggedGather for CPU and WebGL backend (#6765).
    • Fix mistakes (#6793). Thanks, @ivan-pan.

    Data (3.20.0 ==> 3.21.0)

    Misc

    • Update monorepo to 3.21.0. (#6905).
    • Fix mistakes (#6793). Thanks, @ivan-pan.

    Layers (3.20.0 ==> 3.21.0)

    Misc

    • Update monorepo to 3.21.0. (#6905).
    • Use a predetermined seed for tfjs-layers tests (#6878).
    • Avoid testing webgl1 in webgl2 layers test (#6849).
    • Rescaling Preprocessing Layer (#6840). Thanks, @AdamLang96.
    • Fix mistakes (#6793). Thanks, @ivan-pan.

    Converter (3.20.0 ==> 3.21.0)

    Misc

    • Update lockfiles branch tfjs_3.21.0_lockfiles lock files. (#6906).
    • Update monorepo to 3.21.0. (#6905).
    • Revert "Add resource initializer support " (#6900) (#6826).
    • Add resource initializer support (#6826).
    • Support loading models from ModelArtifacts and ModelJSON in loadGraphModelSync (#6847).
    • fixed prelu fusing code that pre-maturely neg the const on multiply (#6876).
    • Upgrade nodejs to 18.7.0 (#6863).
    • Fix kernels_to_ops generating in the wrong location (#6823).
    • Fix mistakes (#6793). Thanks, @ivan-pan.
    • adding missing license header (#6792).

    Node (3.20.0 ==> 3.21.0)

    Misc

    • Update lockfiles branch tfjs_3.21.0_lockfiles lock files. (#6906).
    • Update monorepo to 3.21.0. (#6905).
    • [e2e] Fix incorrect reference to link-package (#6895).
    • Run Verdaccio tests in nightly (#6660).
    • Add kernel RaggedGather for CPU and WebGL backend (#6765).
    • [tfjs-node]: upgrade TF to 2.9.1 (#6786). Thanks, @rthadur.

    Wasm (3.20.0 ==> 3.21.0)

    Bug fixes

    • Fix TFJS TF dissrepancy in concat errors (#6824).

    Misc

    • Update lockfiles branch tfjs_3.21.0_lockfiles lock files. (#6906).
    • Update monorepo to 3.21.0. (#6905).
    • [e2e] Fix incorrect reference to link-package (#6895).
    • add exception handling to wasm feature detection (#6753). Thanks, @vladmandic.

    Cpu (3.20.0 ==> 3.21.0)

    Bug fixes

    • Fix TFJS TF dissrepancy in concat errors (#6824).

    Misc

    • Update monorepo to 3.21.0. (#6905).
    • Add kernel RaggedGather for CPU and WebGL backend (#6765).

    Webgl (3.20.0 ==> 3.21.0)

    Features

    • [WebGL backend] Add max 1D texture dimension flag (#6808). Thanks, @Linchenn.

    Bug fixes

    • : #6687 [Customize setTimeout] (#6694). Thanks, @gyagp.
    • Fix TFJS TF dissrepancy in concat errors (#6824).

    Misc

    • Update lockfiles branch tfjs_3.21.0_lockfiles lock files. (#6906).
    • Update monorepo to 3.21.0. (#6905).
    • webgl: Fix NaN issue (#6828). Thanks, @qjia7.
    • Fix gatherND for 5D inputs (#6832). Thanks, @Linchenn.
    • Add kernel RaggedGather for CPU and WebGL backend (#6765).
    • shape uniform (#6809). Thanks, @Linchenn.
    Source code(tar.gz)
    Source code(zip)
  • tfjs-tflite-v0.0.1-alpha.9(Oct 3, 2022)

  • tfjs-v3.20.0(Aug 24, 2022)

    What's Changed

    • [Jasmine] Add expectation to tests in jasmine test framework by @haoyunfeix in https://github.com/tensorflow/tfjs/pull/6656
    • Set willReadFrequently to true for GPU correctness test by @gyagp in https://github.com/tensorflow/tfjs/pull/6665
    • [WebGL] Implement packed NHWC Conv2d by @Linchenn in https://github.com/tensorflow/tfjs/pull/6639
    • [WebGL] Fix NHWC packed depthwise conv2d for dilation=3 by @Linchenn in https://github.com/tensorflow/tfjs/pull/6662
    • webgpu: dont use mod as it is a reserved keyword by @crowlKats in https://github.com/tensorflow/tfjs/pull/6667
    • [converter] updated the dev readme for converter to cover python tests by @pyu10055 in https://github.com/tensorflow/tfjs/pull/6675
    • [core] Fix undefined expect in test_util by @haoyunfeix in https://github.com/tensorflow/tfjs/pull/6671
    • [WebGL] Fix the test for Depthwise with dilation=3 by @Linchenn in https://github.com/tensorflow/tfjs/pull/6679
    • webgpu: fix notEqual error by @xhcao in https://github.com/tensorflow/tfjs/pull/6669
    • [local-benchmark tool] Enable populate modelUrl and input shapes via URL by @Linchenn in https://github.com/tensorflow/tfjs/pull/6680
    • Add iOS and Android to WebGL presubmit tests by @mattsoulanille in https://github.com/tensorflow/tfjs/pull/6681
    • [webgpu] Remove extra device stuff passing to the constructor by @haoyunfeix in https://github.com/tensorflow/tfjs/pull/6689
    • Fix browserstack-benchmark tool by @Linchenn in https://github.com/tensorflow/tfjs/pull/6703
    • [webgpu] Set WEBGPU_IMPORT_EXTERNAL_TEXTURE to true by default by @axinging in https://github.com/tensorflow/tfjs/pull/6706
    • [webgpu] Fix alignment missing for 5D and 6D by @haoyunfeix in https://github.com/tensorflow/tfjs/pull/6701
    • [browserstack benchmark tool] Enable customizing local builds by @Linchenn in https://github.com/tensorflow/tfjs/pull/6705
    • Use the firebase-admin package instead of firebase to push benchmark results by @mattsoulanille in https://github.com/tensorflow/tfjs/pull/6711
    • [browserstack benchmark tool] Enable code snippet benchmark by @Linchenn in https://github.com/tensorflow/tfjs/pull/6704
    • [browserstack benchmark tool] Update browser list with new devices by @Linchenn in https://github.com/tensorflow/tfjs/pull/6713
    • Make link-package's build-deps-for script check transitive deps by @mattsoulanille in https://github.com/tensorflow/tfjs/pull/6712
    • Add structured outputs support to tfjs-inference by @ahmedsabie in https://github.com/tensorflow/tfjs/pull/6696
    • [browserstack benchmark tool] fix build script by @Linchenn in https://github.com/tensorflow/tfjs/pull/6716
    • Run the next BrowserStack benchmark immediately instead of in batches by @mattsoulanille in https://github.com/tensorflow/tfjs/pull/6717
    • Add kernel RaggedTensorToTensor for CPU and WebGL backend by @ahmedsabie in https://github.com/tensorflow/tfjs/pull/6686
    • Fix tf.image.transform on CPU and WASM by @andrusza2 in https://github.com/tensorflow/tfjs/pull/6658
    • [automl] Use the same karma timeout settings as Bazel by @mattsoulanille in https://github.com/tensorflow/tfjs/pull/6719
    • De-flake fromPixels test failure by @hujiajie in https://github.com/tensorflow/tfjs/pull/6626
    • [tfjs-converter] Revert "fix protobuf version to 3.20.0 (#6612)" by @pyu10055 in https://github.com/tensorflow/tfjs/pull/6721
    • [browserstack benchmark tool] End firebase instance only if it exists by @Linchenn in https://github.com/tensorflow/tfjs/pull/6727
    • Setup optimization target deices/browsers by @Linchenn in https://github.com/tensorflow/tfjs/pull/6722
    • Remove fromPixelsAsync test cases by @gyagp in https://github.com/tensorflow/tfjs/pull/6723
    • webgpu: Skip raggedTensorToTensor test cases by @gyagp in https://github.com/tensorflow/tfjs/pull/6732
    • webgpu: export webgpu utilities by @xhcao in https://github.com/tensorflow/tfjs/pull/6707
    • [benchmark tools] Update mobilenet models by @Linchenn in https://github.com/tensorflow/tfjs/pull/6729
    • [benchmark tools] Update model lists for benchmarking by @Linchenn in https://github.com/tensorflow/tfjs/pull/6730
    • [tfjs-converter] fixed protobuf version mismatch error on cloudbuild by @pyu10055 in https://github.com/tensorflow/tfjs/pull/6737
    • [local benchmark tool] Add convertedBy filed by @Linchenn in https://github.com/tensorflow/tfjs/pull/6745
    • Add use_structured_outputs flag to README by @ahmedsabie in https://github.com/tensorflow/tfjs/pull/6739
    • [browserstack benchmark tool] Add a html to present benchmark results by @Linchenn in https://github.com/tensorflow/tfjs/pull/6740
    • [browserstack benchmark tool] Move CodeSnippet from backend to frontend by @Linchenn in https://github.com/tensorflow/tfjs/pull/6738
    • webgpu: Merge MatMulPackedProgram and MatMulPackedVec4Program by @qjia7 in https://github.com/tensorflow/tfjs/pull/6688
    • [browserstack benchmark tool] batch benchmark code snippet by @Linchenn in https://github.com/tensorflow/tfjs/pull/6742
    • [webgpu] Add Atan2, IsNaN, Reciprocal by @axinging in https://github.com/tensorflow/tfjs/pull/6743
    • [tfjs-converter] remove kept flag after tensor is replaced or popped from the tensor list by @pyu10055 in https://github.com/tensorflow/tfjs/pull/6759
    • Strengthen frame readiness while testing fromPixels with video element by @hujiajie in https://github.com/tensorflow/tfjs/pull/6751
    • webgpu: enlarge the splitted dimInner size by @qjia7 in https://github.com/tensorflow/tfjs/pull/6755
    • [webgpu] s/ScatterOptimizedProgram/ScatterProgram/g by @hujiajie in https://github.com/tensorflow/tfjs/pull/6761
    • Adds JAX-->TFjs converter by @marcvanzee in https://github.com/tensorflow/tfjs/pull/6744
    • [browserstack benchmark tool] Use stream to write to outfile by @Linchenn in https://github.com/tensorflow/tfjs/pull/6750
    • [tfjs-converter ]include jax_conversion target to fix nightly test by @pyu10055 in https://github.com/tensorflow/tfjs/pull/6767
    • [WebGL backend] Add a flag to enable Software WebGL by @Linchenn in https://github.com/tensorflow/tfjs/pull/6772
    • [webgpu] Tweak WGSL entry point emission so '{' isn't visually swallowed by @hujiajie in https://github.com/tensorflow/tfjs/pull/6764
    • Add cpu forward for Cast by @qjia7 in https://github.com/tensorflow/tfjs/pull/6760
    • webgpu: Optimize AvgPool when filter size = input size by @qjia7 in https://github.com/tensorflow/tfjs/pull/6762
    • [op] allow dtype secification for onehot op by @pyu10055 in https://github.com/tensorflow/tfjs/pull/6781
    • webgpu: Add non-shared argminmax program by @qjia7 in https://github.com/tensorflow/tfjs/pull/6778
    • [converter] added dtype support for oneHot for converter by @pyu10055 in https://github.com/tensorflow/tfjs/pull/6782
    • Update monorepo to 3.20.0. by @pyu10055 in https://github.com/tensorflow/tfjs/pull/6788
    • Update lockfiles branch tfjs_3.20.0_lockfiles lock files. by @pyu10055 in https://github.com/tensorflow/tfjs/pull/6789

    New Contributors

    • @andrusza2 made their first contribution in https://github.com/tensorflow/tfjs/pull/6658
    • @marcvanzee made their first contribution in https://github.com/tensorflow/tfjs/pull/6744

    Full Changelog: https://github.com/tensorflow/tfjs/compare/tfjs-v3.19.0...tfjs-v3.20.0

    Source code(tar.gz)
    Source code(zip)
  • tfjs-v3.19.0(Jul 22, 2022)

    Core (3.18.0 ==> 3.19.0)

    Performance

    • Enable WebGL's conv2dWithIm2Row to process multiple batches (#6442). Thanks, @Linchenn.

    Misc

    • Update lockfiles branch tfjs_3.19.0_lockfiles lock files. (#6666).
    • Update monorepo to 3.19.0. (#6659).
    • Pin webgpu types to an exact version (#6640).
    • Remove unused files (#6586).
    • Add string support to squeeze type (#6617).
    • [webgpu] Support convTranspose vec4 (#6603). Thanks, @axinging.
    • Fix iOS and macOS Safari CI Failures (#6608).
    • [core] Remove accidental console.log (#6587).
    • Update Jasmine from 3.1.0 to 4.2.1 (#6520).
    • Add an experimental remote build execution config based on Angular's (#6576).
    • Convert CRLF to LF (#6574).
    • Bump seedrandom to avoid unsafe-eval issues (#6440). Thanks, @s-mustafa.
    • Upgrade @bazel/bazelisk and @bazel/ibazel (#6565).
    • Add a Bazel test_suite to organize tests (#6550).
    • Add randomStandardNormal op (#6533). Thanks, @kinsei0916.
    • [wasm] Build tfjs-backend-wasm entirely with Bazel (#6458).
    • webgpu: Support depthwise conv2d with nchw format (#6084). Thanks, @qjia7.
    • Fix kernel_registry test flakiness for async backend (#6461). Thanks, @hujiajie.
    • Set willReadFrequently to true (#6513). Thanks, @axinging.
    • [core]Fix compilation error. (#6516).
    • Fixed nightly failures (#6488).
    • Add hint willReadFrequently for canvas (#6445). Thanks, @axinging.
    • Use a more simple type construction for IOHandlerSync (#6481).
    • wasm backend add LogicalNot, LogicalOr, LogicalXor (#6431). Thanks, @homfen.
    • [converter] Fix fusedMatMul bug. (#6455).
    • Remove unneeded devDependencies from packages that build with Bazel (#6452).
    • [secu] update package.json files to resolve security alerts (#6448).

    Data (3.18.0 ==> 3.19.0)

    Misc

    • Update monorepo to 3.19.0. (#6659).
    • Bump terser from 5.12.1 to 5.14.2 in /tfjs-data/demo/boston-housing (#6648). Thanks, @dependabot[bot].
    • Remove unused files (#6586).
    • Update Jasmine from 3.1.0 to 4.2.1 (#6520).
    • Bump seedrandom to avoid unsafe-eval issues (#6440). Thanks, @s-mustafa.
    • Upgrade @bazel/bazelisk and @bazel/ibazel (#6565).
    • Add a Bazel test_suite to organize tests (#6550).
    • Add string_decoder to tfjs-data (#6538).
    • [tfjs-data] Fix test files list missing setup_tests.ts (#6482).
    • Remove unneeded devDependencies from packages that build with Bazel (#6452).
    • [secu] update package.json files to resolve security alerts (#6448).

    Layers (3.18.0 ==> 3.19.0)

    Misc

    • Update monorepo to 3.19.0. (#6659).
    • Remove unused files (#6586).
    • Fix iOS and macOS Safari CI Failures (#6608).
    • Update Jasmine from 3.1.0 to 4.2.1 (#6520).
    • Convert CRLF to LF (#6574).
    • Upgrade @bazel/bazelisk and @bazel/ibazel (#6565).
    • Add a Bazel test_suite to organize tests (#6550).
    • Remove unneeded devDependencies from packages that build with Bazel (#6452).
    • [secu] update package.json files to resolve security alerts (#6448).

    Converter (3.18.0 ==> 3.19.0)

    Bug fixes

    • remove python2_wheel target (#6597).
    • Add '--bazel_patch_module_resolver' to 'tfjs-converter_test' (#6593).

    Misc

    • Update lockfiles branch tfjs_3.19.0_lockfiles lock files. (#6666).
    • Update monorepo to 3.19.0. (#6659).
    • Bump terser from 5.12.1 to 5.14.2 in /tfjs-converter/demo (#6642). Thanks, @dependabot[bot].
    • Some numpy type usages are deprecated (#6625). Thanks, @rthadur.
    • Add structured_outputs support in TFJS converter (#6559).
    • fix protobuf version to 3.20.0 (#6612).
    • Update Jasmine from 3.1.0 to 4.2.1 (#6520).
    • Add an experimental remote build execution config based on Angular's (#6576).
    • [converter] Remove unused files (#6583).
    • Remove python2 from tfjs-converter (#6575).
    • [converter] Avoid spying on properties of the 'tfOps' module (#6563).
    • Upgrade @bazel/bazelisk and @bazel/ibazel (#6565).
    • Add a Bazel test_suite to organize tests (#6550).
    • Add randomStandardNormal op (#6533). Thanks, @kinsei0916.
    • fix tensorlist reserve op (#6523).
    • Bump protobufjs from 6.8.9 to 6.11.3 in /tfjs-converter (#6489). Thanks, @dependabot[bot].
    • [converter] allow python converter to store intermediate frozen graph (#6456).
    • [converter] Fix fusedMatMul bug. (#6455).
    • Remove unneeded devDependencies from packages that build with Bazel (#6452).
    • [secu] update package.json files to resolve security alerts (#6448).

    Node (3.18.0 ==> 3.19.0)

    Documentation

    • add doc for tfjs-node on mac with m1 (#6630).

    Misc

    • Update lockfiles branch tfjs_3.19.0_lockfiles lock files. (#6666).
    • Update monorepo to 3.19.0. (#6659).
    • [webgpu] Support convTranspose vec4 (#6603). Thanks, @axinging.
    • Update Jasmine from 3.1.0 to 4.2.1 (#6520).
    • Support Linux arm64 in tfjs-node (#6564).
    • [wasm] Build tfjs-backend-wasm entirely with Bazel (#6458).
    • [node] Add broadcasting support for BatchMatMul (#6477). Thanks, @Linchenn.
    • [secu] update package.json files to resolve security alerts (#6448).

    Wasm (3.18.0 ==> 3.19.0)

    Misc

    • Update lockfiles branch tfjs_3.19.0_lockfiles lock files. (#6666).
    • Update monorepo to 3.19.0. (#6659).
    • Bump terser from 5.12.1 to 5.14.2 in /tfjs-backend-wasm/starter/webpack (#6652). Thanks, @dependabot[bot].
    • Bump terser from 5.12.1 to 5.14.2 in /tfjs-backend-wasm/starter/parcel (#6643). Thanks, @dependabot[bot].
    • [wasm] Add Object.fromEntries polyfill to tests to fix Safari 11 (#6621).
    • Forward String op WASM implementations to CPU (#5715).
    • [wasm] Increase beforeAll timeout that loads wasm files (#6618).
    • [wasm] Cache wasm files when running Karma tests (#6613).
    • Fix iOS and macOS Safari CI Failures (#6608).
    • [wasm] Remove unused test (#6588).
    • Update Jasmine from 3.1.0 to 4.2.1 (#6520).
    • Convert CRLF to LF (#6574).
    • [wasm] Add missing '#include' statements and fix type mismatches (#6573).
    • [wasm] Adds ResizeNearestNeighbor to wasm kernel (#6524). Thanks, @hartmannr76.
    • Upgrade @bazel/bazelisk and @bazel/ibazel (#6565).
    • Add a Bazel test_suite to organize tests (#6550).
    • [wasm] Make Bazel aware of pre.js and post.js input files (#6535).
    • [wasm] Build tfjs-backend-wasm entirely with Bazel (#6458).
    • wasm backend add LogicalNot, LogicalOr, LogicalXor (#6431). Thanks, @homfen.
    • [secu] update package.json files to resolve security alerts (#6448).

    Cpu (3.18.0 ==> 3.19.0)

    Misc

    • Update monorepo to 3.19.0. (#6659).
    • Remove unused files (#6586).
    • Bump seedrandom to avoid unsafe-eval issues (#6440). Thanks, @s-mustafa.
    • Upgrade @bazel/bazelisk and @bazel/ibazel (#6565).
    • Add a Bazel test_suite to organize tests (#6550).
    • [wasm] Build tfjs-backend-wasm entirely with Bazel (#6458).
    • Remove unneeded devDependencies from packages that build with Bazel (#6452).
    • [secu] update package.json files to resolve security alerts (#6448).

    Webgl (3.18.0 ==> 3.19.0)

    Bug fixes

    • gatherND range check (#6464). Thanks, @hrbigelow.

    Performance

    • Enable WebGL's conv2dWithIm2Row to process multiple batches (#6442). Thanks, @Linchenn.
    • Compute WebGL conv2d's NCHW output without transposing to NHWC (#6453). Thanks, @Linchenn.

    Misc

    • Update lockfiles branch tfjs_3.19.0_lockfiles lock files. (#6666).
    • Update monorepo to 3.19.0. (#6659).
    • Remove unused files (#6586).
    • Fix iOS and macOS Safari CI Failures (#6608).
    • Update Jasmine from 3.1.0 to 4.2.1 (#6520).
    • [webgpu] Fix storage buffer exceed error in Concat operator (#6532). Thanks, @haoyunfeix.
    • Bump seedrandom to avoid unsafe-eval issues (#6440). Thanks, @s-mustafa.
    • Upgrade @bazel/bazelisk and @bazel/ibazel (#6565).
    • Add a Bazel test_suite to organize tests (#6550).
    • Update rules_nodejs to 5.5.0 (#6519).
    • Fixed nightly failures (#6488).
    • Remove unneeded devDependencies from packages that build with Bazel (#6452).
    • [secu] update package.json files to resolve security alerts (#6448).
    Source code(tar.gz)
    Source code(zip)
  • tfjs-v3.18.0(May 23, 2022)

    Core (3.17.0 ==> 3.18.0)

    Features

    • Support NCHW dataFormat for fusedConv2d (Core) (#6373). Thanks, @Linchenn.

    Bug fixes

    • Fix CPU fusedConv2d (activation) for NCHW format (#6400). Thanks, @Linchenn.

    Misc

    • Update monorepo to 3.18.0. (#6433).
    • [core] Restore makeTensorFromDataId (#6432).
    • Implement transpose for complex64 type (#6410). Thanks, @DCtheTall.
    • Implement loadGraphModelSync (#6428).
    • Fix WebGL fusedConv2d's bias and PReLU computation (the third/BF branch) (#6423). Thanks, @Linchenn.
    • [core] Add a synchronous I/O handler (#6417).
    • webgpu: remove custom size parameter of dataToGPU (#6393). Thanks, @xhcao.

    Data (3.17.0 ==> 3.18.0)

    Misc

    • Update lockfiles branch tfjs_3.18.0_lockfiles lock files. (#6434).
    • Update monorepo to 3.18.0. (#6433).

    Layers (3.17.0 ==> 3.18.0)

    Misc

    • Update lockfiles branch tfjs_3.18.0_lockfiles lock files. (#6434).
    • Update monorepo to 3.18.0. (#6433).

    Converter (3.17.0 ==> 3.18.0)

    Misc

    • Update lockfiles branch tfjs_3.18.0_lockfiles lock files. (#6434).
    • Update monorepo to 3.18.0. (#6433).
    • Implement loadGraphModelSync (#6428).
    • [converter] Add missing cpu dependency to test_snippets (#6416).

    Node (3.17.0 ==> 3.18.0)

    Features

    • Support NCHW dataFormat for fusedConv2d (Core) (#6373). Thanks, @Linchenn.

    Bug fixes

    • disable new tests (#6425). Thanks, @Linchenn.

    Misc

    • Update lockfiles branch tfjs_3.18.0_lockfiles lock files. (#6434).
    • Update monorepo to 3.18.0. (#6433).

    Wasm (3.17.0 ==> 3.18.0)

    Misc

    • Update lockfiles branch tfjs_3.18.0_lockfiles lock files. (#6434).
    • Update monorepo to 3.18.0. (#6433).
    • Implement transpose for complex64 type (#6410). Thanks, @DCtheTall.

    Cpu (3.17.0 ==> 3.18.0)

    Bug fixes

    • Fix CPU fusedConv2d (activation) for NCHW format (#6400). Thanks, @Linchenn.

    Misc

    • Update lockfiles branch tfjs_3.18.0_lockfiles lock files. (#6434).
    • Update monorepo to 3.18.0. (#6433).

    Webgl (3.17.0 ==> 3.18.0)

    Features

    • Support NCHW dataFormat for fusedConv2d (Core) (#6373). Thanks, @Linchenn.

    Bug fixes

    • Fix CPU fusedConv2d (activation) for NCHW format (#6400). Thanks, @Linchenn.

    Misc

    • Update lockfiles branch tfjs_3.18.0_lockfiles lock files. (#6434).
    • Update monorepo to 3.18.0. (#6433).
    • Use parameter properties and avoid implicit construction (#6421).
    • Fix WebGL fusedConv2d's bias and PReLU computation (the third/BF branch) (#6423). Thanks, @Linchenn.
    Source code(tar.gz)
    Source code(zip)
  • tfjs-v3.17.0(May 16, 2022)

    Core (3.16.0 ==> 3.17.0)

    Features

    • Add LowerBound and UpperBound kernels (#6356).

    Bug fixes

    • Fix CPU fusedConv2d (bias add) for NCHW format (#6379). Thanks, @Linchenn.
    • Fix WebGL Conv2d for NCHW format (#6340). Thanks, @Linchenn.
    • : #6284 [webgpu: support NCHW dataFormat for conv2d] (#6293). Thanks, @qjia7.

    Misc

    • Update monorepo to 3.17.0. (#6405).
    • Add string support for SparseToDense (#6397).
    • Improve link_package speed (#6376).
    • Add euclideanNorm op. (#6366).
    • Fix tfjs-core .d.ts files missing webgpu refrence types (#6386).
    • webgpu: support dataToGPU api (#6329). Thanks, @xhcao.
    • Fix WebGL-conv2dByMatMul for NCHW with multiple batches (#6369). Thanks, @Linchenn.
    • Change makeTensorFromTensorId to makeTensorFromTensorInfo (#6355). Thanks, @qjia7.
    • Add Kernel SearchSorted for CPU and WebGL backend (#6349).

    Data (3.16.0 ==> 3.17.0)

    Misc

    • Update lockfiles branch tfjs_3.17.0_lockfiles lock files. (#6415).
    • Update monorepo to 3.17.0. (#6405).

    Layers (3.16.0 ==> 3.17.0)

    Bug fixes

    • check for null before incorporating scale and offset (#6383).
    • Serialize UpSampling2D 'interpolation' option (#6360). Thanks, @debagger.

    Performance

    Misc

    • Update lockfiles branch tfjs_3.17.0_lockfiles lock files. (#6415).
    • Update monorepo to 3.17.0. (#6405).
    • Improve link_package speed (#6376).

    Converter (3.16.0 ==> 3.17.0)

    Features

    • Add tensorListConcatV2 support. (#6351).

    Misc

    • Update lockfiles branch tfjs_3.17.0_lockfiles lock files. (#6415).
    • Update monorepo to 3.17.0. (#6405).
    • Upgrade rules_nodejs to 5.4.2 (#6404).
    • Improve link_package speed (#6376).
    • Add euclideanNorm op. (#6366).
    • Add support for LowerBound and UpperBound conversion (#6364).

    Node (3.16.0 ==> 3.17.0)

    Misc

    • Update lockfiles branch tfjs_3.17.0_lockfiles lock files. (#6415).
    • Update monorepo to 3.17.0. (#6405).
    • Improve link_package speed (#6376).
    • [node] Fix memory leak from string tensors (#6371).
    • [node] Use makeTensorFromTensorInfo instead of makeTensorFromId (#6361).
    • Add Kernel SearchSorted for CPU and WebGL backend (#6349).

    Wasm (3.16.0 ==> 3.17.0)

    Security

    • Bump async from 2.6.3 to 2.6.4 in /tfjs-backend-wasm/starter/webpack (#6343). Thanks, @dependabot[bot].

    Misc

    • Update lockfiles branch tfjs_3.17.0_lockfiles lock files. (#6415).
    • Update monorepo to 3.17.0. (#6405).
    • Improve link_package speed (#6376).

    Cpu (3.16.0 ==> 3.17.0)

    Bug fixes

    • Fix CPU fusedConv2d (bias add) for NCHW format (#6379). Thanks, @Linchenn.

    Documentation

    • Shorten warn message (#6389). Thanks, @rthadur.

    Misc

    • Update lockfiles branch tfjs_3.17.0_lockfiles lock files. (#6415).
    • Update monorepo to 3.17.0. (#6405).
    • Add string support for SparseToDense (#6397).
    • Fix bufferSync return type (#6362).
    • Improve link_package speed (#6376).
    • Change makeTensorFromTensorId to makeTensorFromTensorInfo (#6355). Thanks, @qjia7.
    • Add Kernel SearchSorted for CPU and WebGL backend (#6349).

    Webgl (3.16.0 ==> 3.17.0)

    Bug fixes

    • Fix CPU fusedConv2d (bias add) for NCHW format (#6379). Thanks, @Linchenn.
    • Fix WebGL Conv2d (PReLU computation) for NCHW format (#6365). Thanks, @Linchenn.
    • Fix WebGL Conv2d for NCHW format (#6340). Thanks, @Linchenn.

    Misc

    • Update lockfiles branch tfjs_3.17.0_lockfiles lock files. (#6415).
    • Update monorepo to 3.17.0. (#6405).
    • Add string support for SparseToDense (#6397).
    • Fix bufferSync return type (#6362).
    • Fix WebGL-conv2dByMatMul for NCHW with multiple batches (#6369). Thanks, @Linchenn.
    • Decrease values in WebGL tests to fit into WebGL1's range (#6372). Thanks, @Linchenn.
    • Change makeTensorFromTensorId to makeTensorFromTensorInfo (#6355). Thanks, @qjia7.
    • Add Kernel SearchSorted for CPU and WebGL backend (#6349).
    • [webgl] merge CumProdProgram and CumSumProgram (#6325). Thanks, @axinging.
    Source code(tar.gz)
    Source code(zip)
  • tfjs-v3.16.0(Apr 20, 2022)

    Core (3.15.0 ==> 3.16.0)

    Features

    • initial version of gradients for prod (#6216).

    Bug fixes

    • : #6263 [webgpu: Fix DepthwiseConv2D3x3Program bug when dilation > 1] (#6264). Thanks, @qjia7.

    Misc

    • Update lockfiles branch tfjs_3.16.0_lockfiles lock files. (#6337).
    • Update monorepo to 3.16.0. (#6330).
    • [core] reduced the dy to avoid overflowing the webgl 1 float16 limitation (#6306).
    • Security fixes (#6268).
    • Webgpu gather zero (#6166). Thanks, @haoyunfeix.

    Data (3.15.0 ==> 3.16.0)

    Misc

    • Update lockfiles branch tfjs_3.16.0_lockfiles lock files. (#6337).
    • Update monorepo to 3.16.0. (#6330).
    • Bump minimist from 1.2.5 to 1.2.6 in /tfjs-data (#6297). Thanks, @dependabot[bot].
    • Security fixes (#6268).
    • refactor: replace deprecated String.prototype.substr() (#6255). Thanks, @CommanderRoot.

    Layers (3.15.0 ==> 3.16.0)

    Performance

    • Use LRU cache for cachedSorted and cachedRecipientCounts (#6303). Thanks, @Linchenn.

    Misc

    • Update lockfiles branch tfjs_3.16.0_lockfiles lock files. (#6337).
    • Update monorepo to 3.16.0. (#6330).
    • Security fixes (#6268).
    • refactor: replace deprecated String.prototype.substr() (#6255). Thanks, @CommanderRoot.

    Converter (3.15.0 ==> 3.16.0)

    Features

    • Add TensorListResize op (#6283). Thanks, @Linchenn.

    Security

    • Bump minimist from 1.2.0 to 1.2.6 in /tfjs-converter/demo (#6290). Thanks, @dependabot[bot].

    Misc

    • Update lockfiles branch tfjs_3.16.0_lockfiles lock files. (#6337).
    • Update monorepo to 3.16.0. (#6330).
    • Fix version comparison bug. (#6299).
    • Add TensorListLength op (#6282). Thanks, @Linchenn.
    • Security fixes (#6268).
    • refactor: replace deprecated String.prototype.substr() (#6255). Thanks, @CommanderRoot.

    Node (3.15.0 ==> 3.16.0)

    Misc

    • Update lockfiles branch tfjs_3.16.0_lockfiles lock files. (#6337).
    • Update monorepo to 3.16.0. (#6330).
    • Security fixes (#6268).
    • refactor: replace deprecated String.prototype.substr() (#6255). Thanks, @CommanderRoot.

    Wasm (3.15.0 ==> 3.16.0)

    Misc

    • Update lockfiles branch tfjs_3.16.0_lockfiles lock files. (#6337).
    • Update monorepo to 3.16.0. (#6330).
    • Bump minimist from 1.2.5 to 1.2.6 in /tfjs-backend-wasm (#6295). Thanks, @dependabot[bot].
    • Security fixes (#6268).
    • Bump node-forge in /tfjs-backend-wasm/starter/webpack (#6259). Thanks, @dependabot[bot].

    Cpu (3.15.0 ==> 3.16.0)

    Security

    • Bump minimist from 1.2.5 to 1.2.6 in /tfjs-backend-cpu (#6298). Thanks, @dependabot[bot].
    • Bump minimist from 1.2.5 to 1.2.6 in /tfjs-backend-cpu (#6298). Thanks, @dependabot[bot].

    Misc

    • Update lockfiles branch tfjs_3.16.0_lockfiles lock files. (#6337).
    • Update monorepo to 3.16.0. (#6330).
    • Security fixes (#6268).

    Webgl (3.15.0 ==> 3.16.0)

    Misc

    • Update lockfiles branch tfjs_3.16.0_lockfiles lock files. (#6337).
    • Update monorepo to 3.16.0. (#6330).
    • Security fixes (#6268).
    • Webgpu gather zero (#6166). Thanks, @haoyunfeix.
    Source code(tar.gz)
    Source code(zip)
  • tfjs-v3.15.0(Mar 23, 2022)

    Core (3.14.0 ==> 3.15.0)

    Features

    • Initial version of cumprod (#6211).

    Security

    • more security fixes (#6237).

    Misc

    • Update monorepo to 3.15.0. (#6257).
    • [webgl]Add functions for parallel compilation (#5826).

    Data (3.14.0 ==> 3.15.0)

    Security

    • [security] upgrade parcel-bundle to parcel 2 (#6234).

    Misc

    • Update lockfiles branch tfjs_3.15.0_lockfiles lock files. (#6260).
    • Update monorepo to 3.15.0. (#6257).
    • [tfjs-data] Use '!IS_BROWSER' instead of 'IS_NODE' for detecting browser (#6240).
    • Bump lodash from 4.17.15 to 4.17.21 in /tfjs-data/demo/boston-housing (#6220). Thanks, @dependabot[bot].
    • yarn.lock updates for security warning (#6229).
    • Bump karma from 6.3.14 to 6.3.16 in /tfjs-data (#6195). Thanks, @dependabot[bot].

    Layers (3.14.0 ==> 3.15.0)

    Misc

    • Update lockfiles branch tfjs_3.15.0_lockfiles lock files. (#6260).
    • Update monorepo to 3.15.0. (#6257).
    • yarn.lock updates for security warning (#6229).
    • Bump karma from 6.3.14 to 6.3.16 in /tfjs-layers (#6185). Thanks, @dependabot[bot].

    Converter (3.14.0 ==> 3.15.0)

    Features

    • Initial version of cumprod (#6211).

    Security

    • [security] upgrade parcel-bundle to parcel 2 (#6234).

    Misc

    • Update lockfiles branch tfjs_3.15.0_lockfiles lock files. (#6260).
    • Update monorepo to 3.15.0. (#6257).
    • Add support for converting models with ImageProjectiveTransformV3 op (#6206). Thanks, @maciej3031.
    • yarn.lock updates for security warning (#6229).

    Node (3.14.0 ==> 3.15.0)

    Features

    • Initial version of cumprod (#6211).
    • Treat properly HTTP URI to download tensorflow lib (#6199). Thanks, @danilosampaio.

    Misc

    • Update lockfiles branch tfjs_3.15.0_lockfiles lock files. (#6260).
    • Update monorepo to 3.15.0. (#6257).
    • yarn.lock updates for security warning (#6229).

    Wasm (3.14.0 ==> 3.15.0)

    Features

    • Initial version of cumprod (#6211).

    Security

    • more security fixes (#6237).
    • [security] upgrade parcel-bundle to parcel 2 (#6234).
    • Bump karma from 6.3.14 to 6.3.16 in /tfjs-backend-wasm (#6191). Thanks, @dependabot[bot].

    Misc

    • Update lockfiles branch tfjs_3.15.0_lockfiles lock files. (#6260).
    • Update monorepo to 3.15.0. (#6257).
    • [wasm] Fix threaded worker blob syntax error (#6214).
    • yarn.lock updates for security warning (#6229).
    • Bump url-parse in /tfjs-backend-wasm/starter/webpack (#6180). Thanks, @dependabot[bot].

    Cpu (3.14.0 ==> 3.15.0)

    Features

    • Initial version of cumprod (#6211).

    Security

    • [security] upgrade parcel-bundle to parcel 2 (#6234).

    Misc

    • Update lockfiles branch tfjs_3.15.0_lockfiles lock files. (#6260).
    • Update monorepo to 3.15.0. (#6257).
    • Bump karma from 6.3.14 to 6.3.16 in /tfjs-backend-cpu (#6186). Thanks, @dependabot[bot].

    Webgl (3.14.0 ==> 3.15.0)

    Features

    • Initial version of cumprod (#6211).

    Security

    • [security] upgrade parcel-bundle to parcel 2 (#6234).

    Misc

    • Update lockfiles branch tfjs_3.15.0_lockfiles lock files. (#6260).
    • Update monorepo to 3.15.0. (#6257).
    • Fix nightly build. (#6239).
    • [webgl]Add functions for parallel compilation (#5826).
    • Bump karma from 6.3.14 to 6.3.16 in /tfjs-backend-webgl (#6184). Thanks, @dependabot[bot].
    Source code(tar.gz)
    Source code(zip)
  • tfjs-v3.14.0(Mar 4, 2022)

    Core (3.13.0 ==> 3.14.0)

    Features

    • Handle IS_BROWSER and IS_NODE both being true (#6031). Thanks, @austintoot40.

    Bug fixes

    • Add 'leave_as_require' option to tfjs_bundle (#6005).

    Misc

    • Update monorepo to 3.14.0. (#6196).
    • Update to wording for starting values of indices (#6018). Thanks, @jasonmayes.

    Data (3.13.0 ==> 3.14.0)

    Documentation

    • Update README.md (#6074). Thanks, @rthadur.

    Misc

    • Update lockfiles branch tfjs_3.14.0_lockfiles lock files. (#6197).
    • Update monorepo to 3.14.0. (#6196).
    • Bump karma from 6.3.1 to 6.3.14 in /tfjs-data (#6147). Thanks, @dependabot[bot].
    • Bump follow-redirects from 1.13.3 to 1.14.8 in /tfjs-data (#6146). Thanks, @dependabot[bot].

    Layers (3.13.0 ==> 3.14.0)

    Features

    • Showing input shape in summary (#6027). Thanks, @shivangchopra11.

    Documentation

    • Showing input shape in summary (#6027). Thanks, @shivangchopra11.

    Misc

    • Update lockfiles branch tfjs_3.14.0_lockfiles lock files. (#6197).
    • Update monorepo to 3.14.0. (#6196).
    • Bump follow-redirects from 1.13.3 to 1.14.8 in /tfjs-layers (#6145). Thanks, @dependabot[bot].
    • Bump karma from 6.3.1 to 6.3.14 in /tfjs-layers (#6121). Thanks, @dependabot[bot].
    • Fix TS development on Apple silicon (#6090).

    Converter (3.13.0 ==> 3.14.0)

    Bug fixes

    • [tfjs-converter] fix the regex version for py2 (#6038).

    Performance

    • [tfjs-converter] fix the regex version for py2 (#6038).

    Misc

    • Update lockfiles branch tfjs_3.14.0_lockfiles lock files. (#6197).
    • Update monorepo to 3.14.0. (#6196).
    • Bump ajv from 6.3.0 to 6.12.3 in /tfjs-converter (#6150). Thanks, @dependabot[bot].
    • [converter] export types from compiled_api (#6082).

    Node (3.13.0 ==> 3.14.0)

    Documentation

    • Update README.md (#6074). Thanks, @rthadur.

    Misc

    • Update lockfiles branch tfjs_3.14.0_lockfiles lock files. (#6197).
    • Update monorepo to 3.14.0. (#6196).

    Wasm (3.13.0 ==> 3.14.0)

    Security

    • Bump ajv from 6.10.2 to 6.12.6 in /tfjs-backend-wasm/starter/parcel (#6131). Thanks, @dependabot[bot].
    • Bump engine.io from 4.1.1 to 4.1.2 in /tfjs-backend-wasm (#6011). Thanks, @dependabot[bot].

    Misc

    • Update lockfiles branch tfjs_3.14.0_lockfiles lock files. (#6197).
    • Update monorepo to 3.14.0. (#6196).
    • Fix Apple silicon WASM development (#6098).
    • Bump follow-redirects from 1.14.7 to 1.14.8 in /tfjs-backend-wasm (#6124). Thanks, @dependabot[bot].
    • Bump ajv from 6.10.2 to 6.12.6 in /tfjs-backend-wasm/starter/webpack (#6130). Thanks, @dependabot[bot].
    • Bump follow-redirects in /tfjs-backend-wasm/starter/webpack (#6129). Thanks, @dependabot[bot].
    • Bump karma from 6.3.2 to 6.3.14 in /tfjs-backend-wasm (#6112). Thanks, @dependabot[bot].
    • Fix TS development on Apple silicon (#6090).
    • Update README.md (#6086). Thanks, @rthadur.
    • Update README.md (#6080). Thanks, @rthadur.
    • Upgrade release docker node to 16 (#6076).
    • Bump log4js from 6.3.0 to 6.4.0 in /tfjs-backend-wasm (#6052). Thanks, @dependabot[bot].
    • Bump follow-redirects from 1.13.3 to 1.14.7 in /tfjs-backend-wasm (#6013). Thanks, @dependabot[bot].

    Cpu (3.13.0 ==> 3.14.0)

    Security

    • Bump engine.io from 4.1.1 to 4.1.2 in /tfjs-backend-cpu (#6040). Thanks, @dependabot[bot].

    Misc

    • Update lockfiles branch tfjs_3.14.0_lockfiles lock files. (#6197).
    • Update monorepo to 3.14.0. (#6196).
    • Bump follow-redirects from 1.14.7 to 1.14.8 in /tfjs-backend-cpu (#6156). Thanks, @dependabot[bot].
    • Bump karma from 6.3.1 to 6.3.14 in /tfjs-backend-cpu (#6116). Thanks, @dependabot[bot].
    • Bump log4js from 6.3.0 to 6.4.0 in /tfjs-backend-cpu (#6056). Thanks, @dependabot[bot].
    • Bump follow-redirects from 1.13.3 to 1.14.7 in /tfjs-backend-cpu (#6041). Thanks, @dependabot[bot].

    Webgl (3.13.0 ==> 3.14.0)

    Misc

    • Update lockfiles branch tfjs_3.14.0_lockfiles lock files. (#6197).
    • Update monorepo to 3.14.0. (#6196).
    • Update isnan implementation in WebGL backend to follow IEEE 754-1985 (#6107). Thanks, @shaoboyan.
    • Bump follow-redirects from 1.14.7 to 1.14.8 in /tfjs-backend-webgl (#6149). Thanks, @dependabot[bot].
    • Bump karma from 6.3.4 to 6.3.14 in /tfjs-backend-webgl (#6120). Thanks, @dependabot[bot].
    • Fix TS development on Apple silicon (#6090).
    • [webgl]Donot use cache context if use custom canvas (#6100).
    • Bump log4js from 6.3.0 to 6.4.1 in /tfjs-backend-webgl (#6065). Thanks, @dependabot[bot].
    • Bump follow-redirects from 1.14.1 to 1.14.7 in /tfjs-backend-webgl (#6048). Thanks, @dependabot[bot].
    • Bump engine.io from 4.1.1 to 4.1.2 in /tfjs-backend-webgl (#6046). Thanks, @dependabot[bot].
    Source code(tar.gz)
    Source code(zip)
  • tfjs-v3.13.0(Jan 25, 2022)

    Core (3.12.0 ==> 3.13.0)

    Misc

    • Update monorepo to 3.13.0. (#6003).
    • [layers] [webgl] fixed failing nightly tests (#6001).
    • Add an API to keep data on GPU: dataToGPU (#5953).
    • [core] Remove test_util.ts dependency on Jasmine (#5921).
    • [core] Remove dependency on backend-cpu from the shared tests target (#5944).

    Data (3.12.0 ==> 3.13.0)

    Misc

    • Update lockfiles branch tfjs_3.13.0_lockfiles lock files. (#6032).
    • Update monorepo to 3.13.0. (#6003).

    Layers (3.12.0 ==> 3.13.0)

    Bug fixes

    • [tfjs-layers[ Fix Layer mem leak for 1D targets (#5988).

    Misc

    • Update lockfiles branch tfjs_3.13.0_lockfiles lock files. (#6032).
    • Update monorepo to 3.13.0. (#6003).
    • [layers] [webgl] fixed failing nightly tests (#6001).

    Converter (3.12.0 ==> 3.13.0)

    Misc

    • Update lockfiles branch tfjs_3.13.0_lockfiles lock files. (#6032).
    • Update monorepo to 3.13.0. (#6003).

    Node (3.12.0 ==> 3.13.0)

    Features

    • [tfjs-node] tf.unique added (#5956). Thanks, @DirkToewe.

    Misc

    • Update lockfiles branch tfjs_3.13.0_lockfiles lock files. (#6032).
    • Update monorepo to 3.13.0. (#6003).

    Wasm (3.12.0 ==> 3.13.0)

    Misc

    • Update lockfiles branch tfjs_3.13.0_lockfiles lock files. (#6032).
    • Update monorepo to 3.13.0. (#6003).
    • [layers] [webgl] fixed failing nightly tests (#6001).
    • Unify the name and order of kernel files and kernel configs (#5969). Thanks, @gyagp.
    • [tfjs-backend-wasm] added use to the support models (#5952).
    • [wasm] Add boolean data type support for min/max (#5922).

    Cpu (3.12.0 ==> 3.13.0)

    Bug fixes

    • [cpu] GatherV2 return zero if out of bounds when forwarding from webgl (#5994).

    Misc

    • Update lockfiles branch tfjs_3.13.0_lockfiles lock files. (#6032).
    • Update monorepo to 3.13.0. (#6003).
    • Unify the name and order of kernel files and kernel configs (#5969). Thanks, @gyagp.

    Webgl (3.12.0 ==> 3.13.0)

    Misc

    • Update lockfiles branch tfjs_3.13.0_lockfiles lock files. (#6032).
    • Update monorepo to 3.13.0. (#6003).
    • [layers] [webgl] fixed failing nightly tests (#6001).
    • Unify the name and order of kernel files and kernel configs (#5969). Thanks, @gyagp.
    • [webgl] GatherV2 fill out of range values with zero (#5984).
    • Add an API to keep data on GPU: dataToGPU (#5953).
    • remove unnecessary gl.flush() (#5989).
    • [webgl]Fix test. (#5985).
    • [webgl]Allow constructor to take canvas. (#5983).
    • [webgl] Refactor texture return type to return the actual texShape with the WebGLTexture (#5949).
    Source code(tar.gz)
    Source code(zip)
  • tfjs-v3.12.0(Dec 8, 2021)

    Core (3.11.0 ==> 3.12.0)

    Features

    • Add SparseSegmentSum/Mean kernel to WASM backend (#5739).
    • Add SparseFillEmptyRows kernel to WASM (#5747).
    • Add SparseReshape kernel to WASM backend (#5723).

    Bug fixes

    • [kernels] support batch dims broadcasting for matmul (#5789).

    Misc

    • Update monorepo to 3.12.0. (#5926).
    • Expose dimRoundingMode attribute of pool op (#5849). Thanks, @BruceDai.
    • Add and update package.json repository metadata (#5887).
    • [wasm]Supports broadcast for all binary ops. (#5873).
    • Add doccomment for fromPixels inconsistent result. (#5865).
    • Lint Bazel packages with a central lint script (#5790).
    • [core] Skip Firefox in fromPixel webworker test (#5794).
    • [core] Separate worker tests from shared tests (#5784).
    • #5743: Allow passing ImageBitmap in worker context (#5773). Thanks, @AlexShafir.
    • Fix lint errors (#5783).

    Data (3.11.0 ==> 3.12.0)

    Misc

    • Update lockfiles branch tfjs_3.12.0_lockfiles lock files. (#5929).
    • Update monorepo to 3.12.0. (#5926).
    • Update package.json to include the repository (#5770). Thanks, @v-rr.
    • Lint Bazel packages with a central lint script (#5790).

    Layers (3.11.0 ==> 3.12.0)

    Misc

    • Update lockfiles branch tfjs_3.12.0_lockfiles lock files. (#5929).
    • Update monorepo to 3.12.0. (#5926).
    • Update package.json to include the repository (#5770). Thanks, @v-rr.
    • Lint Bazel packages with a central lint script (#5790).

    Converter (3.11.0 ==> 3.12.0)

    Features

    • auto converter float16 to float32 in converter, and support cast op for DT_HALF type to float32 (#5858).
    • Add model debug mode support (#5659). Thanks, @axinging.

    Bug fixes

    • auto converter float16 to float32 in converter, and support cast op for DT_HALF type to float32 (#5858).
    • lock keras version (#5809).
    • [converter] fix tensorflow-estimator version to 2.6.0 (#5802).
    • [converter] Use 'bazel build' for build-npm script (#5780).

    Misc

    • Update lockfiles branch tfjs_3.12.0_lockfiles lock files. (#5929).
    • Update monorepo to 3.12.0. (#5926).
    • Add and update package.json repository metadata (#5887).
    • added wizard deps to the package (#5817).
    • converter(fix): removed TF version lock. (#5814).
    • Lint Bazel packages with a central lint script (#5790).
    • [converter] Add license to BUILD file (#5801).
    • [converter]Update _convert_tf_saved_model (#5788).
    • [converter]Add a converter API to convert in-memory keras model to sa… (#5781).

    Node (3.11.0 ==> 3.12.0)

    Bug fixes

    • [kernels] support batch dims broadcasting for matmul (#5789).

    Misc

    • Update lockfiles branch tfjs_3.12.0_lockfiles lock files. (#5929).
    • Update monorepo to 3.12.0. (#5926).
    • update darwin-arm64 download url to tfjs gcp bucket (#5899).
    • Expose dimRoundingMode attribute of pool op (#5849). Thanks, @BruceDai.
    • Add and update package.json repository metadata (#5887).
    • tfjs-node: upgrade TF to 2.7.0, ref #5740. (#5818).

    Wasm (3.11.0 ==> 3.12.0)

    Features

    • Add SparseSegmentSum/Mean kernel to WASM backend (#5739).
    • Add SparseFillEmptyRows kernel to WASM (#5747).
    • Add SparseReshape kernel to WASM backend (#5723).

    Bug fixes

    • [kernels] support batch dims broadcasting for matmul (#5789).

    Misc

    • Update lockfiles branch tfjs_3.12.0_lockfiles lock files. (#5929).
    • Update monorepo to 3.12.0. (#5926).
    • Update package.json to include the repository (#5770). Thanks, @v-rr.
    • [wasm]Supports broadcast for all binary ops. (#5873).
    • [wasm] Fix incorrect check for existance of process (#5874).
    • [wasm] Fix memory leak in node when disposing wasm backend (#5852).

    Cpu (3.11.0 ==> 3.12.0)

    Features

    • Add SparseSegmentSum/Mean kernel to WASM backend (#5739).
    • Add SparseFillEmptyRows kernel to WASM (#5747).
    • Add SparseReshape kernel to WASM backend (#5723).

    Bug fixes

    • [kernels] support batch dims broadcasting for matmul (#5789).

    Security

    • Bump ws from 7.4.4 to 7.4.6 in /tfjs-backend-cpu (#5883). Thanks, @dependabot[bot].
    • Bump browserslist from 4.16.3 to 4.18.1 in /tfjs-backend-cpu (#5878). Thanks, @dependabot[bot].

    Misc

    • Update lockfiles branch tfjs_3.12.0_lockfiles lock files. (#5929).
    • Update monorepo to 3.12.0. (#5926).
    • Bump path-parse from 1.0.6 to 1.0.7 in /tfjs-backend-cpu (#5885). Thanks, @dependabot[bot].
    • Bump ansi-regex from 5.0.0 to 5.0.1 in /tfjs-backend-cpu (#5886). Thanks, @dependabot[bot].
    • Add and update package.json repository metadata (#5887).
    • Lint Bazel packages with a central lint script (#5790).

    Webgl (3.11.0 ==> 3.12.0)

    Features

    • [webgl] replace texImage2D with texStorage2D + texSubImage2D (#5862).

    Bug fixes

    • : 5205 [webgl: Support uniforms for pack/unpack programs] (#5835). Thanks, @qjia7.
    • [webgl] replace texImage2D with texStorage2D + texSubImage2D (#5862).
    • [kernels] support batch dims broadcasting for matmul (#5789).

    Security

    • Bump ansi-regex from 5.0.0 to 5.0.1 in /tfjs-backend-webgl (#5882). Thanks, @dependabot[bot].

    Misc

    • Update lockfiles branch tfjs_3.12.0_lockfiles lock files. (#5929).
    • Update monorepo to 3.12.0. (#5926).
    • add check for valid gl context when reading isContextLost (#5825). Thanks, @vladmandic.
    • Lint Bazel packages with a central lint script (#5790).
    • [webgl]Refactor GPGPUBinary. (#5796).
    • [webgl]Remove unnecessary blocking GPU call. (#5795).
    • [core] Separate worker tests from shared tests (#5784).
    • #5743: Allow passing ImageBitmap in worker context (#5773). Thanks, @AlexShafir
    Source code(tar.gz)
    Source code(zip)
  • tfjs-tflite-v0.0.1-alpha.8(Dec 2, 2021)

  • tfjs-react-native-v0.8.0(Nov 3, 2021)

    tfjs-react-native (0.7.0 ==> 0.8.0)

    • [react-native] Add "rotation" property to TensorCamera to allow users to rotate camera view and internal texture (#5804). Thanks, @nicholasio
    • Use the release docker for all cloudbuild steps (#5669)..
    Source code(tar.gz)
    Source code(zip)
  • tfjs-v3.11.0(Oct 27, 2021)

    Core (3.10.0 ==> 3.11.0)

    Features

    • #5743: Allow passing ImageBitmap in worker context (#5752). Thanks, @AlexShafir.

    Bug fixes

    • add missing export for OptimizerConstructors (#5772). Thanks, @vladmandic.

    Misc

    • Update StridedSlice kernel implementation (#5408).

    Node (3.10.0 ==> 3.11.0)

    Misc

    • Update StridedSlice kernel implementation (#5408).

    Wasm (3.10.0 ==> 3.11.0)

    Misc

    • Update StridedSlice kernel implementation (#5408).

    Cpu (3.10.0 ==> 3.11.0)

    Misc

    • Update StridedSlice kernel implementation (#5408).

    Webgl (3.10.0 ==> 3.11.0)

    Misc

    • Update StridedSlice kernel implementation (#5408).
    Source code(tar.gz)
    Source code(zip)
  • tfjs-v3.10.0(Oct 22, 2021)

    Core (3.9.0 ==> 3.10.0)

    Features

    • add support for Uint8ClampedArray (#5710). Thanks, @vladmandic.
    • [webgpu] Add depthToSpace op (#5585). Thanks, @haoyunfeix.

    Misc

    • Update monorepo to 3.10.0. (#5762).
    • [core] Only run 32 bit tests if backend supports 32 bit (#5693).
    • [webgl] Fix nightly browser configurations (#5687).
    • [wasm] Fix kernels in wasm backend about how int32 inputs are handled (#5662).
    • Upgrade rules_nodejs to 4.2.0 (#5671).
    • Use the release docker for all cloudbuild steps (#5669).
    • [webgl] Build tfjs-backend-webgl with Bazel (#5562).
    • [webgl] Run tests out of order (#5616).
    • Update diag.ts (#5617). Thanks, @rthadur.
    • [webgpu] Fix WGSL pow case fail (#5589). Thanks, @axinging.
    • [core] Fix io test flakiness when run out-of-order (#5582).
    • Throw errors when any index is out of bound in GatherV2 (#5439).

    Data (3.9.0 ==> 3.10.0)

    Features

    • [tfjs-layers] Bazel migration (#5672).

    Misc

    • Update monorepo to 3.10.0. (#5762).
    • [tfjs-data] Bazel migration for tfjs-data (#5748).
    • Use the release docker for all cloudbuild steps (#5669).
    • [core] Fix io test flakiness when run out-of-order (#5582).

    Layers (3.9.0 ==> 3.10.0)

    Features

    • fix nightly layers tests (#5688).
    • [tfjs-layers] Bazel migration (#5672).
    • [tfjs-converter] Bazel build migration (#5388).
    • [tfjs-converter] Bazel build migration (#5388).

    Bug fixes

    • only runs stacked rnncells test on webgl2 gpu (#5718).

    Misc

    • Update monorepo to 3.10.0. (#5762).
    • [layers] Fix package.json bazel targets (#5719).
    • [wasm] Fix kernels in wasm backend about how int32 inputs are handled (#5662).
    • Use the release docker for all cloudbuild steps (#5669).
    • [webgl] Build tfjs-backend-webgl with Bazel (#5562).

    Converter (3.9.0 ==> 3.10.0)

    Features

    • [tfjs-converter] Bazel build migration (#5388).
    • [tfjs-converter] Bazel build migration (#5388).

    Bug fixes

    • [converter] Add missing @bazel/bazelisk dependency (#5744).

    Documentation

    • [converter] Add required libs to readme (#5639).
    • Fix typo in tf_saved_model_conversion_v2.py (#5568). Thanks, @mikezzb.

    Misc

    • Update monorepo to 3.10.0. (#5762).
    • Use a precompiled Python3 binary on Windows (#5699).
    • Upgrade rules_nodejs to 4.2.0 (#5671).
    • Use the release docker for all cloudbuild steps (#5669).
    • Base the release docker off of debian (#5640).
    • [converter] Pin python2 protobuf version to 3.17.3 (#5635).
    • Fix converter nightly test (#5600).
    • [core] Fix io test flakiness when run out-of-order (#5582).

    Node (3.9.0 ==> 3.10.0)

    Misc

    • Update monorepo to 3.10.0. (#5762).
    • upgrade tf binary version to 2.6.0 (#5703).
    • [wasm] Fix kernels in wasm backend about how int32 inputs are handled (#5662).
    • Base the release docker off of debian (#5640).
    • Throw errors when any index is out of bound in GatherV2 (#5439).
    • Delete .travis.yml

    Wasm (3.9.0 ==> 3.10.0)

    Features

    • [webgpu] Add depthToSpace op (#5585). Thanks, @haoyunfeix.
    • [tfjs-converter] Bazel build migration (#5388).
    • [tfjs-converter] Bazel build migration (#5388).

    Security

    • Bump ansi-regex from 5.0.0 to 5.0.1 in /tfjs-backend-wasm (#5650). Thanks, @dependabot[bot].

    Misc

    • Update monorepo to 3.10.0. (#5762).
    • [wasm] remove leftover console.log (#5737).
    • [wasm] Allow users to set threads count at runtime (#5727).
    • [wasm] Fix kernels in wasm backend about how int32 inputs are handled (#5662).
    • Use the release docker for all cloudbuild steps (#5669).
    • Throw errors when any index is out of bound in GatherV2 (#5439).
    • update docker and fixed test bundle size wasm task (#5583).

    Cpu (3.9.0 ==> 3.10.0)

    Features

    • [webgpu] Add depthToSpace op (#5585). Thanks, @haoyunfeix.

    Misc

    • Update monorepo to 3.10.0. (#5762).
    • [wasm] Fix kernels in wasm backend about how int32 inputs are handled (#5662).
    • Upgrade rules_nodejs to 4.2.0 (#5671).
    • Throw errors when any index is out of bound in GatherV2 (#5439).

    Webgl (3.9.0 ==> 3.10.0)

    Features

    • add support for Uint8ClampedArray (#5710). Thanks, @vladmandic.
    • [webgpu] Add depthToSpace op (#5585). Thanks, @haoyunfeix.

    Bug fixes

    • use shader loop instead of expand with js to reduce shader size (#5714).

    Performance

    • use shader loop instead of expand with js to reduce shader size (#5714).
    • enable flush threshold for all mobile devices (#5695).

    Misc

    • Update monorepo to 3.10.0. (#5762).
    • [webgl] Fix nightly browser configurations (#5687).
    • [wasm] Fix kernels in wasm backend about how int32 inputs are handled (#5662).
    • Upgrade rules_nodejs to 4.2.0 (#5671).
    • [webgl] Build tfjs-backend-webgl with Bazel (#5562).
    • [webgl] Update yarn.lock (#5636). Thanks, @axinging.
    • [webgl] Run tests out of order (#5616).
    • Update package.json (#5618). Thanks, @rthadur.
    • [webgl]Add BroadcastArgs to WebGL. (#5485).
    • Throw errors when any index is out of bound in GatherV2 (#5439).
    Source code(tar.gz)
    Source code(zip)
  • tfjs-tflite-v0.0.1-alpha.7(Oct 21, 2021)

    tfjs-tflite (0.0.1-alpha.6 ==> 0.0.1-alpha.7)

    This release compiled the underlying TFLite Web API WASM binaries with --xnn_wasmsimd_version=m91 which should increase the performance of certain quantized TFLite models.

    • [tflite] update tflite web api version. (#5759).
    • [tflite] convert output tensor types that are not supported by TFJS to compatible TFJS types (#5746).
    • [tflite] Fix the broken demo (#5732).
    • [tflite] Remove unneeded download step from readme (#5604).
    • [tflite] Add README to npm package (#5581)..
    Source code(tar.gz)
    Source code(zip)
  • tfjs-backend-webgpu-v0.0.1-alpha.8(Sep 30, 2021)

    tfjs-backend-webgpu (0.0.1-alpha.7 ==> 0.0.1-alpha.8)

    Features

    • [webgpu] Add support for scatterND (#5643). Thanks, @haoyunfeix.
    • [webgpu] Add support for LogicalNot (#5644). Thanks, @haoyunfeix.
    • [webgpu] Add support for split (#5645). Thanks, @haoyunfeix.
    • [webgpu] Add support for sin, cos, sinh and cosh (#5642). Thanks, @haoyunfeix.
    • [webgpu] Add depthToSpace op (#5585). Thanks, @haoyunfeix.
    • [webgpu] Add halfPixelCenters support for resizeBilinear op (#5553). Thanks, @haoyunfeix.
    • [webgpu] Enable bool and add op logicalAnd (#5190). Thanks, @axinging.

    Bug fixes

    • [webgpu] Fix wrongly used u32 (#5559). Thanks, @axinging.
    • webgpu: Fix the memory leak for Cast (#5521). Thanks, @qjia7.
    • Create a separate 'link-package-core' for packages that only need core (#5436).
    • : [[webgpu] Add op tile] (#5186). Thanks, @axinging.

    Performance

    • webgpu: Optimize ScatterNd (#5667). Thanks, @qjia7.
    • webgpu: Optimize depthwise conv2d (#5254). Thanks, @qjia7.
    • webgpu: Optimize depthwise conv2d (#5209). Thanks, @qjia7.

    Misc

    • Update tfjs-backend-webgpu to 0.0.1-alpha.8. (#5681).
    • [webgpu] Mark build-npm.sh as executable (#5676).
    • [wasm] Fix kernels in wasm backend about how int32 inputs are handled (#5662).
    • webgpu: Use a larger cpu forward threshold (#5665). Thanks, @qjia7.
    • Use the release docker for all cloudbuild steps (#5669).
    • [wgsl] Refine pow (#5622). Thanks, @axinging.
    • webgpu: Batch several dispatching calls into one pass (#5598). Thanks, @qjia7.
    • [webgpu] Fix matmul_small_output program assert error (#5646). Thanks, @haoyunfeix.
    • webgpu: Remove glsl code (#5654). Thanks, @qjia7.
    • [webgpu] Add support for SparseToDense (#5629). Thanks, @haoyunfeix.
    • Add cases for Conv2DMMVec4Program and Conv2dNaiveProgram (#5637). Thanks, @axinging.
    • webgpu: add flipLeftRight and rotate operators (#5649). Thanks, @xhcao.
    • [webgpu] Add WGSL shader for Tanh (#5647). Thanks, @haoyunfeix.
    • [webgpu] Use WGSL default (#5621). Thanks, @axinging.
    • [webgpu] Use i32 as coords type in WGSL (#5628). Thanks, @axinging.
    • [webgpu] Create FromPixles program as required (#5610). Thanks, @axinging.
    • [webgpu] Only stride is used in PoolWithFilterSizeEqualsOneProgram (#5593). Thanks, @axinging.
    • [webgpu] Fix WGSL pow case fail (#5589). Thanks, @axinging.
    • [webgpu] Add MatMulSmallOutputSizeProgram WGSL support (#5567). Thanks, @axinging.
    • [webgpu] Add conv2dBackprop WGSL support (#5565). Thanks, @axinging.
    • [webgpu] Use module constant as workgroup size in WGSL (#5579). Thanks, @axinging.
    • webgpu: Hide importExternalTexture behind flag (#5587). Thanks, @shaoboyan.
    • Throw errors when any index is out of bound in GatherV2 (#5439).
    • [webgpu] Add conv2d/conv2dNaive/matmul/im2col WGSL support (#5527). Thanks, @axinging.
    • webgpu: Add wgsl support for FromPixels (#5552). Thanks, @shaoboyan.
    • [webgpu] Add depthwise3x3/argminmax/reduce/resize_nearest_neighbor WGSL support (#5535). Thanks, @axinging.
    • webgpu: optimize matmul with small output size (#5342). Thanks, @xhcao.
    • [webgpu] Add time query profiling for fromPixels op (#5503). Thanks, @haoyunfeix.
    • [webgpu] Fix exceed dispatch size on WGSL (#5519). Thanks, @axinging.
    • [webgpu] update warning message to guide user enable timestamp-query extension (#5505). Thanks, @haoyunfeix.
    • [webgpu] Fix warning that buffer binding size cannot be zero. (#5526). Thanks, @qjia7.
    • [webgpu] Fix clipByValue vec4 error (#5511). Thanks, @axinging.
    • webgpu: fix dispatch size exceeds the limits (#5432). Thanks, @xhcao.
    • [webgpu] Add depthwise and other 21 programs WGSL support (#5403). Thanks, @axinging.
    • [webgpu] Add conv2d vec4 and matmul vec4 WGSL support (#5369). Thanks, @axinging.
    • Fix FromPixels type checker to avoid error in worker (#5472). Thanks, @shaoboyan.
    • [webgpu] Fix wrongly modified NaN type (#5462). Thanks, @axinging.
    • [webgpu] Use ImportToTexture to handle video in FromPixels (#5430). Thanks, @shaoboyan.
    • [webgpu] Add binary WGSL support (#5322). Thanks, @axinging.
    • [webgpu] Remove tfjs-backend-webgl and tfjs-converter dependency (#5428). Thanks, @haoyunfeix.
    • [webgpu] Fix that exceeding limitation errors (#5385). Thanks, @qjia7.
    • Build tfjs-backend-webgl with Bazel (#5339).
    • [webgpu] Fix PadV2 with empty size (#5363). Thanks, @qjia7.
    • Use Bazel and ts_library to build core and backend-cpu (#5133).
    • Add 'WEBGPU_USE_PROFILE_TOOL' flag (#5300). Thanks, @shaoboyan.
    • [webgpu] Fix nan fail dut to tint (#5321). Thanks, @axinging.
    • [webgpu] Fix floorDiv vec4 compile fail (#5307). Thanks, @axinging.
    • [webgpu] Update @webgpu/types to version 0.1.4 (#5290). Thanks, @haoyunfeix.
    • [webgpu] Add WGSL support (#5252). Thanks, @axinging.
    • [webgpu] Add case for matmul and conv2d to test special path (#5253). Thanks, @axinging.
    • [webgpu] Check if runtime support WebGPU before initial a WebGPU backend (#5218). Thanks, @haoyunfeix.
    • [webgpu] Upgrade clang-format version from 1.2.4 to 1.5.0 (#5225). Thanks, @haoyunfeix.
    • [webgpu] Simplify shader key of binary op and unary op (#5222). Thanks, @axinging.
    • [webgpu] Simplify activation shader key (#5208). Thanks, @axinging.
    • Use CopyExternalImageToTexture() in FromPixels (#5202). Thanks, @shaoboyan.
    Source code(tar.gz)
    Source code(zip)
  • tfjs-automl-v1.3.0(Sep 23, 2021)

    tfjs-automl (1.2.0 ==> 1.3.0)

    Features

    • Update dependencies to 3.6.0 (#5038). Thanks, @aravindvnair99.

    Security

    • Fix CVE-2021-23362 in tfjs-automl (#5078). Thanks, @aravindvnair99.

    Misc

    • Update tfjs-automl to 1.3.0. (#5614).
    • [automl] Update tfjs deps to 3.9.0 (#5570).
    Source code(tar.gz)
    Source code(zip)
  • tfjs-react-native-v0.7.0(Sep 17, 2021)

    tfjs-react-native (0.6.0 ==> 0.7.0)

    • [react-native] Add option to TensorCamera to not use custom shaders to resize camera image texture (#5626). This means you don't need to specify cameraTextureWidth and cameraTextureHeight props in TensorCamera anymore.
    Source code(tar.gz)
    Source code(zip)
  • tfjs-tflite-v0.0.1-alpha.6(Sep 3, 2021)

    tfjs-tflite now has better supports for quantized models. See XNNPACK doc for supported ops and limitations (the quantization related flags have been enabled for tfjs-tflite build). Check out this demo for running quantized CartoonGAN model with the latest tfjs-tflite package.

    Other changes:

    • [tflite] Update README and fix demo (#5545).
    • Update tflite web api download script (#5543).
    • Make Bazel npm outputs match current packages (#5451).
    • [tflite] Update google storage location (#5457).
    • Migrate tfjs-tflite package to bazel (#5358).
    • [tflite] Fix script tags order and load example in README (#5376). Thanks, @Romaleks360.
    • Use Bazel and ts_library to build core and backend-cpu (#5133).
    • Update README to make things more clear to run the cartoonizer demo (#5271).
    Source code(tar.gz)
    Source code(zip)
  • tfjs-v3.9.0(Aug 30, 2021)

    Core (3.8.0 ==> 3.9.0)

    Features

    • Add grayscaleToRGB ops (#5308). Thanks, @raffizulvian.

    Bug fixes

    • fix (#5523).
    • [tfjs-core] fixed version test by require from both relative and absolute path (#5405).
    • [tfjs-core] disable logging when prod flag is set (#5368).
    • [core] fix: corrected dilations is not passed to the next func (#5364). Thanks, @sungongwei.
    • [webgl]Fix PadV2 with empty size. (#5359).

    Misc

    • Update monorepo to 3.9.0. (#5544).
    • Include README.md files in Bazel-generated npm packages (#5542).
    • [wasm] Fix offset calculation in Conv2DBackpropInput (#5518).
    • Fix string split call stack overflow (#5509).
    • [webgl] Fixed nightly test failure (#5510).
    • [webgpu] Add depthwise and other 21 programs WGSL support (#5403). Thanks, @axinging.
    • fix depthwise conv2d bug (#5500).
    • Add broadcast args (#4636). Thanks, @drubinstein.
    • [core] Add fallback method for isMobile (#5478).
    • fix(docs): elu wrong definition (#5474). Thanks, @raffizulvian.
    • Make Bazel npm outputs match current packages (#5451).
    • Run enumerate-tests with Bazel (#5361).
    • Use absolute import for version_test (#5416).
    • Add fused depthwiseConv2d case for filter 3x3 (#5333). Thanks, @axinging.
    • tfjs_bundle related improvements (#5337).
    • Use Bazel and ts_library to build core and backend-cpu (#5133).

    Data (3.8.0 ==> 3.9.0)

    Bug fixes

    • [tfjs-data] Fix an issue caused by incorrectly cloning certain iterator (#5444).

    Misc

    • Update lockfiles branch tfjs_3.9.0_lockfiles lock files. (#5555).
    • Update monorepo to 3.9.0. (#5544).
    • Use Bazel and ts_library to build core and backend-cpu (#5133).

    Layers (3.8.0 ==> 3.9.0)

    Misc

    • Update lockfiles branch tfjs_3.9.0_lockfiles lock files. (#5555).
    • Update monorepo to 3.9.0. (#5544).
    • improving error message when input or dataset output shape does not match the inputShape (#5524). Thanks, @sourabh112.
    • Revert "Build tfjs-backend-webgl with Bazel " (#5476) (#5339).
    • Make Bazel npm outputs match current packages (#5451).
    • fix(typo): in comment; TensorFow -> TensorFlow (#5407). Thanks, @GoogleSites.
    • Build tfjs-backend-webgl with Bazel (#5339).
    • Use Bazel and ts_library to build core and backend-cpu (#5133).

    Converter (3.8.0 ==> 3.9.0)

    Bug fixes

    • Create a separate 'link-package-core' for packages that only need core (#5436).

    Misc

    • Update lockfiles branch tfjs_3.9.0_lockfiles lock files. (#5555).
    • Update monorepo to 3.9.0. (#5544).
    • Add broadcast args (#4636). Thanks, @drubinstein.
    • Use Bazel and ts_library to build core and backend-cpu (#5133).

    Node (3.8.0 ==> 3.9.0)

    Misc

    • Update lockfiles branch tfjs_3.9.0_lockfiles lock files. (#5555).
    • Update monorepo to 3.9.0. (#5544).
    • [wasm] Fix offset calculation in Conv2DBackpropInput (#5518).
    • Update package.json (#5499). Thanks, @rthadur.
    • Add broadcast args (#4636). Thanks, @drubinstein.
    • Update README.md (#5427). Thanks, @rthadur.
    • Use Bazel and ts_library to build core and backend-cpu (#5133).

    Wasm (3.8.0 ==> 3.9.0)

    Features

    • [wasm] add elu kernel (#5435). Thanks, @raffizulvian.

    Bug fixes

    • [webgl]Fix PadV2 with empty size. (#5359).

    Security

    • Bump path-parse from 1.0.6 to 1.0.7 in /tfjs-backend-wasm (#5464). Thanks, @dependabot[bot].

    Misc

    • Update lockfiles branch tfjs_3.9.0_lockfiles lock files. (#5555).
    • Update monorepo to 3.9.0. (#5544).
    • Update safari to 13 for wasm tests (#5540).
    • [wasm] Fix offset calculation in Conv2DBackpropInput (#5518).
    • [wasm] Make it more obvious for calling setWasmPaths when WASM backend is loaded from script tag (#5477).
    • [wasm] Remove uses of 'build-deps-ci' (#5340).
    • Use Bazel and ts_library to build core and backend-cpu (#5133).

    Cpu (3.8.0 ==> 3.9.0)

    Features

    • [webgl] Allow Sqrt to run on packed data (#5396).

    Misc

    • Update monorepo to 3.9.0. (#5544).
    • Include README.md files in Bazel-generated npm packages (#5542).
    • Fix string split call stack overflow (#5509).
    • Add broadcast args (#4636). Thanks, @drubinstein.
    • Make Bazel npm outputs match current packages (#5451).
    • Migrate tfjs-tflite package to bazel (#5358).
    • Use absolute import for version_test (#5416).
    • Allow Sigmoid to run on packed data (#5406).
    • tfjs_bundle related improvements (#5337).
    • Use Bazel and ts_library to build core and backend-cpu (#5133).

    Webgl (3.8.0 ==> 3.9.0)

    Features

    • [webgl] Allow Sqrt to run on packed data (#5396).
    • webgl: Use uniforms for im2col/encode[decode] matrix programs (#5297). Thanks, @qjia7.

    Bug fixes

    • #5479 [webgl: Fix the incorrect result with shapes uniforms] (#5502). Thanks, @qjia7.
    • webgl: Use imod instead of mod (#5514). Thanks, @qjia7.
    • #5447 [webgl: Use imod instead of mod] (#5514). Thanks, @qjia7.
    • #5447 [webgl: Fix the incorrect result for blazeface] (#5483). Thanks, @qjia7.
    • [webgl] Temporarily disable WEBGL_USE_SHAPES_UNIFORMS tests (#5480).
    • [tfjs-data] Fix an issue caused by incorrectly cloning certain iterator (#5444).
    • Create a separate 'link-package-core' for packages that only need core (#5436).
    • Fix the incorrect benchmark result when using uniforms for im2col (#5404). Thanks, @qjia7.
    • [webgl]Fix PadV2 with empty size. (#5359).
    • [webgl]Fix conv2d when width is odd. (#5264).

    Misc

    • Update lockfiles branch tfjs_3.9.0_lockfiles lock files. (#5555).
    • Update monorepo to 3.9.0. (#5544).
    • webgl: Enable single run for yarn test (#5525). Thanks, @qjia7.
    • [webgl] Fixed nightly test failure (#5510).
    • fix depthwise conv2d bug (#5500).
    • Unpack input in ArgMin/Max WebGL kernel (#5437).
    • Add broadcast args (#4636). Thanks, @drubinstein.
    • Revert "Build tfjs-backend-webgl with Bazel " (#5476) (#5339).
    • Make Bazel npm outputs match current packages (#5451).
    • [webgl] Use uniforms for depthwise conv2d/reshape (#5422). Thanks, @qjia7.
    • Use correct externals and globals for webgl bundle (#5417).
    • Fix the typo webgo->webgl (#5419). Thanks, @qjia7.
    • Use absolute import for version_test (#5416).
    • Allow Sigmoid to run on packed data (#5406).
    • Fix yarn build command under tfjs-backend-webgl folder (#5379). Thanks, @haoyunfeix.
    • Build tfjs-backend-webgl with Bazel (#5339).
    • [webgpu] Fix PadV2 with empty size (#5363). Thanks, @qjia7.
    • Use Bazel and ts_library to build core and backend-cpu (#5133).
    Source code(tar.gz)
    Source code(zip)
  • tfjs-v3.8.0(Jul 15, 2021)

    Core (3.7.0 ==> 3.8.0)

    Bug fixes

    • fixed depthwise conv2d packed shader issue where dilation is great than 2 (#5320).
    • Fix #5273: Refactor IOHandlers to use same JSON parsing (#5274). Thanks, @MaximeKjaer.

    Misc

    • Update monorepo to 3.8.0. (#5331).
    • Add flags for controlling when TopK GPU is used (#5328). Thanks, @ahmedsabie.
    • [webgpu] Fix floorDiv vec4 compile fail (#5307). Thanks, @axinging.
    • Don't try to load weights if there are no weights (#5310).
    • Fix flipLeftRight op in various backends and add more tests (#5270).
    • Add the missing backend initialization in runKernel (#5251).
    • Switch CPU TopK Algorithm to use Floyd-Rivest (#5236).
    • Switch WebGL TopK algorithm to use bitonic (#5233).
    • Supported conv2dTranspose with explicit paddings. (#5185). Thanks, @BruceDai.
    • Supported pooling operation with explicit padding. (#5163). Thanks, @BruceDai.

    Data (3.7.0 ==> 3.8.0)

    Misc

    • Update lockfiles branch tfjs_3.8.0_lockfiles lock files. (#5332).
    • Update monorepo to 3.8.0. (#5331).

    Layers (3.7.0 ==> 3.8.0)

    Bug fixes

    • [tfjs-layers] remove deps of chained ops in layers (#5188).

    Performance

    • [tfjs-layers] remove deps of chained ops in layers (#5188).

    Misc

    • Update lockfiles branch tfjs_3.8.0_lockfiles lock files. (#5332).
    • Update monorepo to 3.8.0. (#5331).

    Converter (3.7.0 ==> 3.8.0)

    Misc

    • Update lockfiles branch tfjs_3.8.0_lockfiles lock files. (#5332).
    • Update monorepo to 3.8.0. (#5331).
    • fix converter build file for g3 (#5232).

    Node (3.7.0 ==> 3.8.0)

    Features

    • libtensorflow path name replacing (#5171). Thanks, @kawauso.
    • upgrade tensorflow deps to 2.5 and built raspberry pi 2.5 binary (#5204).

    Bug fixes

    • Fix #5273: Refactor IOHandlers to use same JSON parsing (#5274). Thanks, @MaximeKjaer.
    • upgrade tensorflow deps to 2.5 and built raspberry pi 2.5 binary (#5204).

    Misc

    • Update lockfiles branch tfjs_3.8.0_lockfiles lock files. (#5332).
    • Update monorepo to 3.8.0. (#5331).
    • Update WINDOWS_TROUBLESHOOTING.md (#5327). Thanks, @rthadur.
    • Add FlipLeftRight Node.JS kernel using reverse op. (#5311). Thanks, @DCtheTall.
    • Revert "Add FlipLeftRight NodeJS kernel. " (#5263) (#5261).
    • Add FlipLeftRight NodeJS kernel. (#5261). Thanks, @DCtheTall.
    • Supported conv2dTranspose with explicit paddings. (#5185). Thanks, @BruceDai.
    • Supported pooling operation with explicit padding. (#5163). Thanks, @BruceDai.

    Wasm (3.7.0 ==> 3.8.0)

    Features

    • Add batchToSpaceND/spaceToBatchND kernels (#5288). Thanks, @kinsei0916.

    Misc

    • Update lockfiles branch tfjs_3.8.0_lockfiles lock files. (#5332).
    • Update monorepo to 3.8.0. (#5331).
    • [wasm] Mark 'os' as excluded in browser bundles (#5302).
    • Fix flipLeftRight op in various backends and add more tests (#5270).
    • Implement cosh in tfjs-backend-wasm (#5260). Thanks, @carrycooldude.
    • Switch WASM TopK Algorithm to use Floyd-Rivest (#5244).
    • Switch WebGL TopK algorithm to use bitonic (#5233).
    • Update WASM README about setting up cross-origin isolation (#5169).

    Cpu (3.7.0 ==> 3.8.0)

    Misc

    • Update lockfiles branch tfjs_3.8.0_lockfiles lock files. (#5332).
    • Update monorepo to 3.8.0. (#5331).
    • Fix flipLeftRight op in various backends and add more tests (#5270).
    • Switch CPU TopK Algorithm to use Floyd-Rivest (#5236).
    • Switch WebGL TopK algorithm to use bitonic (#5233).

    Webgl (3.7.0 ==> 3.8.0)

    Features

    • webgl: Refactor the custom uniforms support (#5258). Thanks, @qjia7.
    • webgl: Add shapes uniforms to reduce shader compilation time (#5240). Thanks, @qjia7.

    Bug fixes

    • fixed depthwise conv2d packed shader issue where dilation is great than 2 (#5320).
    • Remove redeclared value uniform (#5312).

    Performance

    • webgl: Add shapes uniforms to reduce shader compilation time (#5240). Thanks, @qjia7.

    Misc

    • Update lockfiles branch tfjs_3.8.0_lockfiles lock files. (#5332).
    • Update monorepo to 3.8.0. (#5331).
    • Add flags for controlling when TopK GPU is used (#5328). Thanks, @ahmedsabie.
    • Unpack input in TopK WebGL kernel (#5286).
    • Fix flipLeftRight op in various backends and add more tests (#5270).
    • Switch WebGL TopK algorithm to use bitonic (#5233).
    • Fix webgl backend memory leak in firefox (#5193).
    Source code(tar.gz)
    Source code(zip)
  • tfjs-react-native-v0.6.0(Jun 23, 2021)

    tfjs-react-native (0.5.0 ==> 0.6.0)

    Documentation

    • Update tfjs-react-native README to add steps to fix a build error when using expo for web (#4805).
    • [tfjs-react-native] fix metro link (#4450). Thanks, @AmanRaj1608.

    Security

    • fix sec vulnerabilities for all packages (#4869).

    Misc

    • Update tfjs-react-native to 0.6.0. (#5247).
    • Update react-native monorepo dependencies to 3.7.0 (#5217).
    • Replace deprecated package '@react-native-community/async-storage' (#5228). Thanks, @gregor-mittag.
    • Build tfjs-core and tfjs-backend-cpu with Bazel (#4856).
    • Bump jpeg-js (#4718).
    • Upgrade react native to 3.1.0 (#4610).
    • Run browserstack tests with an allowance for flakiness (#4691).
    • docs: remove duplicate documentation line (#4599). Thanks, @autimio.
    Source code(tar.gz)
    Source code(zip)
  • tfjs-backend-webgpu-v0.0.1-alpha.7(Jun 4, 2021)

    tfjs-backend-webgpu (0.0.1-alpha.5 ==> 0.0.1-alpha.7)

    Features

    • expose CPU_HANDOFF_SIZE_THRESHOLD as a configurable flag (#5106).
    • [webgpu] Add support for gatherND (#5057). Thanks, @haoyunfeix.
    • [webgpu] Add support for sqrt (#5058). Thanks, @haoyunfeix.
    • [webgpu] Add resizeNearestNeighbor support (#5059). Thanks, @haoyunfeix.
    • added support for sigmoid activation function for fused ops (#4948).

    Bug fixes

    • webgpu: Fix a potential bug in vector*matrix (#5165). Thanks, @qjia7.
    • webgpu: Fix the reduce shader key (#5148). Thanks, @qjia7.
    • webgpu: Fix the mirrorPad error (#5131). Thanks, @qjia7.
    • webgpu: Add CPU_HANDOFF_SIZE_THRESHOLD (#5119). Thanks, @qjia7.

    Performance

    • webgpu: Optimize Conv2DBackpropInput (#5155). Thanks, @qjia7.
    • webgpu: Add vector*matrix kernel (#5129). Thanks, @qjia7.
    • webgpu: Optimize getSamplerAtOutputCoords (#5105). Thanks, @qjia7.
    • [webgpu] Use uniform instead of constant for shape (#4819). Thanks, @axinging.

    Security

    • Fix CVE-2021-23362 in tfjs-backend-webgpu (#5086). Thanks, @aravindvnair99.

    Misc

    • Bump version to 0.0.1-alpha.7 (#5176).
    • Upgrade webgpu to 0.0.1-alpha.6 (#5175).
    • [webgpu] Fix string comparison fail and add equal (#5149). Thanks, @axinging.
    • webgpu: Fix the OOB error in transform/slice/stridedSlice (#5164). Thanks, @qjia7.
    • webgpu: Add Pow kernel (#5130). Thanks, @qjia7.
    • [webgpu] Add op StringNGrams (#5118). Thanks, @axinging.
    • [webgpu] Fix nan errors (#5121). Thanks, @axinging.
    • [webgpu] Update yarn.lock for package types/long (#5125). Thanks, @axinging.
    • [webgpu] Add shared memory flag to binary op shared shader key (#5083). Thanks, @axinging.
    • webgpu: Remove cpu backend (#5101). Thanks, @qjia7.
    • webgpu: Add Conv2DBackpropInput kernel (#5104). Thanks, @qjia7.
    • [webgpu] Fix invalid WGPUBindingType (#5082). Thanks, @axinging.
    • webgpu: run concat on cpu if possible (#5076). Thanks, @qjia7.
    • [webgpu] Reuse GPUBindGroupLayout and GPUPipelineLayout (#5001). Thanks, @axinging.
    • webgpu: fix/suppress some failure cases (#5065). Thanks, @qjia7.
    • webgpu: Add Transform kernel (#5061). Thanks, @qjia7.
    • webgpu: upgrade @webgpu/types (#5062). Thanks, @qjia7.
    • [webgpu] Simplify shader key of slice and cropAndResize (#4993). Thanks, @axinging.
    • [WebGPU] Expand texture usage for fromPixels (#5016). Thanks, @shaoboyan.
    • webgpu: Use outShapeStrides in more places (#4967). Thanks, @qjia7.
    • webgpu: Use uniforms for PadV2 paddings (#4966). Thanks, @qjia7.
    • [webgpu] Use uniform for program batchNorm, clip, im2col (#4958). Thanks, @axinging.
    Source code(tar.gz)
    Source code(zip)
  • tfjs-v3.7.0(Jun 3, 2021)

    Core (3.6.0 ==> 3.7.0)

    Features

    • Added string support for logical binary ops, gatherND, and StridedSlice (#5135).
    • Add kernel StringToHashBucketFast for CPU and WebGL backend (#5052).
    • align allbacks with tensorflow on NaN propogation with min/max ops (#5028).

    Bug fixes

    • Fix CI failure for requiring the long package. (#5085).
    • uses require instead of enable esmoduleinterop flag (#5074).

    Security

    • Bump ws from 7.4.4 to 7.4.6 in /tfjs-core (#5141). Thanks, @dependabot[bot].
    • Bump hosted-git-info from 2.8.8 to 2.8.9 in /tfjs-core (#5048). Thanks, @dependabot[bot].

    Misc

    • Update monorepo to 3.7.0. (#5168).
    • [webgpu] Add op StringNGrams (#5118). Thanks, @axinging.
    • Allow string inputs in gatherND (#5157).
    • Add kernel StringNGrams for CPU and WebGL backend (#5102).
    • Add kernel StringSplit for CPU and WebGL backend (#5089).
    • Add kernel SparseSegmentMean for CPU and WebGL backend (#5025).
    • Add kernel SparseSegmentSum for CPU and WebGL backend (#5018).
    • Fix SparseFillEmptyRows output shape bug (#5020).
    • Upgrade rules_nodejs to 3.4.1 and karma to 6.3.2 (#5006).

    Data (3.6.0 ==> 3.7.0)

    Features

    • Add kernel StringToHashBucketFast for CPU and WebGL backend (#5052).

    Misc

    • Update lockfiles branch tfjs_3.7.0_lockfiles lock files. (#5170).
    • Update monorepo to 3.7.0. (#5168).

    Layers (3.6.0 ==> 3.7.0)

    Features

    • use vanilla js for the math util methods (#5096).
    • Add kernel StringToHashBucketFast for CPU and WebGL backend (#5052).

    Bug fixes

    • uses require instead of enable esmoduleinterop flag (#5074).

    Misc

    • Update lockfiles branch tfjs_3.7.0_lockfiles lock files. (#5170).
    • Update monorepo to 3.7.0. (#5168).

    Converter (3.6.0 ==> 3.7.0)

    Features

    • Fuse depthwise conv2d with activation function without biasAdd (#4910).
    • [converter] Support function execution with named output indexing (#5127).
    • Add support for StringSplit conversion (#5107).
    • Add support for StringToHashBucketFast conversion (#5067).
    • Add kernel StringToHashBucketFast for CPU and WebGL backend (#5052).
    • [tfjs-converter] heuristically determine the signature name (#5043).

    Bug fixes

    • Allow up to TF-Hub==0.12 (#5152). Thanks, @chongkong.
    • [converter] Support function execution with named output indexing (#5127).
    • Add missing op categories in converter and tests (#5114).
    • check function def for unsupported ops (#5090).
    • uses require instead of enable esmoduleinterop flag (#5074).
    • [tfjs-converter] heuristically determine the signature name (#5043).

    Misc

    • Update lockfiles branch tfjs_3.7.0_lockfiles lock files. (#5170).
    • Update monorepo to 3.7.0. (#5168).
    • Add support for StringNGrams conversion (#5109).
    • Add support for SparseSegmentMean conversion (#5037).
    • Add support for SparseSegmentSum conversion (#5026).
    • Add support for SparseFillEmptyRows conversion (#5005).

    Node (3.6.0 ==> 3.7.0)

    Features

    • [node] Add SummaryFileWriter.histogram TensorBoard logging (#5079). Thanks, @MaximeKjaer.
    • Added string support for logical binary ops, gatherND, and StridedSlice (#5135).
    • Make tfjs-node create a new TFJSBackend for each environment (#5108). Thanks, @bmcdorman.
    • Add kernel StringToHashBucketFast for CPU and WebGL backend (#5052).
    • align allbacks with tensorflow on NaN propogation with min/max ops (#5028).

    Bug fixes

    • Make tfjs-node create a new TFJSBackend for each environment (#5108). Thanks, @bmcdorman.
    • uses require instead of enable esmoduleinterop flag (#5074).
    • fix the node mem leak on saved model execution (#5012).

    Misc

    • Update lockfiles branch tfjs_3.7.0_lockfiles lock files. (#5170).
    • Update monorepo to 3.7.0. (#5168).
    • Add kernel StringNGrams for CPU and WebGL backend (#5102).
    • Add kernel StringSplit for CPU and WebGL backend (#5089).
    • update node-pre-gyp package (#5036).
    • Add kernel SparseSegmentMean for CPU and WebGL backend (#5025).
    • Add kernel SparseSegmentSum for CPU and WebGL backend (#5018).

    Wasm (3.6.0 ==> 3.7.0)

    Features

    • Added string support for logical binary ops, gatherND, and StridedSlice (#5135).
    • align allbacks with tensorflow on NaN propogation with min/max ops (#5028).

    Bug fixes

    • [wasm] fix #5021: wechat webassembly support (#5056). Thanks, @deepkolos.

    Documentation

    • Update README of WASM backend (#5097).

    Security

    • Bump ws from 7.4.4 to 7.4.6 in /tfjs-backend-wasm (#5140). Thanks, @dependabot[bot].
    • Bump browserslist from 4.16.3 to 4.16.6 in /tfjs-backend-wasm (#5116). Thanks, @dependabot[bot].

    Misc

    • Update lockfiles branch tfjs_3.7.0_lockfiles lock files. (#5170).
    • Update monorepo to 3.7.0. (#5168).

    Cpu (3.6.0 ==> 3.7.0)

    Features

    • Added string support for logical binary ops, gatherND, and StridedSlice (#5135).
    • Add kernel StringToHashBucketFast for CPU and WebGL backend (#5052).
    • align allbacks with tensorflow on NaN propogation with min/max ops (#5028).

    Bug fixes

    • uses require instead of enable esmoduleinterop flag (#5074).

    Security

    • Fix CVE-2021-23362 in tfjs-backend-cpu (#5088). Thanks, @aravindvnair99.

    Misc

    • Update lockfiles branch tfjs_3.7.0_lockfiles lock files. (#5170).
    • Update monorepo to 3.7.0. (#5168).
    • [webgpu] Add op StringNGrams (#5118). Thanks, @axinging.
    • Add kernel StringNGrams for CPU and WebGL backend (#5102).
    • Add kernel StringSplit for CPU and WebGL backend (#5089).
    • Add kernel SparseSegmentMean for CPU and WebGL backend (#5025).
    • Add kernel SparseSegmentSum for CPU and WebGL backend (#5018).
    • Fix SparseFillEmptyRows output shape bug (#5020).
    • Upgrade rules_nodejs to 3.4.1 and karma to 6.3.2 (#5006).

    Webgl (3.6.0 ==> 3.7.0)

    Features

    • Added string support for logical binary ops, gatherND, and StridedSlice (#5135).
    • expose CPU_HANDOFF_SIZE_THRESHOLD as a configurable flag (#5106).
    • Add kernel StringToHashBucketFast for CPU and WebGL backend (#5052).
    • align allbacks with tensorflow on NaN propogation with min/max ops (#5028).

    Security

    • Fix CVE-2021-23362 in tfjs-backend-webgl (#5087). Thanks, @aravindvnair99.

    Misc

    • Update lockfiles branch tfjs_3.7.0_lockfiles lock files. (#5170).
    • Update monorepo to 3.7.0. (#5168).
    • [webgpu] Add op StringNGrams (#5118). Thanks, @axinging.
    • Add kernel StringNGrams for CPU and WebGL backend (#5102).
    • Add kernel StringSplit for CPU and WebGL backend (#5089).
    • [webgl] Merge nightly CI karma tests for more parallelism (#5003).
    • Add kernel SparseSegmentMean for CPU and WebGL backend (#5025).
    • Add kernel SparseSegmentSum for CPU and WebGL backend (#5018).
    Source code(tar.gz)
    Source code(zip)
  • tfjs-v3.6.0(Apr 29, 2021)

    Core (3.5.0 ==> 3.6.0)

    Features

    • Add Kernel SparseFillEmptyRows for CPU and WebGL backend (#4992). Thanks, @ahmedsabie.
    • [wasm] Add transform op. (#4980).
    • Create threshold.ts (#4906). Thanks, @BadMachine.

    Bug fixes

    • Fix tile rank > 6 (#5008).
    • fix nightly failure (#4986).
    • fixed wasm conv2d backprop error when strides is greater than 1 (#4981).

    Misc

    • Update monorepo to 3.6.0. (#5009).
    • Generate code coverage reports for packages (#4946).

    Data (3.5.0 ==> 3.6.0)

    Misc

    • Update lockfiles branch tfjs_3.6.0_lockfiles lock files. (#5010).
    • Update monorepo to 3.6.0. (#5009).
    • Generate code coverage reports for packages (#4946).

    Layers (3.5.0 ==> 3.6.0)

    Misc

    • Update lockfiles branch tfjs_3.6.0_lockfiles lock files. (#5010).
    • Update monorepo to 3.6.0. (#5009).
    • Generate code coverage reports for packages (#4946).

    Converter (3.5.0 ==> 3.6.0)

    Misc

    • Update lockfiles branch tfjs_3.6.0_lockfiles lock files. (#5010).
    • Update monorepo to 3.6.0. (#5009).
    • [Converter] removed h5py direct deps to rely on TF (#4997).

    Node (3.5.0 ==> 3.6.0)

    Features

    • Add Kernel SparseFillEmptyRows for CPU and WebGL backend (#4992). Thanks, @ahmedsabie.

    Bug fixes

    • add 8 supported napi versions (#4991).

    Misc

    • Update lockfiles branch tfjs_3.6.0_lockfiles lock files. (#5010).
    • Update monorepo to 3.6.0. (#5009).
    • Generate code coverage reports for packages (#4946).

    Wasm (3.5.0 ==> 3.6.0)

    Features

    • [wasm] Add transform op. (#4980).
    • generate wechat miniprogram compatible wasm js file (#4977).

    Bug fixes

    • fixed wasm conv2d backprop error when strides is greater than 1 (#4981).
    • generate wechat miniprogram compatible wasm js file (#4977).

    Misc

    • Update lockfiles branch tfjs_3.6.0_lockfiles lock files. (#5010).
    • Update monorepo to 3.6.0. (#5009).

    Cpu (3.5.0 ==> 3.6.0)

    Features

    • Add Kernel SparseFillEmptyRows for CPU and WebGL backend (#4992). Thanks, @ahmedsabie.

    Misc

    • Update lockfiles branch tfjs_3.6.0_lockfiles lock files. (#5010).
    • Update monorepo to 3.6.0. (#5009).
    • Generate code coverage reports for packages (#4946).

    Webgl (3.5.0 ==> 3.6.0)

    Features

    • Add Kernel SparseFillEmptyRows for CPU and WebGL backend (#4992). Thanks, @ahmedsabie.
    • added packed version of resize nearest neighbor kernel (#4985).
    • depthwise packed perf: reduce texel read for dilation of 2 (#4954).

    Bug fixes

    • Fix tile rank > 6 (#5008).

    Misc

    • Update lockfiles branch tfjs_3.6.0_lockfiles lock files. (#5010).
    • Update monorepo to 3.6.0. (#5009).
    • Generate code coverage reports for packages (#4946).
    Source code(tar.gz)
    Source code(zip)
  • tfjs-vis-v1.5.1(Apr 23, 2021)

    tfjs-vis (1.5.0 ==> 1.5.1)

    Security

    • more sec update (#4885).
    • fix sec vulnerabilities for all packages (#4869).
    • Bump y18n from 3.2.1 to 3.2.2 in /tfjs-vis (#4878). Thanks, @dependabot[bot].
    • Bump elliptic from 6.5.2 to 6.5.4 in /tfjs-vis (#4712). Thanks, @dependabot[bot].
    • Bump lodash from 4.17.15 to 4.17.21 in /tfjs-vis (#4777). Thanks, @dependabot[bot].
    • Bump vega from 5.13.0 to 5.17.3 in /tfjs-vis (#4693). Thanks, @dependabot[bot].

    Misc

    • Update tfjs-vis to 1.5.1. (#4974).
    • Upgrade tfjs deps to 3.5.0 (#4973).
    • [vis] Bump vega to 5.20.0 (#4866).
    • Run browserstack tests with an allowance for flakiness (#4691).
    Source code(tar.gz)
    Source code(zip)
  • tfjs-v3.5.0(Apr 22, 2021)

    Core (3.4.0 ==> 3.5.0)

    Features

    • Add Kernel SparseReshape for CPU and WebGL backend (#4956).
    • added support for sigmoid activation function for fused ops (#4948).
    • [core] Add support for explicit padding for depthwiseConv. (#4321).

    Documentation

    • Add missing headings to core operations (#4938). Thanks, @MaximeKjaer.

    Misc

    • Update monorepo to 3.5.0. (#4968).
    • Build tfjs-core and tfjs-backend-cpu with Bazel (#4856).

    Data (3.4.0 ==> 3.5.0)

    Misc

    • Update lockfiles branch tfjs_3.5.0_lockfiles lock files. (#4970).
    • Update monorepo to 3.5.0. (#4968).

    Layers (3.4.0 ==> 3.5.0)

    Features

    • add mish (#4960). Thanks, @WenheLI.
    • Feat/add mish (#4950). Thanks, @WenheLI.

    Misc

    • Update lockfiles branch tfjs_3.5.0_lockfiles lock files. (#4970).
    • Update monorepo to 3.5.0. (#4968).

    Converter (3.4.0 ==> 3.5.0)

    Features

    • added support for sparseReshape op for converter (#4963).
    • Add Kernel SparseReshape for CPU and WebGL backend (#4956).

    Misc

    • Update lockfiles branch tfjs_3.5.0_lockfiles lock files. (#4970).
    • Update monorepo to 3.5.0. (#4968).
    • Build tfjs-core and tfjs-backend-cpu with Bazel (#4856).

    Node (3.4.0 ==> 3.5.0)

    Features

    • Add Kernel SparseReshape for CPU and WebGL backend (#4956).
    • added support for sigmoid activation function for fused ops (#4948).
    • [core] Add support for explicit padding for depthwiseConv. (#4321).

    Misc

    • Update lockfiles branch tfjs_3.5.0_lockfiles lock files. (#4970).
    • Update monorepo to 3.5.0. (#4968).

    Wasm (3.4.0 ==> 3.5.0)

    Features

    • added support for sigmoid activation function for fused ops (#4948).

    Misc

    • Update lockfiles branch tfjs_3.5.0_lockfiles lock files. (#4970).
    • Update monorepo to 3.5.0. (#4968).
    • [wasm] Fix wasm backend not starting any threads (#4957).
    • Build tfjs-core and tfjs-backend-cpu with Bazel (#4856).

    Cpu (3.4.0 ==> 3.5.0)

    Features

    • Add Kernel SparseReshape for CPU and WebGL backend (#4956).
    • added support for sigmoid activation function for fused ops (#4948).
    • [core] Add support for explicit padding for depthwiseConv. (#4321).

    Misc

    • Update lockfiles branch tfjs_3.5.0_lockfiles lock files. (#4970).
    • Update monorepo to 3.5.0. (#4968).
    • Build tfjs-core and tfjs-backend-cpu with Bazel (#4856).

    Webgl (3.4.0 ==> 3.5.0)

    Features

    • Add Kernel SparseReshape for CPU and WebGL backend (#4956).
    • added support for sigmoid activation function for fused ops (#4948).

    Bug fixes

    • fix nightly failure (#4951).
    • [webgl]Remove cpu backend. (#4920).
    • [webgl]Fix tile rank 6. (#4928).

    Misc

    • Update lockfiles branch tfjs_3.5.0_lockfiles lock files. (#4970).
    • Update monorepo to 3.5.0. (#4968).
    • Allow Concat to run on CPU for small tensors (#4940). Thanks, @ardoerlemans.
    Source code(tar.gz)
    Source code(zip)
WebGL-accelerated ML // linear algebra // automatic differentiation for JavaScript.

This repository has been archived in favor of tensorflow/tfjs. This repo will remain around for some time to keep history but all future PRs should be

null 8.5k Dec 31, 2022
Run Keras models in the browser, with GPU support using WebGL

**This project is no longer active. Please check out TensorFlow.js.** The Keras.js demos still work but is no longer updated. Run Keras models in the

Leon Chen 4.9k Dec 29, 2022
This is a JS/TS library for accelerated tensor computation intended to be run in the browser.

TensorJS TensorJS How to use Tensors Tensor operations Reading values Data types Converting between backends Onnx model support Optimizations Running

Frithjof Winkelmann 32 Jun 26, 2022
Train and test machine learning models for your Arduino Nano 33 BLE Sense in the browser.

Tiny Motion Trainer Train and test IMU based TFLite models on the Web Overview Since 2009, coders have created thousands of experiments using Chrome,

Google Creative Lab 59 Nov 21, 2022
Visualizer for neural network, deep learning, and machine learning models

Netron is a viewer for neural network, deep learning and machine learning models. Netron supports ONNX, TensorFlow Lite, Caffe, Keras, Darknet, Paddle

Lutz Roeder 21k Jan 5, 2023
A JavaScript deep learning and reinforcement learning library.

neurojs is a JavaScript framework for deep learning in the browser. It mainly focuses on reinforcement learning, but can be used for any neural networ

Jan 4.4k Jan 4, 2023
A neural network library built in JavaScript

A flexible neural network library for Node.js and the browser. Check out a live demo of a movie recommendation engine built with Mind. Features Vector

Steven Miller 1.5k Dec 31, 2022
Linear Regression library in pure Javascript

Lyric Linear Regression library in pure Javascript Lyric can help you analyze any set of x,y series data by building a model that can be used to: Crea

Flurry, Inc. 43 Dec 22, 2020
architecture-free neural network library for node.js and the browser

Synaptic Important: Synaptic 2.x is in stage of discussion now! Feel free to participate Synaptic is a javascript neural network library for node.js a

Juan Cazala 6.9k Dec 27, 2022
An NLP library for building bots, with entity extraction, sentiment analysis, automatic language identify, and so more

NLP.js If you're looking for the version 3 docs, you can find them here Version 3 "NLP.js" is a general natural language utility for nodejs. Currently

AXA 5.3k Dec 29, 2022
A lightweight library for neural networks that runs anywhere

Synapses A lightweight library for neural networks that runs anywhere! Getting Started Why Sypapses? It's easy Add one dependency to your project. Wri

Dimos Michailidis 65 Nov 9, 2022
A library for prototyping realtime hand detection (bounding box), directly in the browser.

Handtrack.js View a live demo in your browser here. Handtrack.js is a library for prototyping realtime hand detection (bounding box), directly in the

Victor Dibia 2.7k Jan 3, 2023
A speech recognition library running in the browser thanks to a WebAssembly build of Vosk

A speech recognition library running in the browser thanks to a WebAssembly build of Vosk

Ciaran O'Reilly 207 Jan 3, 2023
Machine Learning library for node.js

shaman Machine Learning library for node.js Linear Regression shaman supports both simple linear regression and multiple linear regression. It support

Luc Castera 108 Feb 26, 2021
Support Vector Machine (SVM) library for nodejs

node-svm Support Vector Machine (SVM) library for nodejs. Support Vector Machines Wikipedia : Support vector machines are supervised learning models t

Nicolas Panel 296 Nov 6, 2022
machinelearn.js is a Machine Learning library written in Typescript

machinelearn.js is a Machine Learning library written in Typescript. It solves Machine Learning problems and teaches users how Machine Learning algorithms work.

machinelearn.js 522 Jan 2, 2023
FANN (Fast Artificial Neural Network Library) bindings for Node.js

node-fann node-fann is a FANN bindings for Node.js. FANN (Fast Artificial Neural Network Library) is a free open source neural network library, which

Alex Kocharin 186 Oct 31, 2022
JavaScript API for face detection and face recognition in the browser and nodejs with tensorflow.js

face-api.js JavaScript face recognition API for the browser and nodejs implemented on top of tensorflow.js core (tensorflow/tfjs-core) Click me for Li

Vincent Mühler 14.6k Jan 2, 2023
Simple Javascript implementation of the k-means algorithm, for node.js and the browser

#kMeans.js Simple Javascript implementation of the k-means algorithm, for node.js and the browser ##Installation npm install kmeans-js ##Example (JS)

Emil Bay 44 Aug 19, 2022