变量初始化
全部变量一次性初始化
tf.Session.run(tf.global_variables_initializer())
等同于:
with tf.Session() as sess:
init = tf.global_variables_initializer()
sess.run(init)
等同于:
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
tf.global_variables_initializer() == tf.initialize_all_variables()
但是在 2017年3月2号以后, tf.initialize_all_variables() 该函数将不再使用。取而代之的是 tf.global_variables_initializer()
来自TensorFlow 文档的重要说明:
tf.initialize_all_variables(): THIS FUNCTION IS DEPRECATED. It will be removed after 2017-03-02. Instructions for updating: Use tf.global_variables_initializer instead.
仅指定部分变量初始化
使用 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)
PS: 识别 未被初始化的变量 的小技巧:
uninit_vars = []
#用 try & except 语句块捕获:
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)