【深度学习】PyTorch深度学习训练可视化工具visdom
PyTorch
Author:louwill
Machine Learning Lab
? ? ?在進(jìn)行深度學(xué)習(xí)實(shí)驗(yàn)時(shí),能夠可視化地對(duì)訓(xùn)練過程和結(jié)果進(jìn)行展示是非常有必要的。除了Torch版本的TensorBoard工具TensorBoardX之外,Torch官方也提供了一款非常好用的可視化神器——visdom。visdom是一款用于創(chuàng)建、組織和共享實(shí)時(shí)大量訓(xùn)練數(shù)據(jù)可視化的靈活工具。
???? 深度學(xué)習(xí)模型訓(xùn)練通常放在遠(yuǎn)程的服務(wù)器上,服務(wù)器上訓(xùn)練的一個(gè)問題就在于不能方便地對(duì)訓(xùn)練進(jìn)行可視化,相較于TensorFlow的可視化工具TensorBoard,visdom則是對(duì)應(yīng)于PyTorch的可視化工具。
安裝與啟動(dòng)
???? 直接通過pip install visdom即可完成安裝,之后在終端輸入如下命令即可啟動(dòng)visdom服務(wù):
python -m visdom.server???? 啟動(dòng)服務(wù)后輸入本地或者遠(yuǎn)程地址,端口號(hào)8097,即可打開visdom主頁。
主要元素
???? visdom界面簡(jiǎn)單,主要構(gòu)成元素包括窗口(Windows)、環(huán)境(Environments)、狀態(tài)(State)、過濾(Filter)、視圖(Views)等。
???? 環(huán)境:用于對(duì)可視化空間進(jìn)行分區(qū),比如在對(duì)訓(xùn)練進(jìn)行可視化的時(shí)候我們可以在一個(gè)環(huán)境里對(duì)loss進(jìn)行可視化,在另一個(gè)環(huán)境下對(duì)訓(xùn)練的輸入輸出進(jìn)行可視化。
???? 狀態(tài):visdom會(huì)自動(dòng)緩存你創(chuàng)建的可視化內(nèi)容,當(dāng)頁面關(guān)閉之后,重新加載便可恢復(fù)這些內(nèi)容。
???? 過濾:可用于篩選可視化窗口,快速查找。
???? 視圖:可以快速地對(duì)可視化窗口進(jìn)行排列和管理。
應(yīng)用示例
???? visdom將可以進(jìn)行可視化的對(duì)象都放在基礎(chǔ)模塊中,包括單/多張圖像、文本、語音、視頻、svg矢量圖、屬性網(wǎng)格、matplotlib繪圖對(duì)象、序列化狀態(tài)對(duì)象等。基礎(chǔ)圖形由plotly提供,主要包括散點(diǎn)圖、折線圖、熱圖、莖葉圖、柱形圖、箱線圖、表面圖、等高線圖、網(wǎng)格圖等。
???? 以matplotlib繪圖對(duì)象為例進(jìn)行展示。
import matplotlib.pyplot as plt from visdom import Visdom vis = Visdom() plt.plot(range(100)) vis.matplot(plt)???? visdom中顯示如下:
???? 具體到深度學(xué)習(xí)訓(xùn)練時(shí),我們可以在torch訓(xùn)練代碼下插入visdom的可視化模塊:
if args.steps_plot > 0 and step % args.steps_plot == 0:image = inputs[0].cpu().datavis.image(image,f'input (epoch: {epoch}, step: {step})')vis.image(outputs[0].cpu().max(0)[1].data, f'output (epoch: {epoch}, step: {step})')vis.image(targets[0].cpu().data, f'target (epoch: {epoch}, step: {step})')vis.image(loss, f'loss (epoch: {epoch}, step: {step})')???? 將上述模塊插入到VOC 2012語義分割訓(xùn)練中,效果如下:
???? 也可以監(jiān)控訓(xùn)練過程中的loss變化:
???? visdom為PyTorch而生,總體來說是一款優(yōu)化的深度學(xué)習(xí)訓(xùn)練可視化工具。
參考資料:
https://github.com/facebookresearch/visdom
總結(jié)
以上是生活随笔為你收集整理的【深度学习】PyTorch深度学习训练可视化工具visdom的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据竞赛】CV赛题总结:人民币面值与编
- 下一篇: 【Python入门】一个有意思还有用的P