0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

JavaScript也能玩机器学习—— 5个开源 JavaScript 机器学习框架

张康康 2018-10-10 13:43 次阅读

作者 | 极链科技Video++技术中心前端Team

整理 | 包包

3个月前,公司AI团队给我们分享了关于如何利用机器学习帮助我们分析图片、视频中的明星以及地标等。作为一名Web的前端开发者,我很好奇机器学习是如何工作的。我并没计划要系统学习关于机器学习(ML)神经网络NLP自然语言处理之类的知识,不过光看到这些概念就觉得很有意思,简直是打开了一个新的世界。

大多数玩机器学习的同事在工作中都是用 Python 这样的语言完成的,但既然身处在 JavaScript 这个生态中,为什么不试试一起使用JavaScript机器学习呢?而且使用 JavaScript 还允许运行在浏览器和服务器端、甚至是桌面程序上。通过做一些Search和研究发现,这里的确有一些简洁的库,可以将JavaScript机器学习DNN甚至NLP结合在一起,而且在浏览器端大多库会调用WebGL来做机器学习的计算。


1.TensorFlow.js (https://js.tensorflow.org/)

TensorFlow.js是一个开源的基于硬件加速的 JavaScript 的库,支持在浏览器或者 NodeJs 中来运行深度学习,并且能支持现有的Tensorflow 模型,由Google出品。可以说是前端深度学习框架Deeplearn.js的继任者。它提供一系列简洁和通俗易懂的API,用于训练、部署模型。而且因为可以运行在浏览器,所以可以直接通过URL就能分享你的程序:


通过摄像头来控制的吃豆人游戏

2. Brain.js (https://brain.js.org/)

Brain.js是同样可以运行在浏览器和 NodeJs 服务器端、能为不同的任务提供不同类型的训练网络。特点是让定义、训练以及执行神经网络变得特别简单。个人觉得这个库比较适合入门。比如以下短短几行代码已涵盖创建、训练和执行神经网络,一目了然:



Brain.js 的色彩识别器

3. Synaptic.js (http://caza.la/synaptic)

Synaptic可以运行在浏览器和 NodeJs 服务器端的神经网络库,你能够用它训练一层甚至是二层神经网络结构。该库包括一些内置的体系结构,如多层感知机(MLP)长短时记忆网络液体状态机和能够训练真实网络的训练器。


Synaptic image-filter perceptron

4. Machine learning tools (https://github.com/mljs/ml)

Machine Learning tools是由 mljs 组织开发的一组库,可以为 JavaScript 提供机器学习工具,包括监督和非监督学习人工神经网络 (ANN)回归算法,用于统计、数学等的支持库,类似于 Python 中的scikit-learn。


5. compromise (http://compromise.cool/)

基本上是NLP自然语言处理库 - 前端 JavaScript 实现的首选,这个库加上自己的资料库压缩成min.js后文件大小可达到300k以下,这样运行在浏览器和 NodeJs 服务器端都问题不大,具体可以做的东西是训练自定义语义库:划分出分词,获取句子的各个词性,可以把句子变积极消极、分词等,比如以下例子:


JavaScript 虽然不是机器学习的最佳编程语言,不过随着Web生态人工智能技术近年来的不断发展完善,越来越多这样的机器学习工具库被研发和发布。对于一名Web的前端开发者而言,用 JavaScript 作为入门机器学习的桥梁是个不错的选择,它同样能帮助你开启机器学习之旅。

参考资料

《A Web Developer’s Guide to Machine Learning in JavaScript》


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    3244

    浏览量

    42379
  • javascript
    +关注

    关注

    0

    文章

    516

    浏览量

    53787
  • 机器学习
    +关注

    关注

    66

    文章

    8373

    浏览量

    132395
收藏 人收藏

    评论

    相关推荐

    NPU与机器学习算法的关系

    在人工智能领域,机器学习算法是实现智能系统的核心。随着数据量的激增和算法复杂度的提升,对计算资源的需求在不断增长。NPU作为一种专门为深度学习
    的头像 发表于 11-15 09:19 266次阅读

    RISC-V如何支持不同的AI和机器学习框架和库?

    RISC-V如何支持不同的AI和机器学习框架和库?还请坛友们多多指教一下。
    发表于 10-10 22:24

    【「时间序列与机器学习」阅读体验】+ 简单建议

    这本书以其系统性的框架和深入浅出的讲解,为读者绘制了一幅时间序列分析与机器学习融合应用的宏伟蓝图。作者不仅扎实地构建了时间序列分析的基础知识,更巧妙地展示了机器
    发表于 08-12 11:21

    微软推出ONNX Runtime Web,利用WebGPU优化浏览器机器学习性能

    作为微软的 JavaScript 库,ONNX Runtime Web 使得网络开发者能在浏览器环境下部署机器学习模型,并提供多种硬件加速的后端支持。
    的头像 发表于 03-05 14:23 986次阅读

    谷歌模型框架是什么软件?谷歌模型框架怎么用?

    谷歌模型框架通常指的是谷歌开发的用于机器学习和人工智能的软件框架,其中最著名的是TensorFlow。TensorFlow是一
    的头像 发表于 03-01 16:25 789次阅读

    javascript属于前端吗

    JavaScript是一种高级编程语言,通常用于网页开发。它是一种脚本语言,可用于在网页上动态交互,提供更好的用户体验。JavaScript是一种广泛使用的技术,几乎所有现代网页都使用它来实现交互性
    的头像 发表于 12-03 11:43 1374次阅读

    javascript的变量中可以包含

    以下内容: 字符串(String):JavaScript中的字符串是由零或多个字符组成的序列。可以使用单引号或双引号将字符串括起来。例如: let name = "John" ; 数值(Number
    的头像 发表于 12-03 11:34 673次阅读

    JavaScript的语法和基本功能

    JavaScript(简称JS)是一种常用的脚本编程语言,广泛应用于网页开发、移动应用开发等领域。正式的JS标准由Ecma国际组织制定并维护,最新的ECMAScript标准定义了JavaScript
    的头像 发表于 12-03 11:15 571次阅读

    怎样开启javascript功能

    JavaScript是一种客户端脚本语言,它可以在网页中实现动态交互和功能增强。在现代网页开发中,几乎所有的浏览器都支持JavaScript,因此,开启JavaScript功能是很简单的。 要开启
    的头像 发表于 12-03 11:13 3533次阅读

    JavaScript的用途和功能

    JavaScript是一种广泛使用的脚本语言,用于为网站添加动态功能和交互性。从创建简单的交互式表单到设计复杂的网页游戏,JavaScript为开发者提供了丰富的功能和灵活的创作能力。它在现代的网页
    的头像 发表于 12-03 11:12 839次阅读

    javascript指什么

    JavaScript是一种高级编程语言,通常用于为网页添加交互功能。它是一种面向对象的语言,旨在通过编写代码来控制网页的行为,使用户能够与网页进行动态交互。JavaScript能够与HTML和CSS
    的头像 发表于 12-03 11:11 834次阅读

    javascript运行环境有哪些

    环境。几乎所有的现代浏览器都支持 JavaScript,并且提供了一 JavaScript 引擎来解释和执行代码。不同浏览器使用的引擎略有不同,如 Chrome 使用 V8 引擎,Firefox
    的头像 发表于 11-27 16:11 2477次阅读

    javascript:;怎么解决

    javascript:” 是一JavaScript伪协议,它通常出现在URL地址栏或链接中,用于执行JavaScript代码。然而,有时它可能会导致一些问题,特别是在一些不支持
    的头像 发表于 11-26 14:39 7228次阅读

    浏览器怎么打开javascript

    JavaScript的基本概念和用途。 首先,值得注意的是,几乎所有的现代浏览器都默认启用JavaScript功能,这意味着当您打开一网页时,其中的JavaScript代码会自动执行
    的头像 发表于 11-26 11:25 2436次阅读

    浏览器需要支持javascript怎么解决

    JavaScript是一种流行的脚本语言,用于对网页进行动态交互和功能增强。几乎所有现代浏览器都支持JavaScript,但在某些情况下,用户可能需要采取措施来确保浏览器支持JavaScript
    的头像 发表于 11-26 11:23 4827次阅读