TensorFlow 中初始化变量的标准方法是
init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)
经过一段时间的学习后,我创建了一组新的变量,但是一旦初始化它们,它就会重置所有现有的变量。目前我的解决方法是保存我需要的所有变量,然后在 tf.initalize_all_variables 调用后重新应用它们。这可行,但有点丑陋和笨重。我在文档中找不到类似的东西......
有谁知道有什么好方法来初始化未初始化的变量吗?
没有优雅的方法来枚举图中未初始化的变量。但是,如果您有权访问新的变量对象,我们称它们为v_6
, v_7
, and v_8
-您可以使用有选择地初始化它们tf.initialize_variables() https://www.tensorflow.org/versions/0.6.0/api_docs/python/state_ops.html#initialize_variables:
init_new_vars_op = tf.initialize_variables([v_6, v_7, v_8])
sess.run(init_new_vars_op)
* 可以使用试错过程来识别未初始化的变量,如下所示:
uninitialized_vars = []
for var in tf.all_variables():
try:
sess.run(var)
except tf.errors.FailedPreconditionError:
uninitialized_vars.append(var)
init_new_vars_op = tf.initialize_variables(uninitialized_vars)
# ...
...但是,我不会容忍这种行为:-)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)