0 - TensorFlow

  基于数据流图,节点表示某种抽象计算,边表示节点之间联系的张量。

  Tensorflow结构灵活,能够支持各种网络模型,有良好的通用性和扩展性。

            

1 - 系统概述

  TensorFlow以$C\ API$为界限,分为前端系统(提供编程模型,负责构造计算图)以及后端系统(提供运行时环境,负责执行计算图),如下图。

    

1.1 - 模块Client

  Client是一个支持多语言的编程环境,它提供基于计算图的编程模型,方便用户构造各种复杂的计算图,实现各种形式的模型设计和构建。Client通过Session连接后端系统,启动计算图的执行过程。

1.2 - 模块Distributed Master

  在分布式运行环境中,Distributed Master从计算图中反向遍历,找到所依赖的最小值图,然后将最小子图分裂成多个子图片段分布到不同的进程和设备上运行,然后将多个子图片段被分派给Work Service,随后Work Service启动子图片段执行过程。

1.3 - 模块Worker Service

  对于每一个任务,启动一个Worker Service,按照计算图中的节点依赖关系,根据当前的硬件环境(GPU or CPU),调用$OP$的$Kernel$实现完成$OP$的运算(一种典型的多态实现技术)。并且因为分布式的环境,Worker Service需要负责将$OP$运算的结果发送到其他的Work Service或者从其他的Work Service接受其$OP$运算的结果。

1.4 - Kernel Implements

  $Kernel$是$OP$在某种硬件设备的特定实现,其负责执行$OP$计算。TensorFlow运行时包含200多个标准的$OP$(包括数值计算、多维数组操作、控制流、状态管理等)。每一个$OP$都根据设备类型实现了一个优化的$Kernel$,运行时根据本地设备类型,为$OP$选择特定的$Kernel$实现。其中,大多数$Kernel$基于$Eigen::Tensor$实现(一个使用$C++$模板技术,为多核$CPU/GPU$生成高效的并发代码),但同时,TensorFlow也可以直接使用$cuDNN$实现更加高效的$Kernel$。

参考资料

https://www.jianshu.com/p/a5574ebcdeab

TensorFlow架构学习的更多相关文章

  1. (转) TensorFlow深度学习,一篇文章就够了

    TensorFlow深度学习,一篇文章就够了 2016/09/22 · IT技术 · TensorFlow, 深度学习 分享到:6   原文出处: 我爱计算机 (@tobe迪豪 )    作者: 陈迪 ...

  2. TensorFlow深度学习,一篇文章就够了

    http://blog.jobbole.com/105602/ 作者: 陈迪豪,就职小米科技,深度学习工程师,TensorFlow代码提交者. TensorFlow深度学习框架 Google不仅是大数 ...

  3. 问题集录--TensorFlow深度学习

    TensorFlow深度学习框架 Google不仅是大数据和云计算的领导者,在机器学习和深度学习上也有很好的实践和积累,在2015年年底开源了内部使用的深度学习框架TensorFlow. 与Caffe ...

  4. 【从零开始学BPM,Day1】工作流管理平台架构学习

    [课程主题] 主题:5天,一起从零开始学习BPM [课程形式] 1.为期5天的短任务学习 2.每天观看一个视频,视频学习时间自由安排. [第一天课程] Step 1 软件下载:H3 BPM10.0全开 ...

  5. Mybatis架构学习

    Mybatis架构学习 MyBatis 是支持定制化 SQL.存储过程以及高级映射的持久层框架.MyBatis 封装了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.可以对配置和原生Map使用 ...

  6. TensorFlow简易学习[3]:实现神经网络

    TensorFlow本身是分布式机器学习框架,所以是基于深度学习的,前一篇TensorFlow简易学习[2]:实现线性回归对只一般算法的举例只是为说明TensorFlow的广泛性.本文将通过示例Ten ...

  7. ABP架构学习系列一 整体项目结构及目录

    本系列是基于aspnetboilerplate-0.8.4.0版本写的,其中原因是由于较高的版本太抽象难以理解和分析,对于还菜菜的我要花更多的时间去学习. abp的源码分析学习主要来源于 HK Zha ...

  8. ABP架构学习系列

    ABP实践学习系列 ABP Zero 本地化语言的初始化和扩展 ABP Zero 导航菜单之角色权限 ABP Zero示例项目问题总结  ABP后台服务之作业调度Quartz.NET   ABP架构学 ...

  9. Tensorflow[架构流程]

    1. tensorflow工作流程 如官网所示: 根据整体架构或者代码功能可以分为: 图1.1 tensorflow架构 如图所示,一层C的api接口将底层的核运行时部分与顶层的多语言接口分离开. 而 ...

随机推荐

  1. tp5的include 标签 不能用了么

    直接调用页头页尾 直接原样显示了 正解: 要注意 file后不能加空格, 不然放在 页头会报错, 放在其他地方则不会被解析. 以上是我的经历,供参考. {include file ='public/h ...

  2. http协议中的请求方式

    get:获取url传的查询字符串(action=show)表单和连接的url中传的值.容量2K左右. post:以post方式提交,获取表单和连接的url中传的值.容量8M左右. delete:删除某 ...

  3. 原版js生成银行卡号

    function init() { undefined = "undefined"; mkCClist(); } function ccchk(cdi) { document.co ...

  4. org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].Standard

    Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lan ...

  5. flask flash消息

    请求完成,让用户知道状态发生了变化,可以使用flash确认消息 示例: xx.py from flask import Flask,render_template,request,redirect,u ...

  6. Hadoop记录-Hadoop集群重要监控指标

    通用监控指标 对于每个RPC服务应该监控 RpcProcessingTimeAvgTime(PRC处理的平均时间) 通常hdfs在异常任务突发大量访问时,这个参数会突然变得很大,导致其他用户访问hdf ...

  7. 腾讯云部署javaWeb项目之一应用服务器

    1.登录腾讯云,点击登录选择浏览器登录.输入用户名 按回车键 然后输入 密码. 2.安装java环境,直接命令:yum -y install java-1.8.0-openjdk java-1.8.0 ...

  8. golang sort包使用

    https://studygolang.com/static/pkgdoc/pkg/sort.htm#StringSlice.Search package main import ( "fm ...

  9. ACM-ICPC 2018 南京赛区网络预赛 C GDY(模拟)

    https://nanti.jisuanke.com/t/30992 题意 把m张牌(牌上数字范围是1-13)放到栈里n个人,每个人首次从栈顶取5张牌,轮流取取完牌后,第1个人出他手里最小的牌,然后2 ...

  10. HDU 3371(城市联通 最小生成树-Kruskal)

    题意是求将所有点联通所花费的最小金额,如不能完全联通,输出 -1 直接Kruskal,本题带来的一点教训是 rank 是algorithm头文件里的,直接做变量名会导致编译错误.没查到 rank 的具 ...