TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems

本文是对TensorFlow经典论文的笔记,深入探讨了TensorFlow的编程模型、基本概念和实现。介绍了计算单位graph的概念,其中包含operation和tensor,以及控制依赖关系在执行顺序中的作用。此外,还解释了session、variables和设备在实现中的角色,特别是变量在训练模型参数持久化中的应用。最后,讨论了TensorFlow的本地实施,涉及client、master和worker的交互以及设备的组织方式。

TensorFlow 『白皮书』经典论文笔记。


1 Introduction

介绍背景:谷歌的计算平台计划等。

2 Programming Model and Basic Concepts 

graph:

基本的计算单元是由很多节点(nodes )与边组成的有向图(graph) 。

每个节点有对应的operation,有0或多个输入,0或多个输出,以及对应的操作运算实例(operation) 。

tensor:

在图中的边之间流动的数值数组。它是任意的指定或通过在构建图时推断确定的数值类型的多维数组。

control dependencies:

可选的边属性,在这类边上不允许有数据传递,而是控制对应边的下游节点必须等待改边的上游节点执行完后才能开始执行。可用于控制执行顺序。

operation :

有对应的名字,描述一个抽象算术运算子,如matrix multiply。必须是在运算图graph 构建时声明所有的opertion。

kernel :抽象算子operation在某个具体运算平台上的实现。在TF的binary库中和operation一起,通过注册机制定义,从而可以通过链接linking机制添加新的operation和kernel。

sessions:

客户端程序clients programs与TF系统之间会话交互的方式。每次使用一个graph 设置一个session后,再运行整个session 一次或多次。

  • 它支持一种拓展extend方法:声明当前的运算图graph有附加的节点和边。
  • run()方法,指定的output 集合表示用来计算输出的,以及一些可选的输入tensor 。

Variables :

在graph运算时,内部多少tensor是不会长期保存在内存的,而变量则是一种特殊的运算子operation,它返回一个持久化的可变tensor的句柄(handle),在整个graph执行期间都存在;可以通过如Assign and AssignAdd 修改其内部的值。典型的应用训练模型的参数。

3 Implementation 

阐述TF的内部实现。local implementation(本地执行)指client, the master, the worker 都在同一台机器上运行。

Devices:

即TF的计算中心系统。其命名中包含对应的设备类型、设备序号索引如"/job:localhost/device:cpu:0" 或 "/job:worker/task:17/device:gpu:3"。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值