专栏首页程序你好Tensorflow实现在浏览器的深度学习

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)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 软件架构30条原则

    原则 1: KISS (Keep it simple, stupid) “指设计时要坚持简约原则,避免不必要的复杂化。” 其思想是使用最简单的解决方案来完成这项...

    程序你好
  • 微服务的10个挑战和解决方案——提示和技巧

    我是一个云API开发人员和架构师,目前正在为美国的一个大型零售客户开发基于谷歌GCP的微服务。

    程序你好
  • 如何为你的移动应用建立RESTful API

    程序你好
  • 6-4~7 Bundler 源码编写

    我们获取到了文本以后,如果直接就拿来分析依赖当然也可以,但是处理起来非常麻烦,效率也低下,尤其是文件内容复杂的时候。所以我们需要将文本转化为 js 可直接操作的...

    love丁酥酥
  • Python小白必备的8个最常用的内置函数

    Python给我们内置了大量功能函数,官方文档上列出了69个,有些是我们是平时开发中经常遇到的,也有一些函数很少被用到,这里列举被开发者使用最频繁的8个函数以及...

    一墨编程学习
  • UI设计师axure工具入门指南

    编程软文
  • 详细记录Nginx配置Https过程

    刺_猬
  • 详解linux驱动编写(入门)

    在我离职之前,工作内容几乎不涉及到驱动方面的知识。我所要做的内容就是把客户对设备的请求拆分成一个一个的接口,调用驱动的设置进行配置就可以了。当然,至于驱动下面是...

    砸漏
  • 你必须要知道CNN模型:ResNet

    作者:叶 虎 编辑:张 欢 PART 01 ResNet简介 引言 深度残差网络(Deep residual network, ResNet)的提出是CNN...

    机器学习算法工程师
  • 真相只有一个 !God.Game 代币被盗事件原理分析

    8月22日中午,区块链游戏God.Game宣布游戏内所有代币被攻击者卷走,项目方筹备两个月,游戏却在运营不久后迅速夭折。

    区块链大本营

扫码关注云+社区

领取腾讯云代金券