1、自己写图或者修改后的图加载参数
Tips 1自己重写了一遍图,加载别人训过的参数,要注意图的变量名字要一致!
Tips 2自己写一个图,部分图的变量用预训练的参数。
# 1去除某些参数
exclude = ['MobilenetV1/Logits/Conv2d_1c_1x1/biases','global_step']
variables_to_restore = tf.contrib.framework.get_variables_to_restore(exclude=exclude)
saver = tf.train.Saver(variables_to_restore)
# 2只加载当前搭建的图中部分变量
variables_to_restore = [val for val in tf.global_variables() if 'Adam' not in val.name and 'power' not in val.name and 'global' not in val.name and 'Logits/' not in val.name]
saver = tf.train.Saver(variables_to_restore)
#加载参数
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
# 装载参数
saver.restore(sess, ckpt_path)
# 此时改为所有变量以便于之后保存...
variables_to_restore = [val for val in tf.global_variables()]
saver = tf.train.Saver(variables_to_restore)