Google TensorFlow 学习笔记一 —— TensorFlow简介
"TensorFlow is an Open Source Software Library for Machine INtenlligence"
本笔记参考tensorflow.org的教程,翻译并记录作者的学习过程,仅供参考,如有不当之处,请及时指出并多多包涵。
TensorFlow是一款开源的数学计算软件,使用data flow graphs的形式进行计算。这种灵活的架构允许我们使用相同的API在单或多CPUs或GPU,servers设置移动设备上进行计算。
Data Flow Graph: 使用有向图的节点和边共同描述数学计算。graph中的nodes代表数学操作,也可以表示数据输入输出的端点。边表示节点之间的关系,传递操作之间互相 使用的多位数组(tensors,张量),tensor在graph中流动——这也就是TensorFlow名字的由来。一旦节点相连的边传来了数据流, 节点就被分配到计算设备上异步的(节点间)、并行的(节点内)执行。参见上图。
TensorFlow的特点:
- Deep Flexibility: TensorFlow并不只是一个规则的neural network库,事实上如果你可以将你的计算表示成data flow graph的形式,就可以使用TensorFlow。用户构建graph,写内层循环代码驱动计算,TensorFlow可以帮助装配子图。定义新的操作 只需要写一个Python函数,如果缺少底层的数据操作,需要写一些C++代码定义操作。
- True Portability: 可以应用在不同设备上,cpus,gpu,移动设备,云平台等
- Connect Research and Production
- Auto-Differentiation:TensorFlow的自动差分能力对很多基于Graph的机器学习算法有益??
- Language Options: TensorFlow很容易使用,有python接口和C++接口。其他语言可以使用SWIG工具使用接口。(SWIG,Simplified Wrapper and Interface Generator, 是一个非常优秀的开源工具,支持您将C/C++代码与任何主流脚本语言相集成。)
- Maximize Performance: 充分利用硬件资源。TensorFlow可以将graph的不同计算单元分配到不同设备执行,使用TensorFlow处理副本。
本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!