從我迄今爲止收集的內容來看,有幾種不同的方法將TensorFlow圖形轉儲到文件中,然後將其加載到另一個程序中,但我一直未能找到清楚的例子/他們如何工作的信息。我已經知道是這樣的:TensorFlow從文件中保存/加載圖形
- 保存使用
tf.train.Saver()
並在以後恢復它們(source) - 保存模型到.pb文件並加載它放回模型變量到一個檢查點文件(.ckpt)使用
tf.train.write_graph()
和tf.import_graph_def()
(source)在從.pb文件的模型 - 負載,再培訓,以及如何使用巴澤爾(source)
- 它轉儲到一個新的.pb文件凍結圖表保存圖形和權重一起(source)
- 使用
as_graph_def()
保存模型,併爲權重/變量,它們映射到常數(source)
不過,我一直無法清理有關這些不同的方法幾個問題:
- 關於檢查點文件,他們只保存模型的訓練權重嗎?檢查點文件是否可以加載到一個新的程序中,並且可以用來運行模型,或者它們只是作爲在特定時間/階段保存模型中權重的方法?
- 關於
tf.train.write_graph()
,還保存了權重/變量嗎? - 關於Bazel,它只能保存到/從.pb文件加載再培訓?有沒有簡單的Bazel命令只是將圖轉儲到.pb中?
- 關於凍結,可以使用
tf.import_graph_def()
加載凍結圖嗎? - TensorFlow的Android演示從.pb文件加載到Google的Inception模型中。如果我想替換自己的.pb文件,我會怎麼做呢?我需要更改任何本機代碼/方法嗎?
- 一般來說,所有這些方法之間究竟有什麼區別?或者更廣泛地說,
as_graph_def()
/.ckpt/.pb有什麼區別?
總之,我正在尋找的是一種方法來保存一個圖形(如在,各種操作等)及其權重/變量到一個文件,然後可以用來加載圖形和權重到另一個程序中,以供使用(不一定是繼續/再訓練)。
有關此主題的文檔不是非常簡單,所以任何答案/信息將不勝感激。
最新/最完整的API是元圖,它可以讓您一次保存所有三個元素 - 1)圖2)參數值3)集合:https://www.tensorflow。 org/versions/r0.10/how_tos/meta_graph/index.html –