1. 程式人生 > >tensorflow的模型保存於讀取

tensorflow的模型保存於讀取

源自  https://www.cnblogs.com/denny402/p/6940134.html

在模型的儲存部分有兩個重要的函式,

第一個  :  saver = tf.train.Saver(  )

我的理解是: 這行程式碼大概就相當於例項化;

這個函式有一個很重要的引數,max_to_keep, 這個值決定了你要儲存最後幾次的模型

可能這樣說很難讓人理解,其實就是這樣;

max_to_keep=1  我們儲存最後那次修煉的模型  ( 譬如說我們的 epoch = 10, 那麼就只會儲存第十次訓練的模型)

max_to_keep=10 . 則這10次的模型就都會被儲存下來,(然而個人感覺這並沒有什麼卵用) 

 

現在我們有了一個例項化的object了,我們來用第二個函式

saver.save(sess,'ckpt/mnist.ckpt',global_step=step)

從名字就不難看出來,這行程式碼的作用就是儲存,

第一個引數sess自然就不必多說了, 第二個引數設定儲存的路徑和名字(儲存在ckpt資料夾下,名字為mnist. ckpt)

第三個引數嚴格意義上來說也是用來命名的,他們將訓練的次數作為字尾加入到你的檔名字中

譬如說我們的epoch = 10(我的意思是step = 10)

那麼我們執行上面的語句,你ckpt資料夾下的檔案就會是這樣:  mnist-10.ckpt

 

因為不是科班出身,我並沒有學過資料庫,所以對pointcheck的定義也很含糊,我爭取這周簡單的看一下這方面的知識然後在回來充分的理解一下。。。。。

 

在附上我看過的覺得挺好的一篇部落格,和大家分享一下https://blog.csdn.net/Laurenitum0716/article/details/79326128

-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -

 

 

經過上面的兩步,我們的模型就儲存完畢了,

如果我們想要恢復這個模型,則要用到是restore()函式

 

 

我們看到,這個restore一共3個引數,self,  sess  自然不必說

第三個引數: save_path指的是儲存的模型路徑。

我們可以使用tf.train.latest_checkpoint()來自動獲取最後一次儲存的模型。

 

 

 

 

 

-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -

          ps  :  open (w--覆蓋,a-- 不覆蓋)