【发布时间】:2018-04-12 20:09:36
【问题描述】:
假设我有一个带有 Y 层的模型。
我正在尝试通过将 Y-1 层设置为 trainable=False 来恢复模型,因此我在定义 tf.train.Saver(var_list=list_of_Y-1_layers) 时将所有 Y-1 层(变量名)插入到 var_list 中,以便可以恢复它们。
我不想恢复我想训练自己的最后一层,所以如果我把它放在 var_list 它会被恢复,如果我不把它放在那里,它不会在训练期间保存在检查点内.
这个变量是否保存在其他地方?还是我在保存/恢复方面做错了什么?
旁注:
为了检查是否保存了可训练变量,我使用了函数inspect_checkpoint(),它在tensorflow/tensorflow/python/tools/inspect_checkpoint.py中定义
【问题讨论】:
-
所以你的问题是你想在训练期间检查变量,但也避免在你不想的时候恢复它?一种选择是保存和恢复所有内容,但还有一个操作
init_trainable = tf.variables_initializer(tf.trainable_variables()),您可以在恢复后运行。
标签: python tensorflow neural-network deep-learning