TensorFlow 学习笔记
@(深度学习)
纯粹的学习笔记,写给自己看的,防止遗忘。
定义公式
定义的公式只是 Computation Graph,在这执行这代码时计算还没发生,需要调用 run 方法并 feed 数据才真正执行。
流程
- 定义算法公式,也就是神经网络 forward 时的计算。
- 定义 loss ,选定优化器,并指定优化器优化 loss。
- 迭代地对数据进行训练。
- 在测试集或验证集上对准确率进行评测。
lambda
dense
tf.nn.relu
tf.nn.tanh
tf.nn.moment
tf.nn.softmax_cross_entropy_with_logits()
tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits, labels))
=>
tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits = logits, labels = labels))
tf.stack()
tf.pack() => tf.stack()
tf.unpack() => tf.unstack()
tf.nn.dropout()
tf.truncated_normal()
tf.reshape()
重新变换形状
tf.reduce_mean()
在某一维度上求平均值
1 | reduce_mean( |
Others
1 | a = tf.Variable() |
tf.name_scope()
对 tf.get_variable() 无效
scope.reuse_variables()
后面加 tf.get_variable() 可以重复用
tf.equal()
判断两个是否相等
tf.cast()
映射,参数一映射为参数二的类型
tf.placeholder()
占位符
input = tf.placeholder(tf.float32)
操作 = 函数(input)
sess.run(操作, feed_dict = {input: 2})
tf.placeholder(tf.float32, [None, 784])
第二个参数代表 tensor 的 shape, 也就是数据的尺寸。
None 代表不限条数的输入,784 代表每条输入是一个784 维的向量。
tf.argmax
返回最大值的索引
tf.train
tf.train.Saver()
保存(save) 恢复(restore) 模型1
2
3
4# save
saver.save(sess, 'my-model', global_step = 0)
# restore
saver.restore(sess, 'my-model')
tf.nn.rnn_cell
tf.nn.rnn_cell => tf.contrib.rnn
tf.train.GradientDescentOptimizer()
梯度下降优化器
tf.summary.FileWriter
tf.trian.SummaryWriter => tf.summary.FileWriter
Writes Summary protocol buffers to event files.
tf.global_variables_initializer()
tf.initialize_all_variables() => tf.global_variables_initializer()
tf.matmul()
两个矩阵相乘
1 | matmul( |
tf.square()
平方
1 | square( |