一般使用
1
|
saver.restore(sess, modeldir + "model.ckpt" )
|
即可加载已经训练好的网络,可是有时候想值使用部分层的参数,这时候可以选择在加载网络之后重新初始化剩下的层
1
2
|
var_list = [weights[ 'wd1' ], weights[ 'out' ], biases[ 'bd1' ], biases[ 'out' ], global_step]
initfc = tf.variables_initializer(var_list, name = 'init' )
|
比如我们想从新初始化var_list中的各个层,在restore之后,再初始化即可
1
2
3
4
5
6
|
sess.run(init)
saver.restore(sess, modeldir + "model.ckpt" )
print sess.run(global_step)
#initialize several layer
sess.run(initfc)
print sess.run(global_step)
|
即可发现部分变量重新初始化了
以上这篇基于tensorflow加载部分层的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/jinglingli_SJTU/article/details/69950491