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

栏目: JavaScript · 发布时间: 6年前

内容简介:3个月前,公司AI团队给我们分享了关于如何利用机器学习帮助我们分析图片、视频中的明星以及地标等。作为一名Web的前端开发者,我很好奇大多数玩机器学习的同事在工作中都是用 Python 这样的语言完成的,但既然身处在 JavaScript 这个生态中,为什么不试试一起使用

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

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

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

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

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

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

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

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

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

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

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

Brain.js 的色彩识别器

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

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

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

Synaptic image-filter perceptron

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

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

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

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

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

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

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

参考资料:

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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

领域特定语言

领域特定语言

Martin Fowler / ThoughtWorks中国 / 机械工业出版社华章公司 / 2013-3 / 89.00元

本书是DSL领域的丰碑之作,由世界级软件开发大师和软件开发“教父”Martin Fowler历时多年写作而成,ThoughtWorks中国翻译。全面详尽地讲解了各种DSL及其构造方式,揭示了与编程语言无关的通用原则和模式,阐释了如何通过DSL有效提高开发人员的生产力以及增进与领域专家的有效沟通,能为开发人员选择和使用DSL提供有效的决策依据和指导方法。 全书共57章,分为六个部分:第一部分介......一起来看看 《领域特定语言》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

html转js在线工具
html转js在线工具

html转js在线工具