TensorFlow.js支持三类模型:预训练模型(如cocossd、blazeface)、Python训练后转换的自定义模型、纯前端小规模训练模型;需注意加载性能、兼容性、隐私及终端适配。
JavaScript 本身不内置机器学习能力,但通过 TensorFlow.js(简称 TF.js),你可以在浏览器或 Node.js 环境中直接运行训练好的模型、微调模型,甚至从零训练简单模
型。
TF.js 支持三类主流使用方式,对应不同复杂度和场景:
tensorflowjs_converter 工具转成 TF.js 可加载的 JSON + 二进制权重格式。支持大多数常见结构(CNN、RNN、Transformer 小型变体等),但需注意:几行代码即可完成物体检测:
import * as tf from '@tensorflow/tfjs'; import * as cocoSsd from '@tensorflow-models/coco-ssd';// 加载模型(首次会下载约 10MB) const model = await cocoSsd.load();
// 对图像元素做推理 const img = document.getElementById('myImage'); const predictions = await model.detect(img);
// predictions 是包含 { bbox: [x,y,w,h], class: 'cat', score: 0.92 } 的数组 console.log(predictions);
@tensorflow/tfjs-node 绑定原生 C++ 后端,性能接近 Python,适合服务端模型部署不复杂但容易忽略:模型选择要匹配终端能力——移动端优先选 blazeface 而非 Posenet,Web 应用慎用未量化的 ResNet50。