随着无人驾驶的火爆,深度学习在无人驾驶中的应用受到广泛关注,我在工作中对此有所接触,因此进行了相关学习和整理,给大家大家可以参考。
TensorFlow深度学习框架
TensorFlow基本概念
1.TensorFlow计算模型——计算图
Tensor:张量,可以简单理解为多维数组
flow:流,张量间通过计算相互转化过程
TensorFlow是一个通过
计算图
形式来描述编程的系统。每一个计算都是计算图上的一个节点,节点之间的边描述了计算间的依赖关系。
计算图的使用
Tensorflow程序分为两个阶段:
定义计算图中的所有计算
执行计算
系统会自动维护一个默认的计算图,通过tf.get_default_graph函数获取当前默认的计算图
2.TensorFlow数据模型——张量
张量是Tensorflow管理数据的形式,功能上可以理解为多维数组。
0阶张量:标量(scalar)也就是一个数
第一阶张量:向量(vector),也就是一维数组
第n阶张量:n维数组。
张量中并未保存真正的数组,其保存如何计算这些数字的计算过程。例如:
一个张量主要保存3个属性:
名字(name):一个张量的唯一标识,同时给出张量如何计算的。通过
node:src_output
形式给出。node为节点名称,srcoutput为当前张量来为节点的第几个输出。例如:add:0表示result张量是计算节点add输出的第一个结果
维度(shape):shape=(2,)说明以为数组,数组长度为2
类型(type):每个张量会有唯一的类型
3.TensorFlow运行模型——会话
TensorFlow通过会话(Session)的方式执行定义好的运算,拥有并管理运行时的所有资源。 会话使用模式2种:
明确调用会话生成函数和关闭会话函数:
2.通过上下文管理器使用会话:
Tensorflow不会自动生成默认会话,需要手动指定
sess = tf.Session()with sess.as_default(): print(result.eval()
tf.Tensor.eval()函数计算一个张量的取值
4.神经网络参数和Tensorflow变量
tf.Variable(): 保存和更新网络中的参数
weights = tf.Variable(tf.random_normal([2,3], stddev=2)) 生成2x3矩阵,元素是均值为0,标准差为2的随机数
TensorFlow随机数生成函数
TensorFlow常数生成函数
tf.initialize_all_variables()函数初始化所有变量
小结
计算图是Tensorflow的计算模型,所有程序都会通过计算图的形式展现;
计算图每一个节点都是一个运算,计算图的边表示运算间的数据传递关系;
计算图保存运行每个运算的设备信息(CPU?GPU)以及运算间的依赖关系;
张量是TensorFlow的数据模型,所有运算的输入、输出都是张量;
张量本身不存储任何数据,只是对运算结果的引用
会话是Tensorflow的运算模型,其管理程序拥有的系统资源,所有的运算都通过会话执行
领取专属 10元无门槛券
私享最新 技术干货