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

tensorflow模型繼續(xù)訓(xùn)練 fineturn實(shí)例

 更新時(shí)間:2020年01月21日 11:03:17   作者:-牧野-  
今天小編就為大家分享一篇tensorflow模型繼續(xù)訓(xùn)練 fineturn實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

解決tensoflow如何在已訓(xùn)練模型上繼續(xù)訓(xùn)練fineturn的問題。

訓(xùn)練代碼

任務(wù)描述: x = 3.0, y = 100.0, 運(yùn)算公式 x×W+b = y,求 W和b的最優(yōu)解。

# -*- coding: utf-8 -*-)
import tensorflow as tf
 
 
# 聲明占位變量x、y
x = tf.placeholder("float", shape=[None, 1])
y = tf.placeholder("float", [None, 1])
 
# 聲明變量
W = tf.Variable(tf.zeros([1, 1]),name='w')
b = tf.Variable(tf.zeros([1]),name='b')
 
# 操作
result = tf.matmul(x, W) + b
 
# 損失函數(shù)
lost = tf.reduce_sum(tf.pow((result - y), 2))
 
# 優(yōu)化
train_step = tf.train.GradientDescentOptimizer(0.0007).minimize(lost)
 
with tf.Session() as sess:
  # 初始化變量
  sess.run(tf.global_variables_initializer())
  saver = tf.train.Saver(max_to_keep=3)
 
  # 這里x、y給固定的值
  x_s = [[3.0]]
  y_s = [[100.0]]
 
  step = 0
  while (True):
    step += 1
    feed = {x: x_s, y: y_s}
    # 通過sess.run執(zhí)行優(yōu)化
    sess.run(train_step, feed_dict=feed)
 
    if step % 1000 == 0:
      print 'step: {0}, loss: {1}'.format(step, sess.run(lost, feed_dict=feed))
      if sess.run(lost, feed_dict=feed) < 1e-10 or step > 4e3:
        print ''
        # print 'final loss is: {}'.format(sess.run(lost, feed_dict=feed))
        print 'final result of {0} = {1}(目標(biāo)值是100.0)'.format('x×W+b', 3.0 * sess.run(W) + sess.run(b))
        print ''
        print("模型保存的W值 : %f" % sess.run(W))
        print("模型保存的b : %f" % sess.run(b))
        break
  saver.save(sess, "./save_model/re-train", global_step=step) # 保存模型

訓(xùn)練完成之后生成模型文件:

訓(xùn)練輸出:

step: 1000, loss: 4.89526428282e-08
step: 2000, loss: 4.89526428282e-08
step: 3000, loss: 4.89526428282e-08
step: 4000, loss: 4.89526428282e-08
step: 5000, loss: 4.89526428282e-08
 
 
final result of x×W+b = [[99.99978]](目標(biāo)值是100.0)
 
模型保存的W值 : 29.999931
模型保存的b : 9.999982

保存在模型中的W值是 29.999931,b是 9.999982。

以下代碼從保存的模型中恢復(fù)出訓(xùn)練狀態(tài),繼續(xù)訓(xùn)練

任務(wù)描述: x = 3.0, y = 200.0, 運(yùn)算公式 x×W+b = y,從上次訓(xùn)練的模型中恢復(fù)出訓(xùn)練參數(shù),繼續(xù)訓(xùn)練,求 W和b的最優(yōu)解。

# -*- coding: utf-8 -*-)
import tensorflow as tf
 
 
# 聲明占位變量x、y
x = tf.placeholder("float", shape=[None, 1])
y = tf.placeholder("float", [None, 1])
 
with tf.Session() as sess:
 
  # 初始化變量
  sess.run(tf.global_variables_initializer())
 
  # saver = tf.train.Saver(max_to_keep=3)
  saver = tf.train.import_meta_graph(r'./save_model/re-train-5000.meta') # 加載模型圖結(jié)構(gòu)
  saver.restore(sess, tf.train.latest_checkpoint(r'./save_model')) # 恢復(fù)數(shù)據(jù)
 
  # 從保存模型中恢復(fù)變量
  graph = tf.get_default_graph()
  W = graph.get_tensor_by_name("w:0")
  b = graph.get_tensor_by_name("b:0")
 
  print("從保存的模型中恢復(fù)出來的W值 : %f" % sess.run("w:0"))
  print("從保存的模型中恢復(fù)出來的b值 : %f" % sess.run("b:0"))
 
  # 操作
  result = tf.matmul(x, W) + b
  # 損失函數(shù)
  lost = tf.reduce_sum(tf.pow((result - y), 2))
  # 優(yōu)化
  train_step = tf.train.GradientDescentOptimizer(0.0007).minimize(lost)
 
  # 這里x、y給固定的值
  x_s = [[3.0]]
  y_s = [[200.0]]
 
  step = 0
  while (True):
    step += 1
    feed = {x: x_s, y: y_s}
    # 通過sess.run執(zhí)行優(yōu)化
    sess.run(train_step, feed_dict=feed)
    if step % 1000 == 0:
      print 'step: {0}, loss: {1}'.format(step, sess.run(lost, feed_dict=feed))
      if sess.run(lost, feed_dict=feed) < 1e-10 or step > 4e3:
        print ''
        # print 'final loss is: {}'.format(sess.run(lost, feed_dict=feed))
        print 'final result of {0} = {1}(目標(biāo)值是200.0)'.format('x×W+b', 3.0 * sess.run(W) + sess.run(b))
        print("模型保存的W值 : %f" % sess.run(W))
        print("模型保存的b : %f" % sess.run(b))
        break
  saver.save(sess, "./save_mode/re-train", global_step=step) # 保存模型

訓(xùn)練輸出:

從保存的模型中恢復(fù)出來的W值 : 29.999931
從保存的模型中恢復(fù)出來的b值 : 9.999982
step: 1000, loss: 1.95810571313e-07
step: 2000, loss: 1.95810571313e-07
step: 3000, loss: 1.95810571313e-07
step: 4000, loss: 1.95810571313e-07
step: 5000, loss: 1.95810571313e-07
 
 
final result of x×W+b = [[199.99956]](目標(biāo)值是200.0)
模型保存的W值 : 59.999866
模型保存的b : 19.999958

從保存的模型中恢復(fù)出來的W值是 29.999931,b是 9.999982,跟模型保存的值一致,說明加載成功。

總結(jié)

從頭開始訓(xùn)練一個(gè)模型,需要通過 tf.train.Saver創(chuàng)建一個(gè)保存器,完成之后使用save方法保存模型到本地:

saver = tf.train.Saver(max_to_keep=3)
……
saver.save(sess, "./save_model/re-train", global_step=step) # 保存模型

在訓(xùn)練好的模型上繼續(xù)訓(xùn)練,fineturn一個(gè)模型,可以使用tf.train.import_meta_graph方法加載圖結(jié)構(gòu),使用restore方法恢復(fù)訓(xùn)練數(shù)據(jù),最后使用同樣的save方法保存到本地:

saver = tf.train.import_meta_graph(r'./save_model/re-train-10050.meta') # 加載模型圖結(jié)構(gòu)
saver.restore(sess, tf.train.latest_checkpoint(r'./save_model')) # 恢復(fù)數(shù)據(jù)
saver.save(sess, "./save_mode/re-train", global_step=step) # 保存模型

注:特殊情況下(如本例)需要從恢復(fù)的模型中加載出數(shù)據(jù):

# 從保存模型中恢復(fù)變量
graph = tf.get_default_graph()
W = graph.get_tensor_by_name("w:0")
b = graph.get_tensor_by_name("b:0")

以上這篇tensorflow模型繼續(xù)訓(xùn)練 fineturn實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python 異常處理的實(shí)例詳解

    Python 異常處理的實(shí)例詳解

    這篇文章主要介紹了Python 異常處理的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家掌握Python 異常的知識,需要的朋友可以參考下
    2017-09-09
  • Python小游戲?qū)崿F(xiàn)實(shí)例之接蘋果

    Python小游戲?qū)崿F(xiàn)實(shí)例之接蘋果

    其實(shí)利用Python編寫的小游戲很簡單,下面這篇文章主要給大家介紹了關(guān)于Python小游戲?qū)崿F(xiàn)實(shí)例之接蘋果的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • 詳解Python3.6的py文件打包生成exe

    詳解Python3.6的py文件打包生成exe

    這篇文章給大家分享了Python3.6的py文件打包生成exe的方法步驟以及相關(guān)知識點(diǎn),有需要的朋友可以參考學(xué)習(xí)下。
    2018-07-07
  • Python中的shape()詳解

    Python中的shape()詳解

    這篇文章主要介紹了Python中的shape()詳解,在debug深度學(xué)習(xí)相關(guān)代碼的時(shí)候,很容易出現(xiàn)shape()這樣形式的東西,用來告知輸出數(shù)據(jù)的形式,需要的朋友可以參考下
    2023-08-08
  • 對python實(shí)現(xiàn)模板生成腳本的方法詳解

    對python實(shí)現(xiàn)模板生成腳本的方法詳解

    今天小編就為大家分享一篇對python實(shí)現(xiàn)模板生成腳本的方法詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python判斷有效的數(shù)獨(dú)算法示例

    Python判斷有效的數(shù)獨(dú)算法示例

    這篇文章主要介紹了Python判斷有效的數(shù)獨(dú)算法,結(jié)合實(shí)例形式分析了Python針對數(shù)獨(dú)有效性判定的相關(guān)操作技巧,需要的朋友可以參考下
    2019-02-02
  • Python實(shí)現(xiàn)使用dir獲取類的方法列表

    Python實(shí)現(xiàn)使用dir獲取類的方法列表

    今天小編就為大家分享一篇Python實(shí)現(xiàn)使用dir獲取類的方法列表,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python數(shù)字圖像處理之估計(jì)噪聲參數(shù)

    python數(shù)字圖像處理之估計(jì)噪聲參數(shù)

    這篇文章主要介紹了python數(shù)字圖像處理之估計(jì)噪聲參數(shù),圖像復(fù)原與重建,想了解圖像處理的同學(xué),一定要好好看看
    2021-04-04
  • Python獲取指定網(wǎng)段正在使用的IP

    Python獲取指定網(wǎng)段正在使用的IP

    這篇文章主要介紹了Python獲取指定網(wǎng)段正在使用的IP的示例代碼,幫助大家更好的利用python進(jìn)行測試,感興趣的朋友可以了解下
    2020-12-12
  • python爬蟲字體加密的解決

    python爬蟲字體加密的解決

    本文主要介紹了python爬蟲字體加密的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03

最新評論

武城县| 拉萨市| 高要市| 上栗县| 雅江县| 湘西| 湖州市| 金沙县| 江华| 崇文区| 喀喇沁旗| 松滋市| 洪湖市| 新泰市| 于都县| 潼南县| 平果县| 重庆市| 清远市| 天等县| 增城市| 富顺县| 如皋市| 崇文区| 新津县| 高阳县| 玛多县| 射洪县| 南京市| 神池县| 绿春县| 和平县| 徐汇区| 伊吾县| 观塘区| 枝江市| 拉萨市| 安国市| 南召县| 交口县| 孝感市|