A hardware-accelerated JavaScript library for training and deploying machine learning models in browsers and Node.js.
TensorFlow.js is an open-source JavaScript library for machine learning that runs in browsers and Node.js. It provides hardware-accelerated APIs for training and deploying ML models, enabling developers to build intelligent applications without relying on server-side infrastructure. The library supports both low-level linear algebra operations and high-level layers similar to Keras.
JavaScript developers and data scientists who want to integrate machine learning into web applications, Node.js services, or client-side projects. It's also suitable for educators and researchers exploring ML in browser environments.
Developers choose TensorFlow.js for its seamless integration with the JavaScript ecosystem, hardware acceleration via WebGL/WebGPU, and the ability to run ML models entirely client-side for privacy and low latency. It offers a consistent API across browsers and Node.js with support for importing pre-trained TensorFlow models.
A WebGL accelerated JavaScript library for training and deploying ML models.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports WebGL, WASM, and WebGPU backends for optimized performance in browsers, enabling ML without server-side infrastructure as highlighted in the description.
Allows training and inference directly in the browser, facilitating privacy-preserving apps and interactive demos, demonstrated in the script tag example.
Includes converters for TensorFlow SavedModel and Keras models, making it easy to reuse pre-trained Python models in JavaScript environments.
Offers both low-level linear algebra (Core API) and high-level layers similar to Keras, catering to different developer expertise as described in the APIs section.
Not all operations are uniformly available or optimized across backends like CPU, WebGL, and WASM, as indicated by the ops matrix link, leading to compatibility issues.
The full library can significantly increase web app load times, though modular imports are available, as noted in the README's bundle size warning.
Browser-based backends like WebGL depend on user hardware and browser capabilities, resulting in unpredictable performance compared to native frameworks.