pytorch用tensorboard實時生成loss圖像


解決錯誤

錯誤代碼

No module named ‘tensorboard‘

解決方式

進入虛擬環境依次輸入以下指令
conda update pytorch torchvision
pip install tensorboard

如何開始

寫代碼

  • 打開訓練的py文件
  • 頂部導入庫
    from torch.utils.tensorboard import SummaryWriter
  • 在訓練的代碼的epoch外面寫下面的代碼
    (log_dir是保存loss的位置,如果位置不存在會自動創建)
    (flush_secs=20是每20秒保存一次)
    writer = SummaryWriter(log_dir='runs/result',flush_secs=20)
  • 在輸出loss的語句下面寫
    (epoch*len(train_dataloader)+i就是輸出圖像的橫坐標,epoch是什么都懂,train_dataloader就是訓練用的dataloader的實例對象,i就是索引)
    writer.add_scalar('Train/Loss', loss.item(), epoch*len(train_dataloader)+i)
  • 打開anaconda prompt,切換到有pytorch的虛擬環境,再用cd切換到保存tensorboard文件的絕對路徑位置
  • 輸入以下命令
    tensorboard --logdir=./
  • 復制在黑框里出現的url在瀏覽器打開
  • 此時已經進入tensorboard但是它不會自動刷新圖像,點擊右上角的齒輪,把Reload data打勾,再把Reload period改成30就可以了!
    image
    image

for ??? in enumerate(?)的作用

for x,y in enumerate(數組):
	print(x,y)

輸出的x是數組值的下標
輸出的y是數組的值

關於Visdom的說明

和tensorboard用法類似

  • 先用vis = Visualizer(env="")
  • 然后用vis.plot_many_stack()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM