日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tensorflow 就该这么学--2

發(fā)布時(shí)間:2025/4/5 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tensorflow 就该这么学--2 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、模型機(jī)制

tensor? 代表數(shù)據(jù),可以理解為多維數(shù)組

variable? 代表變量,模型中表示定義的參數(shù),是通過不斷訓(xùn)練得到的值

placeholder? 代表占位符,也可以理解為定義函數(shù)的參數(shù)

2、session 的兩種使用方法(還有一種啟動(dòng)session的方式是sess = tf.InteractiveSession())


3、注入機(jī)制


4、指定gpu運(yùn)算


5、保存模型與載入模型


示例完整代碼如下可直接運(yùn)行:

  • import?tensorflow?as?tf??
  • import?numpy?as?np??
  • ??
  • plotdata?=?{?"batchsize":[],?"loss":[]?}??
  • ??
  • #生成模擬數(shù)據(jù)??
  • train_X?=?np.linspace(-1,?1,?100)??
  • train_Y?=?2?*?train_X?+?np.random.randn(*train_X.shape)?*?0.3?#?y=2x,但是加入了噪聲??
  • ??
  • tf.reset_default_graph()??#注意需要添加一個(gè)重置圖??
  • ??
  • ??
  • #?創(chuàng)建模型??
  • #?占位符??
  • X?=?tf.placeholder("float")??
  • Y?=?tf.placeholder("float")??
  • #?模型參數(shù)??
  • W?=?tf.Variable(tf.random_normal([1]),?name="weight")??
  • b?=?tf.Variable(tf.zeros([1]),?name="bias")??
  • ??
  • #?前向結(jié)構(gòu)??
  • z?=?tf.multiply(X,?W)+?b??
  • ??
  • #反向優(yōu)化??
  • cost?=tf.reduce_mean(?tf.square(Y?-?z))??
  • learning_rate?=?0.01??
  • optimizer?=?tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)?#Gradient?descent??
  • ??
  • #?初始化變量??
  • init?=?tf.global_variables_initializer()??
  • #?訓(xùn)練參數(shù)??
  • training_epochs?=?20??
  • display_step?=?2??
  • ??
  • saver?=?tf.train.Saver()??
  • savedir?=?'./'??
  • ??
  • #?啟動(dòng)session??
  • with?tf.Session()?as?sess:??
  • ????sess.run(init)??
  • ??
  • ????#?Fit?all?training?data??
  • ????for?epoch?in?range(training_epochs):??
  • ????????for?(x,?y)?in?zip(train_X,?train_Y):??
  • ????????????sess.run(optimizer,?feed_dict={X:?x,?Y:?y})??
  • ??
  • ????????#顯示訓(xùn)練中的詳細(xì)信息??
  • ????????if?epoch?%?display_step?==?0:??
  • ????????????loss?=?sess.run(cost,?feed_dict={X:?train_X,?Y:train_Y})??
  • ????????????print?("Epoch:",?epoch+1,?"cost=",?loss,"W=",?sess.run(W),?"b=",?sess.run(b))??
  • ????????????if?not?(loss?==?"NA"?):??
  • ????????????????plotdata["batchsize"].append(epoch)??
  • ????????????????plotdata["loss"].append(loss)??
  • ??
  • ????print?("?Finished!")??
  • ????saver.save(sess,savedir+'linemodel.cpkt')?#模型保存??
  • ????print?("cost=",?sess.run(cost,?feed_dict={X:?train_X,?Y:?train_Y}),?"W=",?sess.run(W),?"b=",?sess.run(b))??
  • ??
  • #模型載入??
  • with?tf.Session()?as?sess2:??
  • ????sess2.run(tf.global_variables_initializer())??
  • ????saver.restore(sess2,savedir+'linemodel.cpkt')??
  • ????print('x=0.1,z=',sess2.run(z,feed_dict={X:0.1}))??

  • 6、檢查點(diǎn),訓(xùn)練模型有時(shí)候會(huì)出現(xiàn)中斷情況,可以將檢查點(diǎn)保存起來

    saver一個(gè)參數(shù)max_to_keep=1表明最多只保存一個(gè)檢查點(diǎn)文件

    載入時(shí)指定迭代次數(shù)load_epoch

    完整代碼如下:

  • import?tensorflow?as?tf??
  • import?numpy?as?np??
  • ??
  • plotdata?=?{?"batchsize":[],?"loss":[]?}??
  • ??
  • #生成模擬數(shù)據(jù)??
  • train_X?=?np.linspace(-1,?1,?100)??
  • train_Y?=?2?*?train_X?+?np.random.randn(*train_X.shape)?*?0.3?#?y=2x,但是加入了噪聲??
  • ??
  • tf.reset_default_graph()??#注意需要添加一個(gè)重置圖??
  • ??
  • ??
  • #?創(chuàng)建模型??
  • #?占位符??
  • X?=?tf.placeholder("float")??
  • Y?=?tf.placeholder("float")??
  • #?模型參數(shù)??
  • W?=?tf.Variable(tf.random_normal([1]),?name="weight")??
  • b?=?tf.Variable(tf.zeros([1]),?name="bias")??
  • ??
  • #?前向結(jié)構(gòu)??
  • z?=?tf.multiply(X,?W)+?b??
  • ??
  • #反向優(yōu)化??
  • cost?=tf.reduce_mean(?tf.square(Y?-?z))??
  • learning_rate?=?0.01??
  • optimizer?=?tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)?#Gradient?descent??
  • ??
  • #?初始化變量??
  • init?=?tf.global_variables_initializer()??
  • #?訓(xùn)練參數(shù)??
  • training_epochs?=?20??
  • display_step?=?2??
  • ??
  • saver?=?tf.train.Saver(max_to_keep=1)???????#表明最多只保存一個(gè)檢查點(diǎn)文件??
  • savedir?=?'./'??
  • ??
  • #?啟動(dòng)session??
  • with?tf.Session()?as?sess:??
  • ????sess.run(init)??
  • ??
  • ????#?Fit?all?training?data??
  • ????for?epoch?in?range(training_epochs):??
  • ????????for?(x,?y)?in?zip(train_X,?train_Y):??
  • ????????????sess.run(optimizer,?feed_dict={X:?x,?Y:?y})??
  • ??
  • ????????#顯示訓(xùn)練中的詳細(xì)信息??
  • ????????if?epoch?%?display_step?==?0:??
  • ????????????loss?=?sess.run(cost,?feed_dict={X:?train_X,?Y:train_Y})??
  • ????????????print?("Epoch:",?epoch+1,?"cost=",?loss,"W=",?sess.run(W),?"b=",?sess.run(b))??
  • ????????????if?not?(loss?==?"NA"?):??
  • ????????????????plotdata["batchsize"].append(epoch)??
  • ????????????????plotdata["loss"].append(loss)??
  • ????????????saver.save(sess,savedir+'linemodel.cpkt',global_step=epoch)??
  • ??
  • ????print?("?Finished!")??
  • ????#?saver.save(sess,savedir+'linemodel.cpkt')?#模型保存??
  • ????print?("cost=",?sess.run(cost,?feed_dict={X:?train_X,?Y:?train_Y}),?"W=",?sess.run(W),?"b=",?sess.run(b))??
  • ??
  • #檢查點(diǎn)載入??
  • with?tf.Session()?as?sess2:??
  • ????load_epoch?=??18??
  • ????sess2.run(tf.global_variables_initializer())??
  • ????saver.restore(sess2,savedir+'linemodel.cpkt-'+str(load_epoch))??
  • ????print('x=0.1,z=',sess2.run(z,feed_dict={X:0.1}))??
  • 模型操作常用函數(shù)

    tf.train.Saver()? #創(chuàng)建存儲器Saver

    tf.train.Saver.save(sess,save_path) #保存

    tf.train.Saver.restore(sess,save_path) #恢復(fù)

    7、可視化tensorboard

    在代碼中加入模型相關(guān)操作tf.summary.., 代碼后面有注釋,這個(gè)不理解可以當(dāng)作模版,這幾句代碼,放在不同代碼相應(yīng)位置即可

    代碼如下:

  • import?tensorflow?as?tf??
  • import?numpy?as?np??
  • ??
  • plotdata?=?{?"batchsize":[],?"loss":[]?}??
  • ??
  • #生成模擬數(shù)據(jù)??
  • train_X?=?np.linspace(-1,?1,?100)??
  • train_Y?=?2?*?train_X?+?np.random.randn(*train_X.shape)?*?0.3?#?y=2x,但是加入了噪聲??
  • ??
  • tf.reset_default_graph()??#注意需要添加一個(gè)重置圖??
  • ??
  • #?創(chuàng)建模型??
  • #?占位符??
  • X?=?tf.placeholder("float")??
  • Y?=?tf.placeholder("float")??
  • #?模型參數(shù)??
  • W?=?tf.Variable(tf.random_normal([1]),?name="weight")??
  • b?=?tf.Variable(tf.zeros([1]),?name="bias")??
  • ??
  • #?前向結(jié)構(gòu)??
  • z?=?tf.multiply(X,?W)+?b??
  • tf.summary.histogram('z',z)#將預(yù)測值以直方圖顯示??
  • ??
  • #反向優(yōu)化??
  • cost?=tf.reduce_mean(?tf.square(Y?-?z))??
  • tf.summary.scalar('loss_function',?cost)#將損失以標(biāo)量顯示??
  • ??
  • learning_rate?=?0.01??
  • optimizer?=?tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)?#Gradient?descent??
  • ??
  • #?初始化變量??
  • init?=?tf.global_variables_initializer()??
  • #?訓(xùn)練參數(shù)??
  • training_epochs?=?20??
  • display_step?=?2??
  • ??
  • #?啟動(dòng)session??
  • with?tf.Session()?as?sess:??
  • ????sess.run(init)??
  • ??
  • ????merged_summary_op?=?tf.summary.merge_all()??#?合并所有summary??
  • ????#?創(chuàng)建summary_writer,用于寫文件??
  • ????summary_writer?=?tf.summary.FileWriter('log/summaries',?sess.graph)??
  • ??
  • ????#?Fit?all?training?data??
  • ????for?epoch?in?range(training_epochs):??
  • ????????for?(x,?y)?in?zip(train_X,?train_Y):??
  • ????????????sess.run(optimizer,?feed_dict={X:?x,?Y:?y})??
  • ??
  • ????????????summary_str?=?sess.run(merged_summary_op,?feed_dict={X:?x,?Y:?y});??
  • ????????????summary_writer.add_summary(summary_str,?epoch);??#?將summary?寫入文件??
  • ??
  • ????????#顯示訓(xùn)練中的詳細(xì)信息??
  • ????????if?epoch?%?display_step?==?0:??
  • ????????????loss?=?sess.run(cost,?feed_dict={X:?train_X,?Y:train_Y})??
  • ????????????print?("Epoch:",?epoch+1,?"cost=",?loss,"W=",?sess.run(W),?"b=",?sess.run(b))??
  • ????????????if?not?(loss?==?"NA"?):??
  • ????????????????plotdata["batchsize"].append(epoch)??
  • ????????????????plotdata["loss"].append(loss)??
  • ??
  • ????print?("?Finished!")??
  • ??
  • ????print?("cost=",?sess.run(cost,?feed_dict={X:?train_X,?Y:?train_Y}),?"W=",?sess.run(W),?"b=",?sess.run(b))??
  • 之后查看tensorboard,進(jìn)入summary 日志的上級路徑中,輸入相關(guān)命令如下圖所示:


    看見端口號為6006,在瀏覽器中輸入http://127.0.0.1:6006,就會(huì)看到下面界面


    window系統(tǒng)下相關(guān)操作一樣,進(jìn)入日志文件目錄,然后輸入tensorboard相應(yīng)的命令,在打開瀏覽器即可看到上圖(tensorboard)


    總結(jié)

    以上是生活随笔為你收集整理的tensorflow 就该这么学--2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 午夜精品久久久久久久99老熟妇 | 一区视频在线 | 四季av日韩精品一区 | 国内精品久久久久久久久久久 | 精品久久久无码中文字幕边打电话 | 波多野结衣高清在线 | 最新日韩在线视频 | 免费精品视频一区二区三区 | 上海贵妇尝试黑人洋吊 | 国产精品麻豆果冻传媒在线播放 | 一区二区三区少妇 | 青娱乐超碰在线 | 亚洲永久精品一区 | 欧美激情一区二区三区免费观看 | 亚洲精品91在线 | 国产九区 | 少妇人妻好深好紧精品无码 | 一级做a爰片毛片 | 天天想夜夜操 | 欧美精品一 | 国产sm网站 | 欧美日韩丝袜 | 青青草这里只有精品 | 一本一道精品欧美中文字幕 | 国产欧美专区 | 国产九九在线 | 动漫美女隐私无遮挡 | 成人区人妻精品一区 | 午夜av影院| 国产校园春色 | 粗大黑人巨茎大战欧美成人免费看 | h亚洲| 老司机一区二区三区 | youjizz国产| av一区二区三区在线观看 | 精品人妻一区二 | 欧美日本中文字幕 | 欧美一区二区三区国产 | 天堂网一区 | 超碰在线最新 | 亚洲激情专区 | 青青草国产在线视频 | 欧美黑人一级爽快片淫片高清 | 成年网站免费观看 | 少妇人妻丰满做爰xxx | a v在线视频 | 美女视频在线观看免费 | 色哟哟在线免费观看 | 日韩欧美综合视频 | 国产黄色免费大片 | 800av凹凸| 污黄网站在线观看 | 国产肉体ⅹxxx137大胆 | 色综合成人 | av资源在线播放 | 91网国产| 男女羞羞的视频 | 九九热免费视频 | 奇米影视av | 国产人妖一区二区三区 | 久久免费视频6 | 日韩av无码久久 | 蜜臀久久99精品久久一区二区 | 91片黄在线观 | 乱亲女h秽乱长久久久 | 少妇一级淫片日本 | 电车痴汉在线观看 | 嫩草一区二区 | 国产乱码久久久久久 | 成人黄色电影在线 | 午夜日韩精品 | 成人小视频在线免费观看 | 久久蜜臀 | 亚洲v日韩v综合v精品v | 日韩av毛片| 日韩av免费在线 | 欧美精品综合 | 97成人人妻一区二区三区 | 神秘马戏团在线观看免费高清中文 | 免费小视频在线观看 | 亚洲av网址在线 | 九九九在线 | 日韩精品综合 | 亚洲情热| 原创少妇半推半就88av | 雪花飘电影在线观看免费高清 | 污污视频在线播放 | 合欢视频在线观看 | 四虎少妇做爰免费视频网站四 | 国产黄色片免费 | 亚洲精久久 | 色人综合 | 美国一级片网站 | 精品精品视频 | 最近中文字幕一区二区 | 四十路av | 中国新婚夫妻性猛交 | 人人做人人爱人人爽 | 欧美浪妇xxxx高跟鞋交 |