在colab和kaggle內核的Jupyter notebook中如何可視化深度學習模型的參數對於我們分析模型具有很大的意義,相比tensorflow, pytorch缺乏一些的可視化生態包,但是幸好pytorch1.1官方添加了tensorboard的庫,可以直接從TORCH.UTILS.TENSORBOARD 調用。
但是就目前的使用體驗和反應,還是建議直接使用tensorboardX包在pytorch中進行可視化。
相比本地機中使用notebook進行可視化,在這種遠程的notebook中如果使用魔法函數
!tensorboard --logdir
會導致你無法打開tensorboard的http服務(也就是網址)。本文使用一種簡單的方法,通過tensorboardX在notebook可視化pytorch模型參數。
步驟:
開始前,先確保安裝成功
pip install tensorboardX
pip install tensorboard
pip install tensorflow
第一步import tensorboardX (如何使用tensorboardX請參考reference):
from tensorboardX import SummaryWriter
第二步初始化一個 SummaryWriter實例:
writer = SummaryWriter()
第三步:
%load_ext tensorboard.notebook
or (版本差異,自行選擇)
%load_ext tensorboard
第四步把你模型需要在tensorboard中可視化的參數寫入writer,每次寫入 圖像名稱,loss/accracy數值, n_iteration
writer.add_scalar('Train/Loss', train_loss, epoch) writer.add_scalar('Train/Accuracy', train_acc, epoch) writer.add_scalar('Test/Loss', test_loss, epoch) writer.add_scalar('Test/Accuracy', test_acc, epoch)
第五步:
%tensorboard --logdir ./
接下來你就可以訓練你的模型了,而且在邊訓練的時候可以邊看到模型參數的變化。