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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Tensorflow(0)--Tensorboard

發布時間:2023/12/13 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tensorflow(0)--Tensorboard 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Tensorboard

  • 1.tensorboard 使用demo
  • 2.tensorboard 數據再讀取

使用tensorboard 記錄實驗數據,可以啟動服務后,在網頁上實時看到被記錄指標的變換情況。有時需操作記錄下來的數據,那么就涉及到tensorboar 數據再讀取問題。

1.tensorboard 使用demo

1.記錄數據

from tensorboardX import SummaryWriter # 設置路徑 # 數據將存在代碼運行文件目錄下的./run/xxxyyy/下的文件中,其中run文件目錄,xxx附加名稱是自動生成的 path = “yyy” selfwriter = SummaryWriter(comment=os.path.split(path) # 添加要觀察數據add_scalar方法保證實時觀察 # global_step 數據步長 selfwriter.add_scalar("Grad/gradD", d_grad_mean, global_step=dis_iter# ations) .... selfwriter.add_scalar("Loss/lossD", loss_D, global_step=dis_iterations) ....

2.顯示數據:切換至./run/xxxpath/下,運行以下命令,在輸出信息中打開對應的網頁鏈接

tensorboard --logdir .

2.tensorboard 數據再讀取

參考博文:https://blog.csdn.net/nima1994/article/details/82844988#commentBox
讀取的接口的github 庫:https://github.com/tensorflow/tensorboard/blob/master/tensorboard/backend/event_processing/event_accumulator.py

from tensorboard.backend.event_processing import event_accumulator import matplotlib.pyplot as plt # 加載日志數據 path = "./runs/xxxyyy/events.out.tfevents.1609854743.pp-System-Product-Name" ea = event_accumulator.EventAccumulator(path) # 數據再載入 ea.Reload() # 輸出所有圖對應的keys,之后會依據這個keys取出對應的數據 print(ea.scalars.Keys())grad_d = ea.scalars.Items('Grad/gradD') grad_g = ea.scalars.Items('Grad/gradG') nd, ng = len(grad_d), len(grad_g) # 數據長度,event_accumulator默認的數據載入壓縮比為500:1,最多載入10000個點 # 所以數據很多的話。最多也就是載入10000個點,我是有后續的點被舍棄掉了么?兩個都是10000,但是數據量明明不一樣? print(nd,ng) # 數據后加工,這里就是展示了繪制 # 數據是[(.step, .value),(),()] 的形式存的 figure = plt.figure() axes1 = figure.add_subplot(2,1,1) axes2 = figure.add_subplot(2,1,2) axes1.plot([i.step for i in grad_d], [i.value for i in grad_d]) axes2.plot([i.step for i in grad_g], [i.value for i in grad_g]) axes1.set_title("grad d") axes2.set_title("grad g") plt.savefig("grad_any.png")

下圖中上下兩子圖都包含1萬個點,那只能說明采樣率不同?(60萬個點采1萬個Vs 12萬個點采1萬個)

如何實現的自動采樣率?修改總的采樣點數,還需要查看官網接口。(具體效果沒有驗證過)
初步查看應該修改event_accumulator.EventAccumulator(path)類實例話時的參數size_guidance,不傳入時默認為:

DEFAULT_SIZE_GUIDANCE = {COMPRESSED_HISTOGRAMS: 500,IMAGES: 4,AUDIO: 4,SCALARS: 10000,HISTOGRAMS: 1,TENSORS: 10, }

tf.summary.merge_all 可以將所有summary全部保存到磁盤,以便tensorboard顯示。
這個tensorbord 可以顯示模型結構?
再看一看這個玩意
summary.merge_all() 的用法

總結

以上是生活随笔為你收集整理的Tensorflow(0)--Tensorboard的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。