最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

tensorflow模型的save與restore,及checkpoint中讀取變量方式

 更新時間:2020年05月26日 09:33:13   作者:J_______ll  
這篇文章主要介紹了tensorflow模型的save與restore,及checkpoint中讀取變量方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

創(chuàng)建一個NN

import tensorflow as tf
import numpy as np

#fake data
x = np.linspace(-1, 1, 100)[:, np.newaxis] #shape(100,1)
noise = np.random.normal(0, 0.1, size=x.shape)
y = np.power(x, 2) + noise  #shape(100,1) + noise
tf_x = tf.placeholder(tf.float32, x.shape) #input x
tf_y = tf.placeholder(tf.float32, y.shape) #output y
l = tf.layers.dense(tf_x, 10, tf.nn.relu) #hidden layer
o = tf.layers.dense(l, 1)     #output layer
loss = tf.losses.mean_squared_error(tf_y, o ) #compute loss
train_op = tf.train.GradientDescentOptimizer(learning_rate=0.5).minimize(loss)

1.使用save對模型進行保存

sess= tf.Session()
sess.run(tf.global_variables_initializer())  #initialize var in graph
saver = tf.train.Saver() # define a saver for saving and restoring
for step in range(100):   #train
 sess.run(train_op,{tf_x:x, tf_y:y})
saver.save(sess, 'params/params.ckpt', write_meta_graph=False) # mate_graph is not recommend

生成三個文件,分別是checkpoint,.ckpt.data-00000-of-00001,.ckpt.index

2.使用restore對提取模型

在提取模型時,需要將模型結(jié)構(gòu)再定義一遍,再將各參數(shù)加載出來

#bulid entire net again and restore
tf_x = tf.placeholder(tf.float32, x.shape)
tf_y = tf.placeholder(tf.float32, y.shape)
l_ = tf.layers.dense(tf_x, 10, tf.nn.relu)
o_ = tf.layers.dense(l_, 1)
loss_ = tf.losses.mean_squared_error(tf_y, o_)
 
sess = tf.Session()
# don't need to initialize variables, just restoring trained variables
saver = tf.train.Saver() # define a saver for saving and restoring
saver.restore(sess, './params/params.ckpt')

3.有時會報錯Not found:b1 not found in checkpoint

這時我們想知道我在文件中到底保存了什么內(nèi)容,即需要讀取出checkpoint中的tensor

import os
from tensorflow.python import pywrap_tensorflow
checkpoint_path = os.path.join('params','params.ckpt')
# Read data from checkpoint file
reader = pywrap_tensorflow.NewCheckpointReader(checkpoint_path)
var_to_shape_map = reader.get_variable_to_shape_map()
# Print tensor name and value
f = open('params.txt','w')
for key in var_to_shape_map: # write tensors' names and values in file
 print(key,file=f)
 print(reader.get_tensor(key),file=f)
f.close()

運行后生成一個params.txt文件,在其中可以看到模型的參數(shù)。

補充知識:TensorFlow按時間保存檢查點

一 實例

介紹一種更簡便地保存檢查點功能的方法——tf.train.MonitoredTrainingSession函數(shù),該函數(shù)可以直接實現(xiàn)保存及載入檢查點模型的文件。

演示使用MonitoredTrainingSession函數(shù)來自動管理檢查點文件。

二 代碼

import tensorflow as tf
tf.reset_default_graph()
global_step = tf.train.get_or_create_global_step()
step = tf.assign_add(global_step, 1)
with tf.train.MonitoredTrainingSession(checkpoint_dir='log/checkpoints',save_checkpoint_secs = 2) as sess:
 print(sess.run([global_step]))
 while not sess.should_stop():
  i = sess.run( step)
  print( i)

三 運行結(jié)果

1 第一次運行后,會發(fā)現(xiàn)log文件夾下產(chǎn)生如下文件

2 第二次運行后,結(jié)果如下:

INFO:tensorflow:Create CheckpointSaverHook.
INFO:tensorflow:Restoring parameters from log/checkpoints\model.ckpt-15147
INFO:tensorflow:Saving checkpoints for 15147 into log/checkpoints\model.ckpt.
[15147]
15148
15149
15150
15151
15152
15153
15154
15155
15156
15157
15158
15159

四 說明

本例是按照訓練時間來保存的。通過指定save_checkpoint_secs參數(shù)的具體秒數(shù),來設(shè)置每訓練多久保存一次檢查點。

可見程序自動載入檢查點是從第15147次開始運行的。

五 注意

1 如果不設(shè)置save_checkpoint_secs參數(shù),默認的保存時間是10分鐘,這種按照時間保存的模式更適合用于使用大型數(shù)據(jù)集來訓練復(fù)雜模型的情況。

2 使用該方法,必須要定義global_step變量,否則會報錯誤。

以上這篇tensorflow模型的save與restore,及checkpoint中讀取變量方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python測試WebService接口的實現(xiàn)示例

    Python測試WebService接口的實現(xiàn)示例

    webService接口是走soap協(xié)議通過http傳輸,請求報文和返回報文都是xml格式的,本文主要介紹了Python測試WebService接口,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Python計算三維矢量幅度的方法

    Python計算三維矢量幅度的方法

    這篇文章主要介紹了Python計算三維矢量幅度的方法,涉及Python矢量運算的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • Python及Django框架生成二維碼的方法分析

    Python及Django框架生成二維碼的方法分析

    這篇文章主要介紹了Python及Django框架生成二維碼的方法,結(jié)合實例形式分析了Python及Django框架使用qrcode包實現(xiàn)二維碼生成功能的相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • Python 循環(huán)終止語句的三種方法小結(jié)

    Python 循環(huán)終止語句的三種方法小結(jié)

    今天小編就為大家分享一篇Python 循環(huán)終止語句的三種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • python畫圖——實現(xiàn)在圖上標注上具體數(shù)值的方法

    python畫圖——實現(xiàn)在圖上標注上具體數(shù)值的方法

    今天小編就為大家分享一篇python畫圖——實現(xiàn)在圖上標注上具體數(shù)值的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 如何運用sklearn做邏輯回歸預(yù)測

    如何運用sklearn做邏輯回歸預(yù)測

    這篇文章主要介紹了如何運用sklearn做邏輯回歸預(yù)測問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Python獲取運行目錄與當前腳本目錄的方法

    Python獲取運行目錄與當前腳本目錄的方法

    這篇文章主要介紹了Python獲取運行目錄與當前腳本目錄的方法,涉及Python目錄操作與系統(tǒng)相關(guān)變量的獲取技巧,需要的朋友可以參考下
    2015-06-06
  • Python字符串格式化format()方法運用實例

    Python字符串格式化format()方法運用實例

    這篇文章主要給大家介紹了關(guān)于Python字符串格式化format()方法運用實例的相關(guān)資料,字符串格式化是Python編程中十分常用的部分,它可以幫助我們將更具可讀性的數(shù)據(jù)輸出到控制臺或?qū)懭胛募?需要的朋友可以參考下
    2023-08-08
  • 利用pandas按日期做分組運算的操作

    利用pandas按日期做分組運算的操作

    這篇文章主要介紹了利用pandas按日期做分組運算的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 一篇文章帶你了解Python中的類

    一篇文章帶你了解Python中的類

    這篇文章主要給大家介紹了關(guān)于Python中類的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2021-09-09

最新評論

昌吉市| 衡山县| 竹山县| 嵊州市| 芦山县| 宁阳县| 从化市| 双城市| 陈巴尔虎旗| 攀枝花市| 梅州市| 讷河市| 哈密市| 德保县| 潍坊市| 安康市| 武乡县| 蒙阴县| 台东县| 伊宁市| 桦甸市| 胶南市| 浪卡子县| 登封市| 乐昌市| 九寨沟县| 黎城县| 长治市| 绥化市| 抚松县| 明光市| 乐平市| 乌兰浩特市| 绿春县| 巴南区| 石嘴山市| 北辰区| 区。| 黎城县| 察哈| 辉县市|