一般使用
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