0

我正在學習tensorflow並使用預先訓練過的權重的alexnet進行實驗。Tensorflow)爲什麼變量在恢復後沒有分配?

我在13000次迭代後保存了,我正在嘗試在恢復後重新訓練模型。

但恢復後,權重不會隨着初始化中使用的值而改變。

爲什麼會發生這種情況?所有的代碼(甚至,tensorflow官方網站)剛剛推出的代碼來恢復:

saver.restore(sess, "/tmp/model.ckpt") 

但這代碼不會對這些變量有任何影響。

結果畫面是如下: enter image description here

正如所看到的,恢復之後,通過稱爲 'session.run(' CONV /內核:0' )執行 'CONV2 /內核' 的重量是從不同一個來自'model- + 13000.ckpt'

我想很多人都會爲這個問題而苦苦掙扎。

謝謝

回答

1

如果恢復從檢查點你的模型,你不希望使用tf.global_variables_initializer()了。 (你只是做了第一次創建模型的訓練開始前初始化的權重,否則你基本上是從頭開始一遍又一遍。)

這應該更好地工作:

saver.restore(sess, "/tmp/model.ckpt") 
print sess.run('conv/kernel:0') 
相關問題