版权声明:原创文章转载请注明出处~ https://blog.csdn.net/PecoHe/article/details/89672824
快速入门tensorflow1.x
TensorFlow是谷歌开源的基于数据流图的科学计算库,它适用于机器学习等人工智能领域。
相关链接:
[TensorFlow官网]
[TensorFlow Github]
1.TensorFlow的架构
- 前段(网络搭建):编程模型,构造计算图,Python,C++,Java。
- 后端(网络训练):运行计算图,C++。
TensorFlow具有高度的灵活性,真正的可移植性,多语言支持,性能最优化,社区内容丰富等优势特点。
2.TensorFlow中的基本概念
计算图Graph
计算图(Graph)描述了计算的过程,它是在前段完成的,并且可以通过tensorboard可视化出来。
- 声明一个图
- 保存和加载pb文件,pb文件包括网络结构和网络参数
- TensorBoard可视化计算图
会话Session
计算图的实际运算是在会话(Session)中进行的。会话将计算图的运算分发到设备(CPU OR GPU)上执行。
- 创建和关闭会话
- 注入机制
sess.run()
- 指定设备
with tf.device("/gpu:0"):
...
- GPU资源分配(按需分配)
config = tf.ConfigProto()
config.gpu_options.allow_growth=True
sess = tf.Session(config = cnfig,...)
张量Tensor
在TensorFlow中所有节点之间传递的数据都是张量对象,对于图像而言,一般是一个四维张量(batch x height x width x channels)。
tf.constant()
tf.Variable()
tf.placeholder()
Operation
OP就是计算图中计算节点,输入输出都是张量。
Feed
通过feed可以在计算时为定义为placeholder类型的变量赋值,参数是一个字典类型的。