JavaScript中七种流行的开源机器学习框架


Posted in Javascript onOctober 11, 2018

如果你是一位想要深入机器学习的 JavaScript 程序员或想成为一位使用 JavaScript 的机器学习专家,那么这些开源框架也许会吸引你。

开源工具的涌现使得开发者能够更加轻松地开发应用,这一点使机器学习领域本身获得了极大增长。(例如,AndreyBu,他来自德国,在机器学习领域拥有五年以上的经验,他一直在使用各种各样的开源框架来创造富有魅力的机器学习项目。)

虽然 Python 是绝大多数的机器学习框架所采用的语言,但是 JavaScript 也并没有被抛下。JavaScript 开发者可以在浏览器中使用各种框架来训练和部署机器学习模型。

1、TensorFlow.js

TensorFlow.js 是一个开源库,它使你能在浏览器中完整地运行机器学习程序,它是 Deeplearn.js 的继承者,Deeplearn.js 不再更新了。TensorFlow.js 在 Deeplearn.js 功能的基础上进行了改善,使你能够充分利用浏览器,得到更加深入的机器学习经验。

通过这个开源库,你可以在浏览器中使用有各种功能的、直观的 API 来定义、训练和部署模型。除此之外,它自动提供 WebGL 和 Node.js 的支持。

如果您有了一个已经训练过的模型,你想要导入到浏览器中。TensorFlow.js 可以让你做到这一点,你也可以在不离开浏览器的情况下重新训练已有的模型。

2、Machine learning tools

现在有很多在浏览器中提供广泛的机器学习功能的资源型开源工具,这个机器学习工具库就是这些开源工具的集合。这个工具库为好几种机器学习算法提供支持,包括非监督式学习、监督式学习、数据处理、人工神经网络(ANN)、数学和回归。

如果你以前使用 Python,现在想找类似于 Scikit-learn 的,能在浏览器中使用 JavaScript 进行机器学习的工具,这套工具会满足你的要求。

3、Keras.js

Keras.js 是另外一个热门的开源框架,它使你能够在浏览器中运行机器学习模型,它使用 WebGL 来提供 GPU 模式的支持。如果你有使用 Node.js 的模型,你就只能在 GPU 模式下运行它。Keras.js 还为使用任意后端框架的模型训练提供支持,例如 Microsoft Cognitive Toolkit (CNTK) 。
一些 Keras 模型可以部署在客户端浏览器上,包括 Inception v3 (训练在 ImageNet 上),50 层冗余网络(训练在 ImageNet 上),和卷积变化自动编码器(训练在 MNIST 上)。

4、Brain.js

机器学习里的概念非常重要,它可能会使刚开始进入这个领域的人们气馁,这个领域里的学术用语和专业词汇可能会使初学者感到崩溃,而解决以上问题的能力就是 Brain.js 的优势所在。它是开源的,基于 JavaScript 的框架,简化了定义、训练和运行神经网络的流程。

如果你是一个 JavaScript 开发者,并且在机器学习领域是完全的新手,Brain.js 能减低你学习的难度曲线。它可以和 Node.js 一起使用,或者运行在客户端浏览器里来训练机器学习模型。Brain.js 支持部分类型的神经网络,包括前馈式网络、Ellman 网络,和门循环单元网络。

5、Synaptic.js

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

6、compromise

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

7、STDLib

STDLib 是一个基于 JavaScript 和 Node.js 应用的开源库,如果您正在寻找一种在浏览器中运行,支持科学和数字化的基于 web 的机器学习应用,STDLib 能满足你的需要。

这个库能提供全面而先进的数学和统计学上的功能,来帮助你构建高性能的机器学习模型。你同样也可以使用它丰富的功能来构建应用程序和其他的库。除此之外,如果你想要一个数据可视化和探索性数据分析的框架 —— STDLib 你,值得拥有。

如果你是一个 JavaScript 开发者,并且打算深入研究令人兴奋的机器学习世界,或者说,你是一个机器学习方面的专家,打算开始尝试使用 JavaScript ,那么上述的开源框架会激起您的兴趣。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Javascript 相关文章推荐
javascript 学习笔记(onchange等)
Nov 14 Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
Nov 13 Javascript
模拟一个类似百度google的模糊搜索下拉列表
Apr 15 Javascript
AngualrJS中每次$http请求时的一个遮罩层Directive
Jan 26 Javascript
jQuery使用zTree插件实现树形菜单和异步加载
Feb 25 Javascript
jQuery插件FusionCharts实现的2D饼状图效果【附demo源码下载】
Mar 03 Javascript
使用JavaScript实现在页面中显示距离2017年中秋节的天数
Sep 26 Javascript
Angular中支持SCSS的方法
Nov 18 Javascript
JavaScript常见事件处理程序实例总结
Jan 05 Javascript
微信小程序渲染性能调优小结
Jul 30 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
Aug 26 Javascript
解决vue组件中click事件失效的问题
Nov 09 Javascript
用Object.prototype.toString.call(obj)检测对象类型原因分析
Oct 11 #Javascript
使用vue 国际化i18n 实现多实现语言切换功能
Oct 11 #Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
Oct 10 #Javascript
Node.js npm命令运行node.js脚本的方法
Oct 10 #Javascript
vue环形进度条组件实例应用
Oct 10 #Javascript
Node.js中读取TXT文件内容fs.readFile()用法
Oct 10 #Javascript
详解Node.js读写中文内容文件操作
Oct 10 #Javascript
You might like
BBS(php & mysql)完整版(八)
2006/10/09 PHP
PHP的开发框架的现状和展望
2007/03/16 PHP
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
2013/06/18 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
2013/08/10 PHP
php实现短信发送代码
2015/07/05 PHP
PHP使用Pear发送邮件(Windows环境)
2016/01/05 PHP
php事务回滚简单实现方法示例
2017/03/28 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
php gethostbyname获取域名ip地址函数详解
2010/01/24 Javascript
js 判断脚本加载完毕的代码
2011/07/13 Javascript
Js从头学起(基本数据类型和引用类型的参数传递详细分析)
2012/02/16 Javascript
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
原生JS实现平滑回到顶部组件
2016/03/16 Javascript
JavaScript实现简单的拖动效果
2016/07/02 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
js实现旋转木马效果
2017/03/17 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
2017/09/06 Javascript
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
如何让你的JS代码更好看易读
2017/12/01 Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
2018/04/03 Javascript
Vue实现点击时间获取时间段查询功能
2020/08/21 Javascript
JavaScript 跨域之POST实现方法
2018/05/07 Javascript
vue-cli webpack 引入swiper的操作方法
2018/09/15 Javascript
python ipset管理 增删白名单的方法
2019/01/14 Python
pandas的排序和排名的具体使用
2019/07/31 Python
基于python解线性矩阵方程(numpy中的matrix类)
2019/10/21 Python
python中必要的名词解释
2019/11/20 Python
Python爬虫实现自动登录、签到功能的代码
2020/08/20 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
HTML5 中新的全局属性(整理)
2013/07/31 HTML / CSS
销售冠军获奖感言
2014/02/03 职场文书
不服劳动仲裁起诉书
2015/05/20 职场文书
中学生打架检讨书之500字
2019/08/06 职场文书
Python如何导出导入所有依赖包详解
2021/06/08 Python