TensorFlow.js 是专为前端优化的轻量级 ML 库,支持浏览器实时推理、迁移学习、从零训练及加载 Python 模型;三步可跑通 MNIST 示例,实用中需注意模型大小、转换工具和后端加速。

JavaScript 本身不内置机器学习能力,但通过 TensorFlow.js(简称 TF.js),你可以在浏览器或 Node.js 环境中直接用 JS 训练、加载和运行机器学习模型——无需 Python,也不用部署后端服务。
TensorFlow.js 能做什么?
它不是“JS 版 TensorFlow”,而是专为前端优化的轻量级 ML 库,支持:
- 在浏览器中实时推理(比如人脸检测、图像分类、语音识别)
- 用少量数据微调预训练模型(transfer learning)
- 从零定义并训练简单模型(如线性回归、CNN、LSTM)
- 加载 Python 训练好的 Keras/TensorFlow 模型(需先转换为 TF.js 格式)
快速上手:三步跑通一个例子
以浏览器中识别手写数字(MNIST)为例:
- 引入库:在 HTML 中加一行 script
- 加载数据 + 预处理:TF.js 提供内置 MNIST 数据集 const {trainImages, trainLabels} = await tf.data.mnist.load(); 图像归一化(0–255 → 0–1)、标签 one-hot 编码
- 定义并训练模型: const model = tf.sequential(); model.add(tf.layers.dense({inputShape: [784], units: 128, activation: 'relu'})); model.add(tf.layers.dense({units: 10, activation: 'softmax'})); model.compile({optimizer: 'adam', loss: 'categoricalCrossentropy', metrics: ['accuracy']}); await model.fit(trainImages, trainLabels, {epochs: 5});
实用技巧和注意事项
真实项目中容易卡住的地方:
标签: javascript python java html js 前端 node.js node go npm 编码 浏览器
还木有评论哦,快来抢沙发吧~