1、综述:
。常见深度学习框架
。Caffe
。pytorch
。mxnet
。tensorflow
。tensorflow优点
。python API
。支持GPU加速计算,支持移动设备
。支持可视化
。可存档
。自动微分
。社区庞大
2、Tensorflow介绍:
Tensorflow是Google开发的Python深度学习框架,在2015年年底开源,在各种应用场景下都有丰富的应用。高层的API方便用户轻松构建和训练模型,降低了深度学习,机器学习的编程开发门槛,支持GPU加速和分布式计算。
3、为什么选择Tensorflow
。Python API
。支持GPU加速计算,支持移动设备
。支持平台广泛(Raspberry Pi,Android,Windows,IOS等)
。支持可视化(TensorBoard)
。CheckPoints(可存档)
。自动微分
。社区庞大
4、Tensorflow Core
。相对底层的API
。提供完整的编程控制
。灵活,可调节部分多
。增进对于Tensorflow高级API的了解
5、Tensor
Tensor(张量),是Tensorflow的核心部分,可以理解为多维数组,tensor包含一系列的基本数据类型,可以是任意维度的数组,tensor的rank就是指tensor维度的数目。
6、导入Tensorflow
在程序中导入Tensorflow只需要以下一行:import tensorflow as tf
7、计算图
Tensorflow中将计算的定义与执行分开了,在使用Tensorflow Core的程序中主要包括以下两个部分:
。建立计算图
现在看一下如何在TensorFlow中对计算图进行定义,定义一个简单的计算图,每个节点的输入为0或多个tensor,输出也是一个tensor,其中有一种节点的类型是constant,这种类型的节点不需要输入,输出的就是节点内部存储的值,下面我们创建两个浮点类型的tensor,并将它们相加:
node1=tf.constant(3.0,dtype=tf.float32)
node2=tf.constant(4.0) #also tf.float32 implicitly
node3=tf.add(node1,node2)
print(node1,node2)
print(node3)
Tensor("Const:0",shape=(),dtype=float32)
Tensor("Const_1:0",shape=(),dtype=float32)
node3:Tensor("Add:0",shape=(),dtype=float32)
执行计算图:
以下的代码创建了一个Session对象,然后调用run方法来运行节点node1和node2:
sess=tf.Session()
print(sess.run([node3]))
。运行计算图