tensorflow:实战Google深度学习框架第三章
Posted 南野小童
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tensorflow:实战Google深度学习框架第三章相关的知识,希望对你有一定的参考价值。
tensorflow的计算模型:计算图–tf.Graph
tensorflow的数据模型:张量–tf.Tensor
tensorflow的运行模型:会话–tf.Session
tensorflow可视化工具:TensorBoard
通过集合管理资源:tf.add_to_collection、tf.get_collection
Tensor主要三个属性:名字(name)、维度(shape)、类型(type)
#张量,可以简单的理解为多维数组
import tensorflow as tf
a = tf.constant([1.0,2.0],name=‘a‘)
b = tf.constant([3.0,4.0],name=‘b‘)
result = tf.add(a,b,name="add")
print(result)
输出:Tensor("add:0", shape=(2,), dtype=float32)
会话Session需要关闭才能释放资源,通过Python的上下文管理器 with ,可以自动释放资源
#创建会话,并通过上下文管理器来管理
with tf.Session() as sess:
sess.run(result)
#不需要Session.close()关闭会话
#上下文管理器退出,会话自动关闭
tensorflow设备:tf.device(‘/cpu:0’)、tf.device(‘/gpu:2’)
集合名称 | 集合内容 | 使用场景 |
---|---|---|
tf.GraphKeys.VARIABLES | 所有变量 | 持久化TensorFlow模型 |
tf.GraphKeys.TRAINABLE_VARIABLES | 可学习的变量 | 模型训练、生成模型可视化内容 |
tf.GraphKeys.SUMMARIES | 日志生成相关张量 | TensorFlow计算可视化 |
tf.GraphKeys.QUEUE_RUNNERS | 处理输入的QueueRunner | 输入处理 |
tf.GRaphKeys.MOVING_AVEGAGE_VARIABLES | 所有计算了滑动平均值的变量 | 计算变量的滑动平均值 |
函数名称 | 随机数分布 | 主要参数 |
---|---|---|
tf.random_normal | 正太分布 | 平均值、标准差、取值类型 |
tf.truncated_normal | 正太分布,如果随机出来的值偏离均值超过2个标准差,重新随机 | 平均值、标准差、取值类型 |
tf.random_uniform | 平均分布 | 最小、最大取值、取值类型 |
tf.random_gamma | Gamma分布 | 形状参数alpha、尺度参数beta、取值类型 |
函数名称 | 功能 | 样例 |
---|---|---|
tf.zeros | 产生全0数组 | tf.zeros([2,3],int32)–>[[0,0,0],[0,0,0]] |
tf.ones | 产生全1数组 | tf.ones(2,3],int32)–>[[1,1,1],[1,1,1]] |
tf.fill | 产生一个给定值的数组 | tf.fill([2,3],9)–>[[9,9,9],[9,9,9]] |
tf.constant | 产生一个给定值常量 | tf.constant([1,2,3])–>[1,2,3] |
训练神经网络步骤:
1. 定义神经网络结构和前向传播输出结果
2. 定义损失函数及反向传播优化算法
3. 生成会话(tf.Session)并在训练数据上反复运行反向传播优化算法
以上是关于tensorflow:实战Google深度学习框架第三章的主要内容,如果未能解决你的问题,请参考以下文章
《TensorFlow实战Google深度学习框架(第二版)》学习笔记及书评
《TensorFlow实战Google深度学习框架(第二版)》学习笔记及书评
学习《TensorFlow实战Google深度学习框架 (第2版) 》中文PDF和代码