link: https://www.tensorflow.org/guide/saved_model
中文博客:https://blog.csdn.net/Searching_Bird/article/details/78274207
https://blog.csdn.net/mieleizhi0522/article/details/80535189
self.saver = tf.train.Saver({'words/_word_embeddings':self._word_embeddings})
for x in tf.all_variables():
print(x.name)
mysaver = tf.train.import_meta_graph(self.config.dir_model_storepath_pre_graph)
mysaver.restore(self.sess, tf.train.latest_checkpoint(self.config.dir_model_storepath_pre))
一,恢复部分预训练模型的参数。
weight=[weights['wc1'],weights['wc2'],weights['wc3a']]
saver = tf.train.Saver(weight)#创建一个saver对象,.values是以列表的形式获取字典值
saver.restore(sess, model_filename)
二,手动初始化剩下的(预训练模型中没有的)参数。
var = tf.get_variable(name, shape, initializer=tf.contrib.layers.xavier_initializer())
保存的时候怎么保存呢?我想保存全部变量,所以要重新写一个对象,名字和恢复的那个saver对象不同:
saver_out=tf.train.Saver()
saver_out.save(sess,'file_name')
这个时候就保存了全部变量,如果你想保存部分变量,只需要在构造器里传入想要保存的变量的名字就行了。