Wandb不可缺少的機(jī)器學(xué)習(xí)分析工具
wandb
wandb全稱(chēng)Weights & Biases,用來(lái)幫助我們跟蹤機(jī)器學(xué)習(xí)的項(xiàng)目,通過(guò)wandb可以記錄模型訓(xùn)練過(guò)程中指標(biāo)的變化情況以及超參的設(shè)置,還能夠?qū)⑤敵龅慕Y(jié)果進(jìn)行可視化的比對(duì),幫助我們更好的分析模型在訓(xùn)練過(guò)程中的問(wèn)題,同時(shí)我們還可以通過(guò)它來(lái)進(jìn)行團(tuán)隊(duì)協(xié)作
wandb會(huì)將訓(xùn)練過(guò)程中的參數(shù),上傳到服務(wù)器上,然后通過(guò)登錄wandb來(lái)進(jìn)行實(shí)時(shí)過(guò)程模型訓(xùn)練過(guò)程中參數(shù)和指標(biāo)的變化
wandb的特點(diǎn)
- 保存模型訓(xùn)練過(guò)程中的超參數(shù)
- 實(shí)時(shí)可視化訓(xùn)練過(guò)程中指標(biāo)的變化
- 分析訓(xùn)練過(guò)程中系統(tǒng)指標(biāo)(CPU/GPU的利用率)的變化情況
- 和團(tuán)隊(duì)協(xié)作開(kāi)發(fā)
- 復(fù)現(xiàn)歷史結(jié)果
- 實(shí)驗(yàn)記錄的永久保留
- wandb可以很容易的集成到各個(gè)深度學(xué)習(xí)框架中(Pytorch、Keras、Tensorflow等)
wandb的組成模塊
wandb主要由四大模塊組成,分別是:
- 儀表盤(pán):跟蹤實(shí)驗(yàn)分析可視化結(jié)果
- 報(bào)告:保存和分析可復(fù)制的實(shí)驗(yàn)結(jié)果
- Sweeps:通過(guò)調(diào)節(jié)超參數(shù)來(lái)優(yōu)化模型
- Artifacts:數(shù)據(jù)集和模型版本化,流水線跟蹤
wandb賬號(hào)注冊(cè)
- 安裝wandb
pip install wandb
- 注冊(cè)wandb賬號(hào)在使用wandb之前,我們需要先注冊(cè)一個(gè)免費(fèi)賬號(hào)
- 拷貝API keys在網(wǎng)站上登錄wandb,點(diǎn)擊Settings
滾動(dòng)到下面,找到API Keys進(jìn)行復(fù)制
在torch中嵌入wandb
這部分我們主要介紹如何在torch中使用wandb,這里我們以訓(xùn)練MNIST為例
- 導(dǎo)包
- 登錄wandb
wandb.login(key="填入你的API Keys")
- 定義網(wǎng)絡(luò)結(jié)構(gòu)
- 定義訓(xùn)練方法
- 定義驗(yàn)證方法
- 訓(xùn)練模型
查看訓(xùn)練的結(jié)果
- 登錄到wandb的網(wǎng)站上查看訓(xùn)練結(jié)果
- 查看模型在測(cè)試集上Accuracy和loss的變化
- 查看模型的預(yù)測(cè)效果
- 查看訓(xùn)練過(guò)程中系統(tǒng)參數(shù)(GPU和CPU等)的變化情況