我有兩個關於使用檢查點文件恢復網絡的問題。 我使用this code來恢復我的網絡。我只需要我的原始網絡的一部分。實際上,我的原始網絡包含5個卷積(非常小)的網絡,所有這些都連接到一個大的最後完全連接層。我只想要我的5個迷你小點。 我爲網絡中的每個變量和每個圖層定義名稱。 (我注意到當我用日誌數據運行tensorboard時,一切正常,這意味着,我有我的所有變量和張量適當的名稱)從恢復的檢查點文件中獲取張量的名稱:只返回一個變量名稱
1-我的第一個問題是當我想找到這些變量中的任何一個通過恢復網絡中的名稱,我面對「沒有張貼這個名字」的錯誤。我還測試我的檢查點文件與inspect_checkpoint.py和輸出它返回只有一個變量:
Variable (DT_INT32) []
,並在其他的方式,我用這個代碼,再次測試了它:
from tensorflow.python import pywrap_tensorflow
checkpoint_path = os.path.join('./', 'model.ckpt-100')
reader = pywrap_tensorflow.NewCheckpointReader(checkpoint_path)
var_to_shape_map = reader.get_variable_to_shape_map()
for key in var_to_shape_map:
print("tensor_name: ", key)
print(reader.get_tensor(key))
,並返回:
tensor_name: Variable
101
我找不到這個問題的原因。這裏有沒有人遇到過這個問題?
2-基於上述網站,我用於恢復我的網絡,我有點困惑。實際上,我想恢復我的全部5個迷你網絡(這些迷你網絡的最後一層都是完全連接的)。所以,我真的不知道什麼纔是正確的方式來恢復其最後一個完全連接的層與所有權重的每一個小迷你網絡。
除非你有一個機器學習一個不尋常的使用情況下,我真的建議你給https://keras.io/一展身手。這是一個高級機器學習庫,位於TensorFlow或Theano之上,並使建立深度學習模式更快捷。 pip安裝keras – DrMcCleod