TensorFlow.js
TensorFlow.js 是一个开源硬件加速的 JavaScript 库,用于
训练和部署机器学习模型。
在浏览器中开发机器学习
使用灵活直观的 API 使用低级
JavaScript 线性代数库或高级层 API。
在 Node.js 中开发 ML
使用相同的 TensorFlow.js API under the Node.js
运行。
运行现有模型
Use TensorFlow.js 模型转换器以正确运行预先存在的 TensorFlow 模型
在浏览器中。
重新训练现有模型
使用连接到浏览器的传感器数据重新训练预先存在的 ML 模型,或者
其他客户端数据。
关于此存储库
此存储库包含将
几个包。
蜜蜂属:
- TensorFlow.js Core,
a flexible low-level API for neural networks and numerical computation. - TensorFlow.js Layers,
a high-level API which implements functionality similar to
Keras. - TensorFlow.js Data,
a simple API to load and prepare data ****ogous to
tf.data. - TensorFlow.js Converter,
tools to import a TensorFlow SavedModel to TensorFlow.js - TensorFlow.js Vis,
in-browser visualization for TensorFlow.js models - TensorFlow.js AutoML,
Set of APIs to load and run models produced by
AutoML Edge.
后端/平台:
- TensorFlow.js CPU Backend,用于 Node.js 和浏览器的 pure-JS 后端。
- TensorFlow.js WebGL Backend,浏览器的 WebGL 后端。
- TensorFlow.js WASM Backend,浏览器的 WebAssembly 后端。
- TensorFlow.js WebGPU,浏览器的 WebGPU 后端。
- TensorFlow.js Node,通过 TensorFlow C++适配器Node.js平台。
- TensorFlow.js React Native,通过 expo-gl 适配器的 React Native 平台。
如果您关心捆绑包大小,可以单独导入这些包。
如果您正在寻找Node.js支持,请查看 TensorFlow.js Node directory.
Examples
查看我们的
examples repository
和我们的 tutorials.
画廊
请务必查看 the gallery 所有相关项目TensorFlow.js.
预训练模型
请务必查看我们的 models repository 我们托管预训练模型的地方
在 NPM 上。
基准
- Local benchmark tool.使用此网页工具收集与性能相关的指标(速度、内存等) TensorFlow.js models and kernels 在本地设备上 与 CPU、WebGL 或 WASM 后端。您可以按照以下方式对自定义模型进行基准测试guide.
- Multi-device benchmark tool.使用此工具收集与性能相关的相同指标 在远程设备的上**.
入门指南
主要有两种方式可以获得 TensorFlow.js in your JavaScript project:
通过 script tags or by installing it from NPM
and using a build tool like Parcel,
WebPack, or Rollup.
通过脚本标签
将以下代码添加到 HTML 文件:
12345678910111213141516171819202122232425262728293031323334 <html> <head> <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>
在浏览器中打开该 HTML 文件,代码应该会运行!
通过 NPM
Add TensorFlow.js 使用以下命令添加到您的项目中yarn or npm. 注意: 因为
我们使用 ES2017 语法(例如 import),此工作流程假设您使用的是现代浏览器或打包器/转译器
将您的代码转换为旧浏览器可以理解的内容。查看我们的
examples
to see how we use Parcel 构建
我们的代码。但是,您可以自由使用您喜欢的任何构建工具。
123456789101112131415161718 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();});
查看我们的 tutorials, examples
and documentation 了解更多详情。
导入预训练模型
我们支持从以下位置移植预训练模型:
不同后端支持各种作
请参阅以下内容:
了解更多
TensorFlow.js 是
TensorFlow 生态系统。更多信息:
- 如需社区的帮助,请使用
tfjs标记在TensorFlow Forum. - TensorFlow.js Website
- Tutorials
- API reference
- TensorFlow.js Blog
谢谢 BrowserStack,用于提供测试支持。
免责声明 © 2025 - 虚宝阁
本站部分源码来源于网络,版权归属原开发者,用户仅获得使用权。依据《计算机软件保护条例》第十六条,禁止:
- 逆向工程破解技术保护措施
- 未经许可的分发行为
- 去除源码中的原始版权标识
※ 本站源码仅用于学习和研究,禁止用于商业用途。如有侵权, 请及时联系我们进行处理。