歡迎關注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/132227253
WandB (Weights & Biases) 是在線的模型訓練可視化工具,可以幫助跟蹤機器學習項目,記錄運行中的超參數和輸出指標,可視化結果并共享結果,支持多種深度學習框架,如 PyTorch、TensorFlow、Keras 等,也可以與 AWS、GCP、Kubernetes、Azure等云平臺配合使用。
WandB:https://wandb.ai/,注冊即可使用。
統計已運行 epoch 數量,預估訓練時間,查看 WandB,支持選擇 epoch 或 step 或 trainer/global_step 等維度進行查看。
1. 時間計算
例如,運行時間 26h:
kubectl get podstrain-20230808-worker-0 1/1 Running 0 26h
train-20230808-worker-1 1/1 Running 0 26h
單步 step 運行時間,10 個 step,耗時1 min 20 s
,80s / 10 = 8s
,即 8 s/step
計算:
[1,1]<stderr>:2023-08-10 03:30:58,157 INFO 40 [train_openfold.py:206] step=11450
[1,0]<stderr>:2023-08-10 03:30:58,191 INFO 40 [train_openfold.py:206] step=11450
[1,0]<stderr>:2023-08-10 03:32:18,548 INFO 40 [train_openfold.py:206] step=11460
[1,1]<stderr>:2023-08-10 03:32:18,708 INFO 40 [train_openfold.py:206] step=11460
每個 epoch 需要訓練 train_epoch_len=5000
個 step,2 個并行,即每個 epoch 耗時:
(5000 / 2) * 8 = 20000s
20000s / 3600s = 5.5h
那么累計運行,約 26h / 5.5h = 4.7 epoch,約 4~5 個 epoch 點,符合預期,即:
2. 步數計算
累計運行 step 是 11460 步,2卡并行合計,即:
11460 * 2 = 22920
每 5000 步是 1個 epoch,則繪制的點數是 4 個點,即:
22920 / 5000 = 4.5
3. WandB 配置
在日志中,查看 WandB 配置:
cat train_20230808.log | grep wandb
配置 WandB 在線,命令如下:
wandb online
# key 來自于官網注冊
wandb login --relogin --cloud [your key]
信息中包括 2 個日志,同時進行緩存,1個是機器信息,1個是訓練信息,即:
[1,0]<stderr>:wandb: Tracking run with wandb version 0.12.21
[1,0]<stderr>:wandb: Run data is saved locally in wandb/run-20230809_012556-2007pb1b
[1,0]<stderr>:wandb: Run `wandb offline` to turn off syncing.
[1,0]<stderr>:wandb: Syncing run dandy-pine-11
[1,0]<stderr>:wandb: ?? View project at https://wandb.ai/[project]
[1,0]<stderr>:wandb: 🚀 View run at https://wandb.ai/[project]/runs/2007pb1b
4. 手動上傳日志
遇到網絡異常,即顯示:
[1,0]<stderr>:wandb: Network error (ConnectTimeout), entering retry loop.
[1,1]<stderr>:wandb: Network error (ReadTimeout), entering retry loop.
則需要手動上傳日志,找到日志中的 saved
地址,使用 sync 命令,同步日志,即:
[1,0]<stderr>:wandb: Run data is saved locally in wandb/run-20230809_012556-2007pb1bwandb sync wandb/run-20230809_012556-2007pb1b
日志訪問路徑,即:
[1,0]<stderr>:wandb: 🚀 View run at https://wandb.ai/[project]/runs/2007pb1b
再刷新網頁,即可顯示。