2017-02-21 50 views
0

我已經開始探索TensorFlow庫並嘗試使用MNIST數據的圖像分類example。我希望模型在訓練階段結束後存儲在文件中,以便在需要時可以使用它。我已經檢查了this link,它告訴我們如何將TensorFlow的值保存到任何文件中並讀取。到目前爲止,我可以使用pickle將腳本中的一些變量保存到文件中,如鏈接所示。但是,我無法掌握需要保存在文件中以存儲模型的當前狀態以備後用。 請有人可以用存儲模型和加載該模型的示例來解釋該部分。在TensorFlow中重新使用模型需要保存什麼

回答

1

要保存和恢復Tensorflow中的變量,需要以下內容。

1)的變量A列表被保存和恢復 2)tf.train.Saver

通常,1)通過

# To save and restore whole tf variables 
all_vars = tf.global_variables() 

,或者

# To save and restore the specific tf variables using scope 
all_vars = tf.global_variables() 
model_vars = [k for k in all_vars if k.name.startswith("xxx")] 
# "xxx" is the expected scope 

實現然後,2)通過

saver = tf.train.Saver(vars_list) 
# vars_list is list of variables from above 

最後,保存變量,(與tf.Session()與名爲 'SESS' 運行)

saver.save(sess, '/directory/to/chechpoint/file.ckpt') 

,並恢復他們,

saver.restore(sess, '/directory/to/chechpoint/file.ckpt') 
0

首先,你應該看看這個other question

TensorFlow有一些方法可用於管理保存和恢復檢查點,特別是tf.train.saver類。查看官方文檔here。檢查點基本上將張量的值(等等)存儲在磁盤中。

引用的文檔:

檢查點是在專用格式的二進制文件,其映射變量名張量的值。檢查檢查點內容的最好方法是使用Saver加載它。

0

只有Variables可以保存和恢復。當您需要重新使用保存的變量時,您需要先創建神經網絡並設置神經網絡的參數,例如圖層編號,學習速率和丟失等,然後再創建圖形。從檢查點恢復的唯一值是在訓練中定義的變量處理。你可以看看任何例子,例如this one

綜上所述,只有變量可以並且需要保存和恢復,神經網絡配置和placeholders不能。

相關問題