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-- 不覆蓋)