1. 程式人生 > >Tensorflow-持久化模型

Tensorflow-持久化模型

持久化模型

通過Saver物件實現save、restore等方法。將運算的結果儲存至ckpt.meta檔案和從ckpt.meta檔案中讀取相應的值。這些值是與節點的名稱相對應的

tf.train.Saver()物件無引數時是預設匯入當前graph中的所有節點。若是指定節點,則向tf.train.Saver()物件傳遞相應的節點作為引數

從ckpt.meta檔案中還原節點對應的值時,因為ckpt.meta檔案儲存的是值與節點的名稱,而且對值進行載入相當於對節點賦予初始化值,還並沒有真正的實現初始化。因為儲存的實際上是節點的名稱和相應的值,而是在一個新的計算圖上進行載入,ckpt.meta檔案儲存的節點名稱和值來自與哪個圖並不管,反正最終都是要載入到當前呼叫tf.train.Saver()物件的restore方法實現載入還原的計算圖上。又正如之前所述,這裡的載入實際上相當於是對當前計算圖的節點定義初始值,所以在完成載入的操作有一個前提,就是需要構建當前的計算圖。同時,由於ckpt.meta檔案中只含有節點的名稱和值,所以為了能完成相對應的載入,需要當前的計算圖中節點的名稱也和ckpt.meta檔案中的名稱相匹配。如果要完成重新命名功能,則需要使用特別的方式,使用{}字典來將ckpt.meta檔案中某一個名稱的值對映到當前載入ckpt.meta檔案的計算圖中的某一個新的名稱的節點上。