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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

TensorFlow实验(2)

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

實(shí)驗(yàn)3-4 數(shù)據(jù)結(jié)構(gòu)-張量

1)已知兩個(gè)張量[1,3,5,7]和[2,4,4,8],編寫一個(gè)模型,計(jì)算兩個(gè)張量的加法,輸出結(jié)果,并在tensorboard中顯示

2)已知張量[1,2,3,4,5,6,7,8,9,10,11,12]有12個(gè)元素,利用tf.reshape()將其形狀轉(zhuǎn)換為[2,3,2]的三維張量

要求:程序+截圖

1)已知兩個(gè)張量[1,3,5,7]和[2,4,4,8],編寫一個(gè)模型,計(jì)算兩個(gè)張量的加法,輸出結(jié)果,并在tensorboard中顯示

①第一步

TensorBoard是TensorFlow自帶的一個(gè)強(qiáng)大的可視化工具,也是一個(gè)web應(yīng)用程序套件。通過TensorFlow程序運(yùn)行過程中產(chǎn)生的日志文件可視化TensorFlow的程序運(yùn)行狀態(tài),它與TensorFlow跑在兩個(gè)不同的進(jìn)程中。

啟動(dòng)tensorboard:

打開anaconda prompt:

激活環(huán)境activate tensorflow

切換到根目錄:cd /

切換到日志存放的目錄:cd log

查看文件:dir

啟動(dòng)tensorboard:tensorboard --logdir=C:\log

TensorBoard目前支持7種可視化,即SCALARS、IMAGES、AUDIO、GRAPHS、
DISTRIBUTIONS、HISTOGRAMS、EMBEDDINGS,這七種可視化的主要功能如下:

lSCALARS:展示訓(xùn)練過程中的準(zhǔn)確率、損失值、權(quán)重/偏置的變化情況
lIMAGES:展示訓(xùn)練過程中的圖像
lAUDIO:展示訓(xùn)練過程中的音頻
lGRAPHS:展示模型的數(shù)據(jù)流圖,以及訓(xùn)練在各個(gè)設(shè)備上消耗的內(nèi)存和時(shí)間
lDISTRIBUTIONS:展示訓(xùn)練過程中記錄的數(shù)據(jù)的分布圖
lHISTOGRAMS:展示訓(xùn)練過程中記錄的數(shù)據(jù)的柱狀圖
lEMBEDDINGS:展示此向量后的投影分布

計(jì)算圖的概念

計(jì)算圖實(shí)際上描述的是需要依次完成的計(jì)算單元以及這些計(jì)算單元之間的相互依賴關(guān)系。由一組節(jié)點(diǎn)和一組有向邊構(gòu)成。

①每一個(gè)計(jì)算都被稱為節(jié)點(diǎn)(operation,簡(jiǎn)稱op)

②節(jié)點(diǎn)之間的邊描述了計(jì)算之間的依賴關(guān)系

③一個(gè)節(jié)點(diǎn)獲得0 個(gè)或多個(gè)張量,產(chǎn)生0 個(gè)或多個(gè)張量

計(jì)算圖描述了一組需要依次序完成的計(jì)算單元以及這些計(jì)算單元之間相互依賴的關(guān)系。圖中的節(jié)點(diǎn)表示某一具體的計(jì)算單元,如張量以及張量之間的乘積,點(diǎn)積等。

計(jì)算圖中的節(jié)點(diǎn)就是操作(Operation)

一次加法是一個(gè)操作
一次乘法是一個(gè)操作
構(gòu)建一些變量的初始值也是一個(gè)操作
每個(gè)運(yùn)算操作都有屬性,它在構(gòu)建圖的時(shí)候就需要確定下來
操作也可以和計(jì)算設(shè)備綁定,指定操作在某個(gè)設(shè)備上執(zhí)行
操作之間存在順序關(guān)系,這些操作之間的依賴就是“邊”
如果操作A的輸入是操作B執(zhí)行的結(jié)果,那么這個(gè)操作A就依賴于操作B。

TensorBoard的啟動(dòng):
不需要額外安裝,安裝TensorFlow時(shí)已自動(dòng)完成。
在Anaconda Prompt中先進(jìn)入日志存放的目錄,再運(yùn)行TensorBoard,并將日志的地址指向程
序日志輸出的地址,命令為:tensorboard--logdir= /path/log(路徑自己定)

啟動(dòng)tensorboard服務(wù)的端口默認(rèn)為為6006
通過--port參數(shù)可以改變啟動(dòng)服務(wù)的端口

②第二步

import tensorflow as tf #清除default graph和不斷增加的節(jié)點(diǎn) tf.reset_default_graph()#logdir改為自己機(jī)器上的合適路徑 logdir = 'C:/log' #定義一個(gè)簡(jiǎn)單的計(jì)算圖,實(shí)現(xiàn)兩個(gè)張量的加法 a = tf.constant([1,3,5,7],dtype = tf.int32) b = tf.constant([2,4,4,8],dtype = tf.int32) result = tf.add(a,b) with tf.Session() as sess:print(sess.run(result)) #生成一個(gè)寫日志的writer,并將當(dāng)前的TensorFlow計(jì)算圖寫入日志 writer = tf.summary.FileWriter(logdir,tf.get_default_graph()) writer.close()

③第三步

TensorBoard是一個(gè)在本地啟動(dòng)的服務(wù),啟動(dòng)完成后在瀏覽器輸入網(wǎng)址:http://localhost:6006(一般都是電腦名稱)即可進(jìn)行訪問。

查看TensorBoard內(nèi)所執(zhí)行完畢的計(jì)算圖

?

2)已知張量[1,2,3,4,5,6,7,8,9,10,11,12]有12個(gè)元素,利用tf.reshape()將其形狀轉(zhuǎn)換為[2,3,2]的三維張量

import tensorflow as tf #導(dǎo)入tensorflow類庫,別名為tf #定義c1是一維張量,共有12個(gè)元素 c1 = tf.constant([1,2,3,4,5,6,7,8,9,10,11,12],dtype = tf.float32,name = "c1") c2 = tf.reshape(c1,[2,3,2]) with tf.Session() as sess:sess.run(tf.global_variables_initializer())print(sess.run(c1))print(sess.run(c2))

?

總結(jié)

以上是生活随笔為你收集整理的TensorFlow实验(2)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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