Tensorflow实现在浏览器的深度学习

在最近的TensorFlow Dev Summit 2018大会上,Google宣布发布Tensorflow.js,这是用Javascript实现的开源深度学习框架Tensorflow。Tensorflow.js可以实现在浏览器中直接训练模型,通过使用WebGL JavaScript API获得更快的计算速度。

Tenforflow.js是由2017年8月Google发布的Javascript库deeplearn.js演化而来的。Deeplearn.js诞生于Tensorflow Playground这款由TypeScript编写的交互式可视化神经网络的大成功背景之下。

Tensorflow.js共有四层:WebGL API实现GPU支持的数字运算,web浏览器提供用户交互以及两款API:Core和Layers。低层的Core API对应于之前的deeplearn.js库。它提供了硬件加速线性代数运算操作,以及eager API实现自动微分服务。高层的Layers API在Core API 之上搭建机器学习模型。Layers API在Keras的基础上构建,实现了相似的功能。它同时支持引入之前用Keras或TensorFlow SavedModels通过python训练的模型,以推论或转移浏览器中的学习内容。

使用Tensorflow.js,可以通过三种方法将机器学习模型运用到浏览器中:引入已经预先训练过的模型,仅仅用来推论;在浏览器中直接训练模型;或是通过迁移学习先将引入的模型使用于用户环境中,之后再使用这些改进的模型进行推论。

Tensorflow团队成员Nikhil Thorat和Daniel Smilkov在发布的视频中告诉我们,在浏览器中运行Tensorflow有几个优势:由于后台API需求不再有,因此需求得到了简化;由于新设备的增加,可用的数据越来越多,比如电脑的摄像头和麦克风以及移动设备的GPS和陀螺仪等设备都可以提供数据;数据始终保留在客户端,也解决了隐私安全方面的问题。

基于Javascript的深度学习降低了许多web开发人员进入数据科学领域的门槛。他们可以将机器学习的功能整合到应用程序中,给数据科学领域带来更多创新方法。在线演示中展示了如何通过直接在浏览器中运行机器学习提升交互的速度和质量,演示内容包括情感分析、手势检测或风格转变。

目前,已经存在几个类似的Javascript实现深度学习的框架,比如最早的brain.js项目,以及斯坦福大学卷积神经网络的ConvNet.js库,还有最近的KerasJS和TensorFire库。然而,这些库既缺少利用浏览器WebGL组件实现基于GPU的运算,又不可以直接在浏览器中训练模型。最近基于Tensorflow.js的项目,科学计算Propel和机器学习ml5就不会碰到这些问题。

Tensorflow团队目前的工作重点是让TensorFlow.js支持Node.js,但还没有具体的时间表告诉我们什么时候可以实现。在TensorFlow Dev大会上还宣布了其他几项有关于Tensorflow的开发,包括TensorFlow for Swift将在2018年4月发布,以及TensorFlow Hub,“这是一个分享不同预制模块的库,开发人员可以跨多个模型复用它们”。

查看英文原文:Tensorflow with Javascript Brings Deep Learning to the Browser

原文发布于微信公众号 - 程序你好(codinghello)

原文发表时间:2018-04-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

深度学习预测比特币价格;基于神经网络的自动化前端开发 | Github 项目推荐

对于开发者来讲,证明其编程能力最好的方式是展示他们的项目和代码。AI 研习社本周从 YouTube、知乎以及 Github 官网上搜罗了数个与 AI 相关的开源...

4117
来自专栏ATYUN订阅号

2018年9月机器学习Github开源项目TOP 10

在此期间,我们将项目与新的或主要版本进行了比较。Mybridge AI根据各种因素对项目进行排名,以衡量专业人员的质量。

1133
来自专栏ATYUN订阅号

NVIDIA发布最新数据增强库和图像解码库

由深度学习支持的计算机视觉应用包括复杂的多阶段预处理数据流水线,其中包括计算密集型步骤,如从磁盘加载和提取数据,解码,裁剪和调整大小,颜色和空间变换以及格式转换...

1245
来自专栏AlgorithmDog的专栏

拖拽式机器学习的爱与恨

拖拽式机器学习是我想了很久的问题。 ? 1. 前世今生 拖拽式机器学习是,人们在界面上通过拖拽就是建立机器学习过程。拖拽式机器学习系统一...

3786
来自专栏企鹅号快讯

第二课:开发机器学习app前的准备工作

框架的选择 如上一节课所说,随着机器学习的发展,目前已经出现很多不错的学习框架,这里我们做个对比: TensorFlow:深度学习最流行的库之一,它不仅便携、高...

2527
来自专栏AI科技大本营的专栏

手机也能直接玩机器学习了?来,让大神手把手教你

对于各种热门的机器学习、深度学习课程,你一定了解过不少了。 但上课之后,如何把学出来的这些新方法用在你的工作项目?如何让你的移动应用也能具备机器学习、深度学习...

4229
来自专栏AI科技评论

深度| OpenAI 教你如何构建深度学习研究的基础设施

编者按:OpenAI研究工程师Vicki Cheung, Jonas Schneider , Ilya Sutskever, and Greg Brockman...

3766
来自专栏人人都是极客

第二课:开发机器学习app前的准备工作

框架的选择 如上一节课所说,随着机器学习的发展,目前已经出现很多不错的学习框架,这里我们做个对比: TensorFlow:深度学习最流行的库之一,它不仅便携、高...

31510
来自专栏机器人网

[学习}28 款 GitHub 最流行的开源机器学习项目

现在机器学习逐渐成为行业热门,经过二十几年的发展,机器学习目前也有了十分广泛的应用,如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊...

3978
来自专栏IT大咖说

自主研发、不断总结经验,美团搜索推荐机器学习平台

内容来源:2018 年 5 月 26 日,美团点评技术专家杨一帆在“饿了么技术沙龙·第25弹【搜索推荐】”进行《Why WAI: 美团点评搜索推荐机器学习平台》...

2815

扫码关注云+社区

领取腾讯云代金券