自慰套教室~女子全员妊娠,精品无码国产自产拍在线观看蜜桃,亚洲国产精品成人精品无码区,久别的草原在线看视频免费

集團站切換校區

驗證碼已發送,請查收短信

復制成功
微信號:togogoi
添加微信好友, 詳細了解課程
已復制成功,如果自動跳轉微信失敗,請前往微信添加好友
打開微信
圖標

學習文章

當前位置:首頁 > >學習文章 > >

{HCNA-AI TensorFlow編程基礎}之TensorBoard 可視化

發布時間: 2018-11-22 23:21:17

5.1 實驗介紹

5.1.1 關于本實驗

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

5.1.2 實驗目的

了解 TensorBoard 可視化工具。

5.1.3 實驗介紹

TensorFlow 提供了一個可視化工具 TensorBoard。他可以將訓練過程的各種回執數據展示出

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

5.1.4 實驗步驟

步驟 1  登陸華為云。

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

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

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

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

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

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

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

步驟 9 運行測試。

輸入命令:python3 tensorboard.py。




5.2 實驗過程

5.2.1 設置編碼說明

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

5.2.2 導入模塊

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 生成模擬數據

#生成模擬數據

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 創建模型

# 創建模型

# 占位符

X = tf.placeholder("float") Y = tf.placeholder("float")

# 模型參數

W = tf.Variable(tf.random_normal([1]), name="weight") b = tf.Variable(tf.zeros([1]), name="bias")

5.2.6 構建前向結構

# 前向結構

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

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




5.2.7 反向優化

#反向優化

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

learning_rate = 0.01 #Gradient descent

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

5.2.8 初始化變量

# 初始化變量

init = tf.global_variables_initializer()


#參數設置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()

#創建 summary_writer,用于寫文件

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

5.2.10 向模型中寫入數據

#向模型中輸入數據

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 寫入文件

#顯示訓練中的詳細信息

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 圖形化展示

結果可視化:

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


模型結果測試:

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

5.2.12 實驗結果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 關于本實驗

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

5.1.2 實驗目的

了解 TensorBoard 可視化工具。

5.1.3 實驗介紹

TensorFlow 提供了一個可視化工具 TensorBoard。他可以將訓練過程的各種回執數據展示出

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

5.1.4 實驗步驟

步驟 1  登陸華為云。

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

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

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

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

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

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

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

步驟 9 運行測試。

輸入命令:python3 tensorboard.py。




5.2 實驗過程

5.2.1 設置編碼說明

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

5.2.2 導入模塊

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 生成模擬數據

#生成模擬數據

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 創建模型

# 創建模型

# 占位符

X = tf.placeholder("float") Y = tf.placeholder("float")

# 模型參數

W = tf.Variable(tf.random_normal([1]), name="weight") b = tf.Variable(tf.zeros([1]), name="bias")

5.2.6 構建前向結構

# 前向結構

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

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




5.2.7 反向優化

#反向優化

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

learning_rate = 0.01 #Gradient descent

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

5.2.8 初始化變量

# 初始化變量

init = tf.global_variables_initializer()


#參數設置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()

#創建 summary_writer,用于寫文件

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

5.2.10 向模型中寫入數據

#向模型中輸入數據

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 寫入文件

#顯示訓練中的詳細信息

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 圖形化展示

結果可視化:

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


模型結果測試:

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

5.2.12 實驗結果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}發布Docker應用到阿里云

十五年老品牌
微信咨詢:togogoi 咨詢電話:18922156670 咨詢網站客服:在線客服

相關課程推薦

在線咨詢 ×

您好,請問有什么可以幫您?我們將竭誠提供最優質服務!

<蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>