作者:Tom Ren
前不久,google发布开源了自己的前端机器学习库 dee。这是一个开源的学习js库,它将机器学习的强大能力赋予了web端,同时还拥有硬件加速的支持。这个库使得浏览器端的机器学习实现变得更加方便快捷。在继python等语言之后,JavaScript阵营也有越来越多的工具和库加入到了AI的浪潮中来。
其实,除了dee外还有一系列js库逐渐走入广大开发者的视野。
斯坦福大学 ConvNet
里面有很多好玩的demo,对于刚刚入门的朋友们来说很有启发意义。
• 库
其中包含很多的实例程序和demo
• 还有一个称为Mind的机器学习库,主页上展示了一个用你的评分来个性化预测电影评分的demo:
• 还有一个叫做ml.js的库:
除此之外还有很多项目正在不断地涌现出来,这让我们用浏览器也可以做机器学习了(当然效率和速度是值得商榷的...)套用一句js开发者的话:一切可以用js写的都将用js重写 :)
dee
回到正题,今天介绍的dee库虽然不是谷歌官方的发布项目,但是它来源于google.ai的PAIR团队的努力。PAIR是google.AI致力于以人为中心的AI系统的设计和研发团队。
这次发布的deeplearn包含了丰富的demo和完善的文档。我们打开官网的时候就会看到一个五彩缤纷的demoshow,你可以调节参数改变图片的颜色和变化范围:
首页便是十分绚丽多彩的页面
这个库的文档和例程十分丰富,不仅仅是首页的炫彩demo,还包括官方提供了四个demo供开发者参考,从模型搭建、训练和使用到不同领域的应用都有了详细的介绍,能让开发者在此基础上迅速进行开发工作。同时还包括几篇入门的说明教程,针对不同基础和背景的用户都有详细的循序渐进的说明和指导。再加上丰富的API说明,相信各位js大神一定能够很快的玩转这个Fantastic的库,做出惊艳的web端应用来。
Demo
包括模型构建、图像分类识别等丰富的样例都可以用浏览器实现,简单但很有代表性。(注:demo需要用chrome才能打开)
让我们先来看看最著名的MNIST的demo,基于dee可以搭建一个下面这样子的在线识别系统。
最左边可以选择不同的数据集和模型进行训练,目前包含了MNIST和CIFAR10。同时还能上传自己的模型或者下载训练好的模型。中间一列是网络的定义,可以按照顺序添加不同的原件,搭建自己的网络并定义每一层网络的具体参数。可以选择基于GPU还是CPU来执行。
定义好了模型后就可以开始训练了:
可以实时的显示训练结果和对应的准确率以及训练的时间。剩下的demo也很有趣,就先不剧透了,留给大家自己去探索~
文档
随后官方还给出了一步一步由浅到深的学习blog,从数据结构到基本的代码实现,认真阅读后基本就可以掌握搭建代码的流程和API。
最后我们来看一下库中的API,主要包括其中实现的类和对应的函数,以与外界的数据接口:
各式各样的类,包含各种需要用到的,我们可以看到其中有GPU相关的类以及NDArray和张量等deeplearning的老朋友。
其中包含的方法也多种多样,主要包括基本的数据操作,还有一系列的创建、计算、取值函数,看起来和前端的显示密切相关。
我们还看到其中很多函数都是基于webGL来进行创建的:
还有一个主要的部分就是接口:
同时针对不同经验的开发者,官方还准备了不同的学习文档供大家参考。
api的地址在这里:docs/api/globals.html
TensorFire
最后再安利一个最新的TensorFire库:
这个库将神经网络的权重映射到WebGL的纹理计算中,利用设备的GPU来支持这些运算。在不需要CUDA的支持下,利用浏览器对于3D游戏的支持来加速神经网络的执行,这样的架构可以达到原有浏览器端神经网络库百倍的加速。
通过直接利用GPU的计算能力,TensorFire的速度可以达到充分优化的本地CPU代码表现,甚至在浏览器中的速度上超越了原生的tensorflow。
它由两个部分组成,包括底层基于GLSL的大规模并行WebGL着色器来操作4D张量,同时包括顶层用于导入tensorflow和keras训练模型的接口部分。在任何拥有支持WebGL的GPU设备上都可以运行,A卡也可以畅快的使用深度学习了。
这个库可以在用户不额外安装app的情况下开发深度学习的应用,带来更佳优异的用户体验。同时底层的API还可以支持一系列通用的并行计算任务。
-END-
欢迎加入将门技术社群!
现已涵盖CV、机器人、NLP、ML、IoT等多个当下火热的技术话题。我们每周邀请来自产学研的优秀技术人进行线上分享,目前群里已汇聚数千位上述领域的技术从业者。
入群方式>>关注“将门创投”(id:thejiangmen)微信公众号,在后台回复关键词“技术社群”,提交入群申请表。通过审核后,我们会在第一时间发出邀请。
点击右上角,把文章朋友圈
将门创投
让创新获得认可!
微信:thejiangmen
service@