0

0

javascript机器学习如何实现_有哪些可用的前端ai库【教程】

夜晨

夜晨

发布时间:2026-01-31 17:54:49

|

268人浏览过

|

来源于php中文网

原创

JavaScript前端AI以推理为核心,依赖TensorFlow.js加载Web兼容模型,支持图像分类等任务;ONNX.js已归档,推荐@xenova/transformers运行Hugging Face模型;训练应在Python端完成,模型体积建议≤5MB。

javascript机器学习如何实现_有哪些可用的前端ai库【教程】

JavaScript 本身不内置机器学习能力,但通过前端 AI 库可以实现轻量级模型推理、数据预处理、甚至训练(受限于浏览器性能)。真正能落地的场景是:模型已训练好、导出为 Web 兼容格式(如 TensorFlow.js.json + .bin),再在浏览器中加载运行。

TensorFlow.js 是当前最成熟的选择

它支持从零训练(tf.sequential())、迁移学习(tf.loadLayersModel())、以及直接推理。模型可来自 Python 端导出(用 tensorflowjs_converter),也可用 JS 原生定义。

  • 适合图像分类、姿态估计、文本嵌入、简单时序预测等任务
  • GPU 加速依赖 WebGL,低端设备或 iOS Safari 可能回退到 CPU,延迟明显升高
  • tf.loadGraphModel()tf.loadLayersModel() 更快,但只支持冻结图(不能微调)
  • 注意内存泄漏:每次 tf.tidy() 必须包裹张量操作,否则 tf.memory().numTensors 会持续增长

ONNX.js 已归档,别再用了

微软曾维护的 onnxjs 项目已于 2022 年正式归档(npm WARN deprecated onnxjs)。它无法支持 ONNX opset 14+,且无 WebGL 后端,纯 CPU 推理极慢。现在想跑 ONNX 模型,唯一可行路径是转成 TensorFlow.js 格式(用 onnx-tf),再用 TF.js 加载。

  • 不要尝试 import { InferenceSession } from 'onnxjs'
  • 替代方案:用 @xenova/transformers(底层基于 WebAssembly + 自研推理引擎,支持部分 ONNX 模型)

@xenova/transformers 能开箱即用跑 Hugging Face 模型

这是目前对前端 NLP 最友好的库,封装了 tokenizer、pipeline、自动模型下载逻辑。它不依赖 TensorFlow.js,而是用 WebAssembly 运行量化后的 PyTorch 模型(.safetensors + config.json)。

Sesame AI
Sesame AI

一款开创性的语音AI伴侣,具备先进的自然对话能力和独特个性。

下载

立即学习Java免费学习笔记(深入)”;

  • 一行代码即可调用:const pipeline = await pipeline('sentiment-analysis', 'Xenova/distilbert-base-uncased-finetuned-sst-2-english')
  • 模型自动从 Hugging Face Hub 下载并缓存在 indexedDB,第二次加载极快
  • 仅支持部分模型(见其 supported_models.json),不支持自定义训练或修改结构
  • 输出是标准 JS 对象,无需手动解析 tensor —— 例如情感分析返回 { label: 'POSITIVE', score: 0.999 }

训练不是前端该干的事,推理才是合理边界

浏览器里训练一个 ResNet-50?理论上可行,实际上卡顿、耗电、用户关页就中断。真实项目中,99% 的“JS 机器学习”应理解为:前端只做数据采集(摄像头、麦克风)、预处理(归一化、resize)、模型加载与推理、结果可视化。

  • 训练必须放在 Python + GPU 环境;前端只负责把原始输入(如一张 图片)转成 tf.tensor3d() 再喂给模型
  • 模型体积是硬门槛:TF.js 模型建议控制在 5MB 以内,否则首屏加载超时风险高
  • 如果需要实时性(如每秒 30 帧姿态估计),务必用 requestAnimationFrame 控制推理节奏,避免阻塞主线程

最容易被忽略的一点:模型版本和库版本强耦合。比如 @tensorflow/tfjs@4.22.0 加载用 @tensorflow/tfjs-converter@3.18.0 导出的模型可能报错 Unknown layer: Dense —— 不是因为代码写错,而是 converter 版本太旧,没写入层注册信息。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

420

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

536

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

313

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

77

2025.09.10

c语言const用法
c语言const用法

const是关键字,可以用于声明常量、函数参数中的const修饰符、const修饰函数返回值、const修饰指针。详细介绍:1、声明常量,const关键字可用于声明常量,常量的值在程序运行期间不可修改,常量可以是基本数据类型,如整数、浮点数、字符等,也可是自定义的数据类型;2、函数参数中的const修饰符,const关键字可用于函数的参数中,表示该参数在函数内部不可修改等等。

532

2023.09.20

线程和进程的区别
线程和进程的区别

线程和进程的区别:线程是进程的一部分,用于实现并发和并行操作,而线程共享进程的资源,通信更方便快捷,切换开销较小。本专题为大家提供线程和进程区别相关的各种文章、以及下载和课程。

525

2023.08.10

线程和进程的区别
线程和进程的区别

线程和进程的区别:线程是进程的一部分,用于实现并发和并行操作,而线程共享进程的资源,通信更方便快捷,切换开销较小。本专题为大家提供线程和进程区别相关的各种文章、以及下载和课程。

525

2023.08.10

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

515

2023.06.20

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

54

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 4.4万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 2.6万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号