在tensorflow中初始化新变量
我已经建立并训练了一个模型。在第二阶段,我想替换最后两层,并使用不同的数据对它们进行重新训练。 即使我在新变量上运行了初始化,我也经常会因为没有初始化变量而出错:在tensorflow中初始化新变量,tensorflow,Tensorflow,我已经建立并训练了一个模型。在第二阶段,我想替换最后两层,并使用不同的数据对它们进行重新训练。 即使我在新变量上运行了初始化,我也经常会因为没有初始化变量而出错: var_init_op=tf.初始化变量(var_list=[fc1_权重,fc1_偏差,fc2_权重,fc2_偏差]) sess.run(var\u init\u op) 我知道我也必须初始化新的优化器(ADAMSolever),但是 我不知道该怎么做 假设我要在中间替换优化器(和其他变量),如何在不破坏已经训练过的变量的情况下初始
var_init_op=tf.初始化变量(var_list=[fc1_权重,fc1_偏差,fc2_权重,fc2_偏差])
sess.run(var\u init\u op)
我知道我也必须初始化新的优化器(ADAMSolever),但是
我不知道该怎么做
假设我要在中间替换优化器(和其他变量),如何在不破坏已经训练过的变量的情况下初始化它?,可以使用TF.TrimabLeValuable()获取所有可训练变量,并且排除从预训练模型中恢复的变量。然后您可以初始化其他变量。initialize_variables只是“GraphKeys.variables集合中每个变量的init_op”的快捷方式。如果您想初始化这些变量的子集,您需要自己构建此列表,就像Sherry suggestsHi@dolbi一样,我遇到了类似的问题,即使在初始化之后,它一直告诉我在ckpt文件中找不到(新)变量。你找到解决办法了吗?@RogerTrullo,很抱歉我最终解决了这个问题。。。。