关于tensorflow中variable的初始化问题
因为一个Progressive Neural Networks的程序遇到了各种关于变量初始化的问题,在这做一个记录和总结。
1.首先最基本的,最简单的方式,将全部变量初始化。
session.run(tf.global_variables_initializer())
或者
session.run(tf.initialize_all_variables())
2.如果只想初始化单个变量
session.run(my_variable.initializer)
或者
session.run(tf.variables_initializer([var_a,var_b]))
3.查询哪些变量尚未初始化
print(session.run(tf.report_uninitialized_variables()))
4.默认情况下,tf.global_variables_initializer 不会指定变量的初始化顺序。因此,如果变量的初始值取决于另一变量的值,那么很有可能会出现错误。任何时候,如果在并非所有变量都已初始化的上下文中使用某个变量值(例如在初始化某个变量时使用另一变量的值),最好使用 variable.initialized_value(),而非 variable:
v = tf.get_variable(“v”, shape=(), initializer=tf.zeros_initializer())
w = tf.get_var