技术解析
TensorFlow.js 是 Google 发布的一个开源的机器学习 JavaScript 库,可用于不同的目的,例如在浏览器中训练神经网络,理解 ML 模型,用于教育目的等。你可以在推理模式中运行预先训练的模型。可以在 TypeScript ( ES6 JavaScript )或 ES5 JavaScript 中编写代码。通过在 HTML 文件的 head 标签中包含以下代码并编写用于构建模型的 JS 程序,可以实现快速入门。
GitHub 地址:
https://github.com/tensorflow/tfjs-core
Brain 是一个可以让你轻松创建神经网络的库,然后你可以通过输入 / 输出数据对神经网络进行训练。虽然它可以通过 CDN 浏览器版本直接在 Web 页面中加载,但由于训练会占用大量资源,所以最好是在 Node.js 环境下进行。
GitHub 地址:
https://github.com/BrainJS/brain.js
ConvNetJS 是一个 JavaScript 库,完全用于在浏览器中深度学习模型训练(神经网络),这个库也可以用在 NodeJS app 中。可以从 ConvNetJS 简化库中获取 ConvNetJS 的简化版本入门。
GitHub 地址:
https://github.com/karpathy/convnetjs
是一个用于教育目的的 Web 应用程序,你可以在上面把玩神经网络并且探索其各种组件。 它有一个很好的 UI 界面,允许您控制输入数据、神经元数量、使用哪种算法以及想要在最终结果中反映的各种其他指标。
GitHub 地址:
https://github.com/tensorflow/playground
STDLib 是一个 JavaScript 库,可用于构建高级统计模型和机器学习库。它也可以用于数据可视化和探索性数据分析的绘图和图形功能。
下载地址:
https://stdlib.io/
这是一个基于增强学习来建立人工智能系统的框架。可悲的是,它做为开源项目并没有适当的文档,不过有一个 Demo,是一个自动驾驶实验,对构成神经网络的不同部分进行了很好的描述。这个库是纯 JavaScript 的,使用了像 Webpack 和 Babel 这样的现代工具。
GitHub 地址:
https://github.com/janhuenermann/neurojs
Synaptic 是一个与架构无关的 Node.js 和浏览器库,它有可能是这个列表中最活跃的项目,允许开发人员构建出他们想要的任何类型的神经网络。 它内置了几种架构,可以用来对不同的机器学习算法进行快速的测试和比较。它还拥有一个很好的对神经网络的书面介绍、一些实例演示,以及其他一些用来揭示机器学习如何工作的很棒的教程。
GitHub 地址:
https://github.com/cazala/synaptic
Limdu.js 是 Node.js 的机器学习框架。它支持以下一些内容:
二元分类
多标签分类
特征工程
SVM
GitHub 地址:
https://github.com/erelsgl/limdu
这是另外一个能让我们 JavaScript 来设置和训练神经网络的库。 在 Node.js 和客户端中,它都非常容易进行安装,并且具有非常干净的 API,对于所有具备熟练技能级别的开发人员来说都是很合适的。 该库提供了许多实现了流行算法的示例,以帮助你了解核心的机器学习原理。
GitHub 地址:
https://github.com/junku901/machine_learning
Demo 体验
Thing Translator 是一项 Web 实验,可以让你的手机识别出现实生活中的物体对象,并用不同的语言对它们进行命名。该应用程序完全基于 Web 技术,并利用了 Google 的两个机器学习 API —— Cloud Vision 来进行图像识别而 Translate API 则进行自然语言的翻译。
GitHub 地址:
https://github.com/dmotz/thing-translator