我有两个模型m1
和{m1
的固定,并根据m2
的输出对{m1
的所有变量都在变量范围"m1/"
下,m2
的变量在"m2/"
下。我基本上是这样做的:
# build m1 and m2
with tf.device("/cpu:0"):
m1.build_graph()
m2.build_graph()
# indicate the variables of m1 and m2
allvars = tf.global_variables()
m1_vars = [v for v in allvars if v.name.startswith('m1')]
m2_vars = [v for v in allvars if v.name.startswith('m2')]
# construct the saver
m1_saver = tf.train.Saver(m1_vars)
m2_saver = tf.train.Saver(m2_vars)
# Load m2 variables
m2_ckpt_state = tf.train.get_checkpoint_state(FLAGS.m2_log_root)
m2_sess = tf.Session()
m2_saver.restore(m2_sess, m2_ckpt_state.model_checkpoint_path)
# construct a train supervisor for m1
m1_sv = tf.train.Supervisor(is_chief=True, saver=m1_saver)
# construct a session for m1
m1_sess = m1_sv.prepare_or_wait_for_session()
...
但现在在最后一行代码中出现了一个错误:
^{pr2}$你能告诉我为什么会出现这个错误吗?我怎样才能修正它?提前谢谢!在
对不同的模型使用单独的图形;在这种情况下,supervisor是用
m1_vars
定义的,但是它与默认的图形一起工作,其中m2_vars
也存在,当试图初始化m2_vars
时,它会导致问题。因为m2_vars
是用另一个会话初始化的。在相关问题 更多 >
编程相关推荐