我是TensorFlow的初學者,目前正在培訓CNN。Tensorflow:保存和恢復模型參數
我爲了節省模型使用的參數,使用節電器,但我有擔憂這是否會本身存儲在模型中使用的所有變量,以及足以將值恢復爲重新運行在訓練的網絡上執行分類/測試的程序。
讓我們看一下TensorFlow給出的着名示例MNIST。
在這個例子中,我們有一堆卷積塊,所有塊都有權重,並且偏置變量在程序運行時被初始化。
W_conv1 = init_weight([5,5,1,32])
b_conv1 = init_bias([32])
處理好幾個圖層後,我們創建一個會話,並初始化添加到圖形中的所有變量。
sess = tf.Session()
sess.run(tf.initialize_all_variables())
saver = tf.train.Saver()
這裏,是否有可能作出評論saver.save代碼,並通過培訓後saver.restore(SESS,FILE_PATH)取代它,以恢復體重,偏見等,後面的參數到圖表?這是應該如何?
for i in range(1000):
...
if i%500 == 0:
saver.save(sess,"model%d.cpkt"%(i))
我目前的訓練大數據集,因此終止,並重新啓動培訓是浪費時間和資源,所以我要求有人請澄清之前,我開始訓練。
這是有點不清楚你在問什麼。 「評論saver.save代碼,並用saver.restore(sess,file_path)替換它」你不想存儲你的訓練值並且重新設置以前的訓練(通過恢復)? 「如此終止,重新開始培訓是一種浪費」。這意味着當您完成所有培訓後,您想要保存一次模型? –
@Sung Kim:你的後一個問題的答案是肯定的。我不打算用存儲的值重新開始訓練,而是在完成訓練後簡單地將模型保存一次。因爲在Matlab中,這非常簡單,事實上,這是我第一次編程Python和TensorFlow,所以我不知道是否有其他優雅的方式來保存參數。 –