Pytorch使用tensorboardX可視化烂斋。超詳細R俟洹4》稀!

1 引言

? ? ? 我們都知道tensorflow框架可以使用tensorboard這一高級的可視化的工具罕模,為了使用tensorboard這一套完美的可視化工具评腺,未免可以將其應(yīng)用到Pytorch中,用于Pytorch的可視化淑掌。這里特別感謝Github上的解決方案:?https://github.com/lanpa/tensorboardX蒿讥。

? ? ? 本文主要是針對該解決方案提供一些介紹。

? ? ?TensorboardX支持scalar,?image,?figure,?histogram,?audio,?text,?graph,?onnx_graph,?embedding,?pr_curve?and?videosummaries等不同的可視化展示方式抛腕,具體介紹移步至項目Github 觀看詳情芋绸。


2 環(huán)境安裝

本教程代碼環(huán)境依賴:

python 3.6+

Pytorch 0.4.0+

tensorboardX:? ?pip install tensorboardX、pip install tensorflow


3 代碼教程

? ? ? ?TensorboardX可以提供中很多的可視化方式兽埃,本文主要介紹scalar 和 graph侥钳,其他類型相似适袜。

3.1 scalar教程

01_scalar_base.py 代碼

? ? ? ? 對上述代碼進行解釋柄错,首先導(dǎo)入:from tensorboardXimport SummaryWriter,然后定義一個SummaryWriter() 實例苦酱。在SummaryWriter()上鼠標ctrl+b我們可以看到SummaryWriter()的參數(shù)為:def __init__(self, log_dir=None, comment='', **kwargs): 其中l(wèi)og_dir為生成的文件所放的目錄售貌,comment為文件名稱。默認目錄為生成runs文件夾目錄疫萤。我們運行上述代碼:生成結(jié)果為:

? ? ? 當(dāng)我們?yōu)镾ummaryWriter(comment='base_scalar')颂跨。生成結(jié)果為:

? ? ? 當(dāng)我們?yōu)镾ummaryWriter(log_dir='scalar') 添加log_dir參數(shù),可以看到第二條數(shù)據(jù)的文件名稱包括了base_scalar值扯饶。生成結(jié)果目錄為:

? ? ? ?接著解釋writer.add_scalar('scalar/test', np.random.rand(), epoch)恒削,這句代碼的作用就是,將我們所需要的數(shù)據(jù)保存在文件里面供可視化使用尾序。 這里是Scalar類型钓丰,所以使用writer.add_scalar(),其他的隊形使用對應(yīng)的函數(shù)每币。第一個參數(shù)可以簡單理解為保存圖的名稱携丁,第二個參數(shù)是可以理解為Y軸數(shù)據(jù),第三個參數(shù)可以理解為X軸數(shù)據(jù)兰怠。當(dāng)Y軸數(shù)據(jù)不止一個時梦鉴,可以使用writer.add_scalars().運行代碼之后生成文件之后,我們在runs同級目錄下使用命令行:tensorboard --logdir runs. 當(dāng)SummaryWriter(log_dir='scalar')的log_dir的參數(shù)值 存在時揭保,將tensorboard --logdir runs 改為 tensorboard --logdir 參數(shù)值

? ? ? ?最后調(diào)用writer.close()肥橙。

? ? ? 點擊鏈接即可看到我們的最終需要的可視化結(jié)果。

可視化效果

? ? ? ?可以分別點擊對應(yīng)的圖片查看詳情秸侣〈娣ぃ可以看到生成的Scalar名稱為'scalar/test'與'scalar/test'一致娜庇。注:可以使用左下角的文件選擇你想顯示的某個或者全部圖片。

3.2 Graph教程

02_graph_model.py 代碼

? ? ? ?首先我們定義一個神經(jīng)網(wǎng)絡(luò)取名為Net1方篮。然后將其添加到tensorboard可是可視化中名秀。

with SummaryWriter(comment='Net1')as w:

? ? ? ? ?w.add_graph(model, (dummy_input,))

? ? ? 我們重點關(guān)注最后兩句話,其中使用了python的上下文管理藕溅,with 語句匕得,可以避免因w.close未寫造成的問題。推薦使用此方式巾表。

? ? ? ?因為這是一個神經(jīng)網(wǎng)絡(luò)架構(gòu)汁掠,所以使用?w.add_graph(model, (dummy_input,)),其中第一個參數(shù)為需要保存的模型集币,第二個參數(shù)為輸入值考阱,元祖類型。打開tensorvboard控制臺鞠苟,可得到如下結(jié)果乞榨。

????????點擊Net1部分可以將其網(wǎng)絡(luò)展開,查看網(wǎng)絡(luò)內(nèi)部構(gòu)造当娱。

模型可視化結(jié)果

????????其他部分可以繼續(xù)一次展開查看詳情吃既。

3.3 網(wǎng)絡(luò)訓(xùn)練綜合教程

????????解釋完上述兩部分知識之后,我們可以綜合運用上述兩部分內(nèi)容跨细,實現(xiàn)線性擬合的訓(xùn)練過程中的loss可視化和模型的保存鹦倚。



03_linear_regression.py 代碼?

????????我們將運行過程中l(wèi)oss和model分別保存,最后打開tensorboard控制臺冀惭,可以得到模型結(jié)果和loss的結(jié)果為下圖.

模型可視化結(jié)果

????????注:不同的graph的可視化可以使用上圖Run旁邊的下拉框選擇震叙。

loss可視化結(jié)果

3.4 Tensorboard綜合Demo

????????本Demo代碼為TensorboardX提供的官方Demo代碼。


demo.py

最終運行的所有可視化結(jié)果為:

最終可視化結(jié)果

4 結(jié)束語

????????本文是我寫的第一篇比較完整的文章散休,大家如果覺得幫助到了你媒楼,幫忙點個贊唄。

????????本文所有的代碼鏈接為:https://github.com/miaoshuyu/pytorch-tensorboardx-visualization(對你有用的話溃槐,麻煩點個小星星唄)

? ? ? ? 若轉(zhuǎn)載匣砖,請標明出處,謝謝;璧巍猴鲫!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市谣殊,隨后出現(xiàn)的幾起案子拂共,更是在濱河造成了極大的恐慌,老刑警劉巖姻几,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宜狐,死亡現(xiàn)場離奇詭異势告,居然都是意外死亡,警方通過查閱死者的電腦和手機抚恒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門咱台,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人俭驮,你說我怎么就攤上這事回溺。” “怎么了混萝?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵遗遵,是天一觀的道長。 經(jīng)常有香客問我逸嘀,道長车要,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任崭倘,我火速辦了婚禮翼岁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘绳姨。我一直安慰自己登澜,他們只是感情好阔挠,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布飘庄。 她就那樣靜靜地躺著,像睡著了一般购撼。 火紅的嫁衣襯著肌膚如雪跪削。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天迂求,我揣著相機與錄音碾盐,去河邊找鬼。 笑死揩局,一個胖子當(dāng)著我的面吹牛毫玖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播凌盯,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼付枫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了驰怎?” 一聲冷哼從身側(cè)響起阐滩,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎县忌,沒想到半個月后掂榔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體继效,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年装获,在試婚紗的時候發(fā)現(xiàn)自己被綠了瑞信。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡穴豫,死狀恐怖喧伞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情绩郎,我是刑警寧澤潘鲫,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站肋杖,受9級特大地震影響溉仑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜状植,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一浊竟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧津畸,春花似錦振定、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至暖途,卻和暖如春卑惜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背驻售。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工露久, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人欺栗。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓毫痕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親迟几。 傳聞我的和親對象是個殘疾皇子消请,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355