2017-08-14 62 views
-2

推薦使用推斷時間與培訓時間的圖表的推薦方法是什麼?基本上,對於培訓來說,圖表需要各種組件進行數據輸入和增強,包括一些自定義操作,而在推理時,整個子圖可以由佔位符替換。TF圖的推論和培訓版本

如果目標是最小化推理時間模型的大小,我應該如何設置?我也不希望鏈接任何僅用於培訓的自定義操作。

我主要關心的是做這件事的「正確」方式是什麼。基本上保證我可以使用tf.train.Saver()將訓練圖還原到推理圖中,而不會有任何兼容性問題?

回答

0

確保推理圖不存在兼容性問題的一個很好的起點是使用metagraph。有一個詳細的教程可用https://www.tensorflow.org/programmers_guide/meta_graph

  1. 推薦它的主要原因是可用於tf.train.import_meta_graph中的clear_devices標誌,該標誌可用於從您的檢查點中刪除設備依賴關係。
  2. 其他好處包括能夠檢索訓練過程中使用的超參數,並在集合中保存有趣的操作(輸入佔位符)以便於檢索。
  3. 它也有助於代碼重用性,因爲您可以編寫一個推理函數,它不包含圖定義,但使用metagraph加載相同的函數。如果我正在訓練一個在訓練過程中驗證過的模型並將其用作特徵提取器,我發現這非常有幫助。