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

    文章

    2991

    浏览量

    41722
  • javascript
    +关注

    关注

    0

    文章

    511

    浏览量

    53406
  • 机器学习
    +关注

    关注

    66

    文章

    8134

    浏览量

    130577
收藏 人收藏

    评论

    相关推荐

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

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

    JavaScript的用途和功能

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

    javascript指什么

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

    javascript:;怎么解决

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

    javascript深入浅出

    JavaScript是一种广泛使用的编程语言,常用于Web开发。下面是对JavaScript的深入浅出的解释: JavaScript简介 JavaScript是一种解释型、动态类型、基
    的头像 发表于 11-16 10:34 336次阅读

    javascript可以关闭吗

    **JavaScript是一种编程语言,它不能被“关闭”。**JavaScript是一种客户端脚本语言,它通常嵌入在HTML页面中。当用户访问一个包含JavaScript的网页时,浏览器会执行这些
    的头像 发表于 11-16 10:20 521次阅读

    javascript有什么用

    JavaScript是一种广泛使用的编程语言,主要用于增强网页和创建动态网页内容。以下是JavaScript的一些主要用途: 交互性:JavaScript可以使网页具有交互性。例如,当用户点击按钮
    的头像 发表于 11-16 10:19 395次阅读

    javascript怎么开启

    在浏览器中启用 JavaScript 的方法如下: 在浏览器中启用 JavaScript 对于大多数浏览器,您可以在浏览器的设置或选项中启用 JavaScript。以下是一些常见浏览器的启用步骤
    的头像 发表于 11-16 10:16 832次阅读

    机器学习有哪些算法?机器学习分类算法有哪些?机器学习预判有哪些算法?

    机器学习有哪些算法?机器学习分类算法有哪些?机器学习预判有哪些算法?
    的头像 发表于 08-17 16:30 1410次阅读

    机器学习是什么意思?机器学习属于什么分支?机器学习有什么用处?

    机器学习是什么意思?机器学习属于什么分支?机器学习是什么有什么用处?
    的头像 发表于 08-17 16:30 1279次阅读

    机器学习算法入门 机器学习算法介绍 机器学习算法对比

    机器学习算法入门 机器学习算法介绍 机器学习算法对比 机器
    的头像 发表于 08-17 16:27 632次阅读

    机器学习算法总结 机器学习算法是什么 机器学习算法优缺点

    机器学习算法总结 机器学习算法是什么?机器学习算法优缺点?
    的头像 发表于 08-17 16:11 1095次阅读

    机器学习算法汇总 机器学习算法分类 机器学习算法模型

    机器学习算法汇总 机器学习算法分类 机器学习算法模型 机器
    的头像 发表于 08-17 16:11 729次阅读

    机器学习和深度学习的区别

    机器学习和深度学习的区别 随着人工智能技术的不断发展,机器学习和深度学习已经成为大家熟知的两个术
    的头像 发表于 08-17 16:11 3398次阅读

    深度学习框架pytorch入门与实践

    深度学习框架pytorch入门与实践 深度学习机器学习中的一个分支,它使用多层神经网络对大量数据进行
    的头像 发表于 08-17 16:03 1205次阅读