解決錯誤
錯誤代碼
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就可以了!
for ??? in enumerate(?)的作用
for x,y in enumerate(數組):
print(x,y)
輸出的x是數組值的下標
輸出的y是數組的值
關於Visdom的說明
和tensorboard用法類似
- 先用vis = Visualizer(env="")
- 然后用vis.plot_many_stack()