现在我已经训练了模型A
,我需要两个模型A
实例,因为他们中的一个刚是固定的,untrainable输出,另一个是可训练的下一个网络。 我设计了两个variable_scope A_train
和A_untrain
,我预先训练中variable_scope
A_untrain
A
模型,也是恢复模型在此范围内,这样的代码:在tensorflow,如何恢复某些variable_scope变量到另一个一定variable_scope?
saver_untrain = tf.train.Saver(tf.get_collection(
tf.GraphKeys.GLOBAL_VARIABLES,
'A_untrain'))
saver_path = '~/models/model.ckpt'
# here pre-train model A
saver_untrain.save(sess, saver_path)
现在我需要恢复同型号A
参数代入因为CKPT文件恢复PARAMS像A_untrain/input_w1
instread的A_train/input_w1
范围A_train
相同的模型,但我不能按照以前的代码。我想知道是否有解决我的问题或更好的解决方案,使两个实例哪一个是可训练的,另一个是不可排除的。非常感谢。
EDIT_1:我知道我可以实现像我需要使用代码:
saver_train = tf.train.Saver({'A_untrain/input_w1': A_train.input_w1})
但是这将是不切实际的,当我的变量量很大,所以我需要使用variable_scope
,而不是恢复的特定变量的名称。