我已经建立并训练了一个模型。在第二阶段,我想替换最后两层,并使用不同的数据重新训练它们。 即使我在新变量上运行初始化,我也经常得到不初始化变量的错误:
var_init_op = tf.initialize_variables(var_list=[fc1_weights, fc1_biases, fc2_weights, fc2_biases])
sess.run(var_init_op)
我知道我必须初始化新的优化器(ADAMSolever),但是 不知道怎么做。
假设我想在中间替换优化器(和其他变量),如何初始化它而不会破坏已经训练过的变量?
答案 0 :(得分:3)
您可以使用tf.trainable_variables()获取所有可训练变量,并排除应从预训练模型中恢复的变量。然后你可以初始化其他变量。