我创建了一个CNN,它有2个转换层,后跟FC层和输出层(仅2个节点),然后我使用saver.save(sess,path)保存参数,现在我想加载预先训练好的权重并冻结然后所有层在FC1之后和输出层之前插入另一个FC2层。
我找到了一个有用的解决方
convWeights = tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES,scope="THE SCOPE OR VARIABLE OR LAYER NAME")
convDict = dict([(var.op.name, var) for var in convWeights])
saver = tf.train.Saver(convDict)
with tf.Session() as sess:
sess.run(init);
saver.restore(sess, "MODEL.ckpt")