作家
登录

深度学习利器:TensorFlow系统架构及高性能程序设计

作者: 来源: 2017-04-24 15:55:01 阅读 我要评论

2015年11月9日谷歌开源了人工智能平台TensorFlow,同时成为2015年最受存眷的开源项目之一。经历了大年夜v0.1到v0.12的12个版本迭代后,谷歌于2017年2月15日宣布了TensorFlow 1.0 版本,并同时在美国加州山景城举办了首届TensorFlow Dev Summit会议。

TensorFlow 1.0及Dev Summit(2017)回想

和以往版本相比,TensorFlow 1.0 的特点改进重要表如今以下几个方面:

  • 速度更快 :TensorFlow 1.0版本采取了XLA的编译技巧,改进了TensorFlow的运行机能及内存应用。大年夜Benchmark问题的测试结不雅来看,对单机Inception v3模型,实现了在单机8 GPUs上7.3倍的运算加快;对分布式Inception v3模型,实现了在多机64 GPUs上58倍的运算加快。
  • 加倍灵活 :该版本除了支撑tf.layers,tf.metrics及tf.losses模型的High-Level API外,实现了对keras(high-level neural networks library)API的周全兼容。
  • 更产品化 :TensorFlow Python API在v1.0版本中趋于稳定,为产品兼容性打下坚实基本。

在TensorFlow 1.0版本宣布的当天,谷歌公司还举办了TensorFlow 2017 DEV Summit。该 日程重要包含以下几个方面的主题演讲:

  • Hands-on TensorBoard可视化技巧:介绍了若何应用TensorBoard,以及TensorFlow图模型、练习数据的可视化等。
  • TensorFlow High-Level API:介绍了应用Layers, Estimators, and Canned Estimators High-Level API定义练习模型。
  • Integrating Keras & TensorFlow: 介绍了如安在TensorFlow中应用Keras API进行模型定义及练习。
  • TensorFlow at DeepMind:介绍了在DeepMind中应用TensorFlow平台的典范案例,包含AlphaGo等应用。
  • Skin Cancer Image Classification:介绍了斯坦福医学院应用TensorFlow分类皮肤癌照片,用于医学诊断。
  • Mobile and Embedded TensorFlow:介绍了若何把TensorFlow模型运行在移动终端、嵌入式设备,包含安卓,iOS等体系。
  • Distributed TensorFlow:体系性地介绍了分布式TensorFlow的相干技巧,以及若何应用于大年夜范围模型练习。
  • TensorFlow Ecosystem:讲解了TensorFlow的生态体系,包含生成练习数据,分布式运行TensorFlow和serving models的产品化流程。
  • Serving Models in Production with TensorFlow Serving:体系性讲解了如安在临盆情况中应用TensorFlow Serving模型。
  • ML Toolkit:介绍了TensorFlow的机械进修库,如线性回归,KMeans等算法模型的应用。
  • Sequence Models and the RNN API:介绍了若何构建高机能的sequence-to-sequence模型,以及相干API。
  • Wide & Deep Learning: 介绍了若何结合Wide模型和Deep模型构建综合练习模型。
  • Magenta,Music and Art Generation:应用加强型深度进修模型生成音乐声音和艺术图片。
  • Case Study,TensorFlow in Medicine – Retinal Imaging:应用TensorFlow机械进修平台对医学视网膜图片进行分类,帮助医学诊断。

TensorFlow体系架构

TensorFlow作为分布式机械进修平台,重要架构如下图所示。RPC和RDMA为收集层,重要负粜カ递神经收集算法参数。CPU和GPU为设备层,重要负责神经收集算法中具体的运算操作。Kernel为TensorFlow中算法操作的具体实现,如卷积操作,激活操作等。Distributed Master用于构建子图;切割子图为多个分片,不合的子图分片运行在不合的设备上;Master还负责分发子图分片到Executor/Work端。Executor/Work在设备(CPUs,GPUs,etc.)上,调剂履行子图操作;并负责向其它Worker发送和接收图操作的运行结不雅。C API把TensorFlow瓜分为前端和后端,前端(Python/C++/Java Client)基于C API触发TensorFlow后端法度榜样运行。Training libraries和Inference libs是模型练习和推导的库函数,为用户开辟应用模型应用。

深度进修利器:TensorFlow体系架构及高机能法度榜样设计

下图为Client、Master及Worker的内部工作道理。”/job:worker/task:0″ 和 “/job:ps/task:0” 表示worker中的履行办事。”job:ps”表示参数办事器,用于存储及更新模型参数。”job:worker”用于优化模型参数,并发参数发送履新数办事器上。Distributed Master和Worker Service只存在于分布式TensorFlow中。单机版本的TensorFlow实现了Local的Session,经由过程本地过程的内部通信实现上述功能。

深度进修利器:TensorFlow体系架构及高机能法度榜样设计

用户编写TensorFlow应用法度榜样生成计算图,Client组件会创建Session,并经由过程序列化技巧,发送图定义到Distributed Master组件。下图中,Client创建了一个 s+=w*x+b的图计算模型。

深度进修利器:TensorFlow体系架构及高机能法度榜样设计

当Client触发Session运算的时刻,Maser构建将要运行的子图。并根据设备情况,切割子图为多个分片。下面为Master构建的运行子图:

【编辑推荐】

  1. 机械进修进阶标记之一 | TensorFlow安装与入门
  2. 摆好精确姿势 看 Google 神级深度进修框架 TensorFlow 的实践思路
     1/5    1 2 3 4 5 下一页 尾页

      推荐阅读

      别只盯着SD-WAN了,关注一下IPv6吧

    物联网(IOT)正大年夜根本上改变着科技与我们日常生活的接洽。大年夜可追踪活动状况的穿戴设备到赞助我们节能的智能恒温器,毋庸置疑物联网晋升了我们的生活品德。在企业中,物联网经由过程主动简化营业,发掘新的营业>>>详细阅读


    本文标题:深度学习利器:TensorFlow系统架构及高性能程序设计

    地址:http://www.17bianji.com/lsqh/34926.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)