TensorFlow 简介及安装

TensorFlow 简介
TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。它是谷歌基于DistBelief进行研发的第二代人工智能学习系统。2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源。 Github地址: https://github.com/tensorflow/tensorflow
为什么叫TensorFlow?
TensorFlow = tensor + flow。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算。Tensorflow运行过程就是张量从图的一端流动到另一端的计算过程。张量从图中流过的直观图像是这个工具取名为“TensorFlow”的原因。
什么是数据流图(Data Flow Graph)
数据流图用“节点”(nodes)和“线”(edges)的有向图来描述数学计算。“节点”一般用来表示施加的数学操作,但也可以表示数据输入(feed in)的起点/输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点。“线”表示“节点”之间的输入/输出关系。这些数据“线”可以运输“size可动态调整”的多维数组,即“张量”(tensor)。一旦输入端所有张量准备好,节点将被分配到各种计算设备完成异步并行地执行计算。


TensorFlow的特性
1 灵活性
TensorFlow不是一个严格的神经网络工具包,只要你可以使用数据流图来描述你的计算过程,你可以使用TensorFlow做任何事情。你还可以方便地根据需要来构建数据流图,用简单的Python语言来实现高层次的功能。
2 可移植性
TensorFlow可以在任意具备CPU或者GPU的设备上运行,你可以专注于实现你的想法,而不用去考虑硬件环境问题,你甚至可以利用Docker技术来实现相关的云服务。
3 提高开发效率
TensorFlow可以提升你所研究的东西产品化的效率,并且可以方便与同行们共享代码。
4 多语言支持
Tensorflow提供了一套易用的Python使用接口来构建和执行graphs,也同样提供了一套易于C++使用的接口(目前训练神经网络只支持python,C++接口只能使用已经训练好的模型)。未来还会支持Go、Java、Lua、Javascript、R等等。
5 充分利用硬件资源,最大化计算性能
TensorFlow给予了线程、队列、异步操作等最佳的支持,TensorFlow可以把你手边硬件的计算潜能全部发挥出来,它可以充分利用多CPU和多GPU。

2种API
1. 高级别 API :你可以使用Estimators来使用TensorFlow。
Estimator 具有下列优势:
  • 您可以在本地主机上或分布式多服务器环境中运行基于 Estimator 的模型,而无需更改模型。此外,您可以在 CPU、GPU 或 TPU 上运行基于 Estimator 的模型,而无需重新编码模型。
  • Estimator 简化了在模型开发者之间共享实现的过程。
  • 您可以使用高级直观代码开发先进的模型。简言之,采用 Estimator 创建模型通常比采用低阶 TensorFlow API 更简单。
  • Estimator 本身在 tf.layers 之上构建而成,可以简化自定义过程。
  • Estimator 会为您构建图。也就是说,您不必构建图。
  • Estimator 提供安全的分布式训练循环,可以控制如何以及何时:
  •  构建图
  • 初始化变量
  • 开始排队
  • 处理异常
  • 创建检查点文件并从故障中恢复
  • 保存 TensorBoard 的摘要
2.低级别API :这一部分就是博客里面提到TensorFlow最多的内容。低级别API使用弹性,但是难度也大很多。其实官方建议的是使用高级别API来构建模型。

安装
官方文档非常详细: https://tensorflow.google.cn/install/
出问题了参考下面的建议。
1. 在 Windows 上,TensorFlow 支持 Python 3.5.x 和 3.6.x,注意Windows上是不支持Python2.7上安装TensorFlow的
2. 在Linux上,TensorFlow支持Python 2.7和Python 3.4+。我在Ubuntu14上(Python2.7.6)上用pip install tensorflow安装是找不到tensorFlow的。官方建议是使用Ubuntu 16.04 或更高版本。
3. 另外老电脑要注意一点,避免安装1.6以上的版本,1.6版本会使用AVX指令,在老的CPU上不能运行。
可以使用命令pip install tensorflow==1.5来安装1.5版本。详见:https://blog.csdn.net/fhqlongteng/article/details/80279197
查了一下,intel是2010年开始生产有AVX指令的CPU的。AMD公司也兼容AVX指令。注意,不全是所有2010年后的CPU都支持AVX指令的。
4. 如果用的是pip安装,外网速度还是比较慢的。可以用pip镜像来加速。
比如豆瓣:http://pypi.douban.com/simple/  和清华:https://pypi.tuna.tsinghua.edu.cn/simple
我用的是清华大学的pip源,它是官网pypi的镜像,据说每隔5分钟同步一次。
临时使用可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple
例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflw,这样就会从清华这边的镜像去安装tensorflw库。
想一劳永逸的话请自行搜索。


参考文档:

猜你喜欢

转载自blog.csdn.net/chinagreenwall/article/details/80535161