宝贝腿开大点我添添你视频男男,中文字幕熟女人妻av一区二区三区,爱色成人网,大地资源高清播放在线观看在线电影在线观看 ,777米奇影视第四色

集團站切換校區(qū)

驗證碼已發(fā)送,請查收短信

復(fù)制成功
微信號:togogoi
添加微信好友, 詳細(xì)了解課程
已復(fù)制成功,如果自動跳轉(zhuǎn)微信失敗,請前往微信添加好友
打開微信
圖標(biāo)

學(xué)習(xí)文章

當(dāng)前位置:首頁 > >學(xué)習(xí)文章 > >

{HCNA-AI TensorFlow編程基礎(chǔ)}之TensorBoard 可視化

發(fā)布時間: 2018-11-22 23:21:17

5.1 實驗介紹

5.1.1 關(guān)于本實驗

本實驗主要是展示 TensorBoard 的可視化效果。

5.1.2 實驗?zāi)康?br>

了解 TensorBoard 可視化工具。

5.1.3 實驗介紹

TensorFlow 提供了一個可視化工具 TensorBoard。他可以將訓(xùn)練過程的各種回執(zhí)數(shù)據(jù)展示出

來,包括標(biāo)量,圖片,音頻,計算圖,數(shù)據(jù)分布,直方圖和嵌入式向量。通過網(wǎng)頁來觀察模型的結(jié)構(gòu)和訓(xùn)練過程中各個參數(shù)的變化。TensorBoard 是日志展示系統(tǒng),需要在 session  中運算圖時,將各種類型的數(shù)據(jù)匯總并輸出到日志文件中。然后啟動 TensorBoard 服務(wù),TensorBoard 讀取這些日志文件,并開啟 6060 端口提供 Web 服務(wù),讓用戶可以在瀏覽器中查看數(shù)據(jù)。

5.1.4 實驗步驟

步驟 1  登陸華為云。

步驟 2 點擊右上方的控制臺。

步驟 3 選擇彈性云服務(wù)器,網(wǎng)頁中會顯示該彈性云的可進行的操作,選擇遠程登錄。即登錄到彈性云服務(wù)器。

步驟 4 輸入指令 ll,查看當(dāng)前目錄下的文件。

步驟 5 輸入命令:vi tensorboard.py,創(chuàng)建新的 Python 腳本。

步驟 6 輸入命令 i,進入編輯模式開始編輯,輸入腳本內(nèi)容。

步驟 7 輸入命令 :wq!,保存并退出。

步驟 8 輸入命令 cat tensorboard.py 查看代碼。

步驟 9 運行測試。

輸入命令:python3 tensorboard.py。




5.2 實驗過程

5.2.1 設(shè)置編碼說明

# -*- coding: utf-8 -*-

5.2.2 導(dǎo)入模塊

import tensorflow as tf import numpy as np

import matplotlib.pyplot as plt


plotdata = { "batchsize":[], "loss":[] } def moving_average(a, w=10):

if len(a) < w: return a[:]

return [val if idx < w else sum(a[(idx-w):idx])/w for idx, val in enumerate(a)]


5.2.3 生成模擬數(shù)據(jù)

#生成模擬數(shù)據(jù)

train_X = np.linspace(-1, 1, 100)

train_Y = 2*train_X + np.random.randn(*train_X.shape)*0.3 # y=2x,但是加入了噪聲

5.2.4 重置計算圖

#圖形顯示

# plt.plot(train_X, train_Y, 'ro', label='Original data') # plt.legend()

plt.show()


tf.reset_default_graph()

5.2.5 創(chuàng)建模型

# 創(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")

5.2.6 構(gòu)建前向結(jié)構(gòu)

# 前向結(jié)構(gòu)

z = tf.multiply(X, W)+ b

tf.summary.histogram('z',z)#將預(yù)測值以直方圖顯示




5.2.7 反向優(yōu)化

#反向優(yōu)化

cost =tf.reduce_mean( tf.square(Y - z)) tf.summary.scalar('loss_function', cost) #將損失以標(biāo)量顯示

learning_rate = 0.01 #Gradient descent

optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)

5.2.8 初始化變量

# 初始化變量

init = tf.global_variables_initializer()


#參數(shù)設(shè)置training_epochs = 20

display_step = 2

5.2.9 啟動會話

# 啟 動 session

with tf.Session() as sess:

sess.run(init)

#合并所有 summary

merged_summary_op = tf.summary.merge_all()

#創(chuàng)建 summary_writer,用于寫文件

summary_writer = tf.summary.FileWriter('log/mnist_with_summaries',sess.graph)

5.2.10 向模型中寫入數(shù)據(jù)

#向模型中輸入數(shù)據(jù)

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

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))

print ("cost:",cost.eval({X: train_X, Y: train_Y}))

5.2.11 圖形化展示

結(jié)果可視化:

plt.plot(train_X, train_Y, 'ro', label='Original data')

plt.plot(train_X, sess.run(W) * train_X + sess.run(b), label='Fitted line') plt.legend()

plt.show()


plotdata["avgloss"] = moving_average(plotdata["loss"]) plt.figure(1)

plt.subplot(211)

plt.plot(plotdata["batchsize"], plotdata["avgloss"], 'b--') plt.xlabel('Minibatch number')

plt.ylabel('Loss')

plt.title('Minibatch run vs. Training loss')


plt.show()


模型結(jié)果測試:

print("x=0.2,z=", sess.run(z, feed_dict={X: 0.2}))

5.2.12 實驗結(jié)果Epoch:1cost=0.26367584W=[1.4959534] b= [0.1584389]Epoch:3cost=0.11837075W=[1.927753] b= [0.04088809]Epoch:5cost=0.10505076W=[2.04464] b= [-0.00315647]Epoch:7cost=0.10374546W=[2.074953] b= [-0.01477524]Epoch:9cost=0.10355354W=[2.0827925] b= [-0.01778343]Epoch:11cost=0.10351367W=[2.0848196] b= [-0.01856134]Epoch:13cost=0.10350403W=[2.0853424] b= [-0.01876191]Epoch:15cost=0.10350155W=[2.0854788] b= [-0.01881423]Epoch:17cost=0.10350095W=[2.0855126] b= [-0.01882721]Epoch:19cost=0.10350082W=[2.0855196] b= [-0.01882991]Finished!

cost= 0.1035008 W= [2.085521] b= [-0.01883046]

5.1 實驗介紹

5.1.1 關(guān)于本實驗

本實驗主要是展示 TensorBoard 的可視化效果。

5.1.2 實驗?zāi)康?br>

了解 TensorBoard 可視化工具。

5.1.3 實驗介紹

TensorFlow 提供了一個可視化工具 TensorBoard。他可以將訓(xùn)練過程的各種回執(zhí)數(shù)據(jù)展示出

來,包括標(biāo)量,圖片,音頻,計算圖,數(shù)據(jù)分布,直方圖和嵌入式向量。通過網(wǎng)頁來觀察模型的結(jié)構(gòu)和訓(xùn)練過程中各個參數(shù)的變化。TensorBoard 是日志展示系統(tǒng),需要在 session  中運算圖時,將各種類型的數(shù)據(jù)匯總并輸出到日志文件中。然后啟動 TensorBoard 服務(wù),TensorBoard 讀取這些日志文件,并開啟 6060 端口提供 Web 服務(wù),讓用戶可以在瀏覽器中查看數(shù)據(jù)。

5.1.4 實驗步驟

步驟 1  登陸華為云。

步驟 2 點擊右上方的控制臺。

步驟 3 選擇彈性云服務(wù)器,網(wǎng)頁中會顯示該彈性云的可進行的操作,選擇遠程登錄。即登錄到彈性云服務(wù)器。

步驟 4 輸入指令 ll,查看當(dāng)前目錄下的文件。

步驟 5 輸入命令:vi tensorboard.py,創(chuàng)建新的 Python 腳本。

步驟 6 輸入命令 i,進入編輯模式開始編輯,輸入腳本內(nèi)容。

步驟 7 輸入命令 :wq!,保存并退出。

步驟 8 輸入命令 cat tensorboard.py 查看代碼。

步驟 9 運行測試。

輸入命令:python3 tensorboard.py。




5.2 實驗過程

5.2.1 設(shè)置編碼說明

# -*- coding: utf-8 -*-

5.2.2 導(dǎo)入模塊

import tensorflow as tf import numpy as np

import matplotlib.pyplot as plt


plotdata = { "batchsize":[], "loss":[] } def moving_average(a, w=10):

if len(a) < w: return a[:]

return [val if idx < w else sum(a[(idx-w):idx])/w for idx, val in enumerate(a)]


5.2.3 生成模擬數(shù)據(jù)

#生成模擬數(shù)據(jù)

train_X = np.linspace(-1, 1, 100)

train_Y = 2*train_X + np.random.randn(*train_X.shape)*0.3 # y=2x,但是加入了噪聲

5.2.4 重置計算圖

#圖形顯示

# plt.plot(train_X, train_Y, 'ro', label='Original data') # plt.legend()

plt.show()


tf.reset_default_graph()

5.2.5 創(chuàng)建模型

# 創(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")

5.2.6 構(gòu)建前向結(jié)構(gòu)

# 前向結(jié)構(gòu)

z = tf.multiply(X, W)+ b

tf.summary.histogram('z',z)#將預(yù)測值以直方圖顯示




5.2.7 反向優(yōu)化

#反向優(yōu)化

cost =tf.reduce_mean( tf.square(Y - z)) tf.summary.scalar('loss_function', cost) #將損失以標(biāo)量顯示

learning_rate = 0.01 #Gradient descent

optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)

5.2.8 初始化變量

# 初始化變量

init = tf.global_variables_initializer()


#參數(shù)設(shè)置training_epochs = 20

display_step = 2

5.2.9 啟動會話

# 啟 動 session

with tf.Session() as sess:

sess.run(init)

#合并所有 summary

merged_summary_op = tf.summary.merge_all()

#創(chuàng)建 summary_writer,用于寫文件

summary_writer = tf.summary.FileWriter('log/mnist_with_summaries',sess.graph)

5.2.10 向模型中寫入數(shù)據(jù)

#向模型中輸入數(shù)據(jù)

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

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))

print ("cost:",cost.eval({X: train_X, Y: train_Y}))

5.2.11 圖形化展示

結(jié)果可視化:

plt.plot(train_X, train_Y, 'ro', label='Original data')

plt.plot(train_X, sess.run(W) * train_X + sess.run(b), label='Fitted line') plt.legend()

plt.show()


plotdata["avgloss"] = moving_average(plotdata["loss"]) plt.figure(1)

plt.subplot(211)

plt.plot(plotdata["batchsize"], plotdata["avgloss"], 'b--') plt.xlabel('Minibatch number')

plt.ylabel('Loss')

plt.title('Minibatch run vs. Training loss')


plt.show()


模型結(jié)果測試:

print("x=0.2,z=", sess.run(z, feed_dict={X: 0.2}))

5.2.12 實驗結(jié)果Epoch:1cost=0.26367584W=[1.4959534] b= [0.1584389]Epoch:3cost=0.11837075W=[1.927753] b= [0.04088809]Epoch:5cost=0.10505076W=[2.04464] b= [-0.00315647]Epoch:7cost=0.10374546W=[2.074953] b= [-0.01477524]Epoch:9cost=0.10355354W=[2.0827925] b= [-0.01778343]Epoch:11cost=0.10351367W=[2.0848196] b= [-0.01856134]Epoch:13cost=0.10350403W=[2.0853424] b= [-0.01876191]Epoch:15cost=0.10350155W=[2.0854788] b= [-0.01881423]Epoch:17cost=0.10350095W=[2.0855126] b= [-0.01882721]Epoch:19cost=0.10350082W=[2.0855196] b= [-0.01882991]Finished!

cost= 0.1035008 W= [2.085521] b= [-0.01883046]

?

上一篇: {Springboot}介紹

下一篇: {Docker}發(fā)布Docker應(yīng)用到阿里云

十九年老品牌
微信咨詢:gz_togogo 咨詢電話:18127429208 咨詢網(wǎng)站客服:在線客服

相關(guān)課程推薦

在線咨詢 ×

您好,請問有什么可以幫您?我們將竭誠提供最優(yōu)質(zhì)服務(wù)!