内容摘录自张玉宏的《深度学习之美》,作为自己的学习笔记!
TensorFlow为什么要取这么一个名字呢?这自然也是有讲究的 。
Tensor Flow的命名源于其运行原理:
-
“Tensor”的本意是“张量”,“张量”通常表示多维矩阵。在深度学习项目中,数据大多都高于二维,所以利用深度学习处理的数据的核心特征来命名,是有意义的。
-
“Flow”的本意就是“流动”,它意味着基于数据流图的计算。
-
合在一起,“TensorFlow”的意思就是,张量从数据流图的一端流动到另一端的计算过程。它生动形象地描述了复杂数据结构在人工神经网络中的流动、传输、分析和处理模式(参见图 11-3 )。
在机器学习巾,数值通常由4 种类型构成:
- 标量( scalar ):是一个数值,它是计算的最小单元,如“1”或“3.2” 等。
- 向iil (vector ):由一些标量构成的一维数组,如[1 , 3.2, 4.6]等。
- 矩阵( matrix ):由标量构成的二维数组。
- 张量( tensor ):曲多维(通常 n >3 )数组构成的数据集合.可理解为高维矩阵。
Tensor Flow 是一款优秀的深度学习框架,它在诸多方面都有着卓越的表现。 比如,设计神经网络结构的代码非常简洁,部署也比较便利。 特别是有技术实力雄厚的 Google 为其“站台”, 拥歪者众多,也在很大程度上保证了其社区的活跃度,从而也导致 TensorFlow 在技术演化之路上更新迭代非常快,基本上每周都有上万行代码的提交。
Tensor Flow 的优点主要表现在如下 3 个方面:
( 1 ) TensorFlow 有一个非常直观的构架。 顾名思义,它有一个“张量流“。用户可以很容 易地、可视化地看到张量流动的每一个环节(需要借助 TensorBoard,在后面的章节会有所提及)。
( 2 ) TensorF!ow 可轻松地在 CPU/GPU 上部署,进行分布式计算,为大数据分析提供计算能力的支撑。
( 3 ) TensorF!ow 跨平台性好, 灵活性强。 TensorFlow 不仅可在 Linux、 Mac 和 Windows 系统中运行,甚至还可在移动终端下工作。
当然, TensorFlow也有不足之处。 主要表现在,它的代码比较底层,需要用户编写大量的代码,而且有很多相似的功能,用户不得不 “重造轮子”。 但瑕不掩瑜, TensorFlow还是以雄厚 的技术积淀、稳定的性能, 一骑红尘,“笑傲”于众多深度学习框架之巅。