tensorflow学习遇到函数--随时更新
1、代表产生截断正太分布函数,shape是[784,500],均值默认为0,标准差为0.1
tf.truncated_normal([784,500],stddev=0.1)
2、tf.argmax(vector, 1):返回的是vector中的最大值的索引号,如果vector是一个向量,那就返回一个值,如果是一个矩阵,那就返回一个向量,这个向量的每一个维度都是相对应矩阵行的最大值元素的索引号。
A = [[1,3,4,5,6]] B = [[1,3,4], [2,4,1]] print(sess.run(tf.argmax(A, 1))) print(sess.run(tf.argmax(B, 1)))
输出:
[4]
[2 1]
3、模型持久化
https://blog.csdn.net/leviopku/article/details/78510977?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242
4、训练过程中的初始化
init = tf.global_variables_initializer() #初始化函数 sess = tf.Session() sess.run(init)
5、tf.trainable_variables和tf.all_variables的对比
- tf.trainable_variables返回的是需要训练的变量列表
- tf.all_variables返回的是所有变量的列表
6、TensorFlow-sess.run()使用方法
import tensorflow as tf
# 创建一个变量, 初始化为标量 0.
state = tf.Variable(0.0, dtype=tf.float32)
# 创建一个 op, 其作用是使 state 增加 1
one = tf.constant(1.0, dtype=tf.float32)
new_val = tf.add(state, one)
update = tf.assign(state, new_val) # 返回tensor, 值为new_val
update2 = tf.assign(state, 10000) # 没有fetch,便没有执行
# 启动图后, 变量必须先经过`初始化` (init) op 初始化,
# 首先必须增加一个`初始化` op 到图中.
init = tf.initialize_all_variables()
# 启动图, 运行 op
with tf.Session() as sess:
# 运行 'init' op
sess.run(init)
for _ in range(3):
print sess.run(update)

浙公网安备 33010602011771号