目录
注意对于 tf.initialize_all_variables() 接口,TensorFlow 文档有一个重要说明。
1、变量初始化
变量初始化的标准形式:
init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)
当然也可简写为:
tf.Session().run(tf.initialize_all_variables())
如何有选择地初始化部分变量呢?使用 tf.initialize_variables(),比如要初始化v_6, v_7, v_8三个变量:
init_new_vars_op = tf.initialize_variables([v_6, v_7, v_8])
sess.run(init_new_vars_op)
2、识别未被初始化的变量
用 try & except 语句块捕获:
uninit_vars = []
for var in tf.all_variables():
try:
sess.run(var)
except tf.errors.FailedPreconditionError:
uninit_vars.append(var)
init_new_vars_op = tf.initialize_variables(uninit_vars)
3、变量的更新
state = tf.Variable(1, name='counter')
add_one = tf.add(state, tf.constant(1))
update = tf.assign(state, add_one)
with tf.Session() as sess:
sess.run(tf.initialize_all_variables())
sess.run(state)
for _ in range(6):
sess.run(update)
print(sess.run(state))
Output:
---
2
3
4
5
6
7
---
本文介绍了TensorFlow中变量的初始化、识别未初始化变量的方法以及变量的更新操作。通过示例展示了如何使用tf.initialize_all_variables()和tf.initialize_variables()初始化全部或部分变量,并通过try-except语句块捕获未初始化的变量。此外,还演示了如何更新变量的值,通过一个计数器的例子展示了变量状态的递增更新过程。
2万+

被折叠的 条评论
为什么被折叠?



