引導
- 前言
- 1. torchsummary
- 2. graphviz + torchviz
- 3. Jupyter Notebook + tensorwatch
- 4. tensorboardX
- 5. netron
- 6. hiddenlayer
- 7. PlotNeuralNet
- 結語
前言
- 網路可視化的目的一般是檢查網路結構的設計是否合理,同時觀察輸入資料在網路中的變化規律是否符合預期,基于此進行調整,
- 目前網路可視化的方法非常多,但其中實用的并不多,或者有些方法只適合特定網路,對于自定義網路結構并不友好,
- 經過學習和驗證,個人整理發現有7種網路可視化方法相對較好,新手推薦結合方法1和方法5來使用,簡單易上手,
- 建議在 Anaconda 中單獨創建一個環境專門用來顯示網路結構和查看網路引數等,因為一些方法安裝的時候必須做好版本匹配,可以在新環境里安裝其他版本的 torch 和 torchvision ,

1. torchsummary
torchsummary 會輸出網路模型的程序層結構,層引數和總引數等資訊,對于大多數新手和煉丹師關注具體的層間引數資訊沒有太大意義,torchsummary 可以很方便地用來獲取網路引數量和輸出模型大小,效果如下圖,具體使用方法見 pytorch 網路模型可視化(一):torchsummary,

2. graphviz + torchviz
該方法需要同時安裝兩個包 torchviz 和 graphviz 和一個軟體 Graphviz,輸出的網路結構不夠直觀,適合關注網路內部細節的人學習,輸出的網路結構圖是應該是跟蹤反向傳播得到的,因此是倒著的,具體的安裝和使用方法見鏈接 pytorch 網路模型可視化(二):graphviz + torchviz,

3. Jupyter Notebook + tensorwatch
該方法需要使用 Jupyter Notebook 來實作,這個軟體使用和學習是非常簡單的,主要存在的問題是各安裝包之間版本的匹配和 Jupyter Notebook 中 python 解釋器的配置,輸出的網路結構圖比較直觀,細節也相對豐富,具體是安裝和使用方法見鏈接 pytorch 網路模型可視化(三):Jupyter Notebook + tensorwatch,

4. tensorboardX
tensorboardX 的使用比較簡單,功能也比較豐富,但安裝的時候必須做好版本匹配,否則會出現許多錯誤,tensorboardX 輸出的網路結構需要在瀏覽器中查看,相對來說不太好看,但細節比較豐富,具體的使用和安裝方法見鏈接 pytorch 網路模型可視化(四):tensorboardX,

5. netron
強烈推薦的一種方法,netron 有 python 包,netron 軟體,netron 在線版三種方法來查看網路結構,一般使用 netron 的 python 包查看網路結構就足夠,netron 會在瀏覽器里輸出網路結構,可以在瀏覽器里對其進行匯出,簡可以說是好看又實用,具體的安裝和實用方法見鏈接 pytorch 網路模型可視化(五):netron,

6. hiddenlayer
hiddenlayer 也是比較實用的一種網路可視化方法,功能也相對比較多,問題就是必須做好版本間匹配,否則會報很多錯,具體的使用和安裝方法見鏈接 pytorch 網路模型可視化(六):hiddenlayer,

7. PlotNeuralNet
嚴格說這其實不是一款網路可視化工具,僅僅是一個畫圖工具,是利用 python 代碼自定義網路結構轉為 tex 代碼出圖的,注意這里的網路結構與自己要訓練或者測驗的網路結構沒有半點關系,PlotNeuralNet 上手難度較大,而且只能針對簡單網路結構畫圖,對于復雜的網路結構是極其不實用的,具體的安裝和使用方法見鏈接 pytorch 網路模型可視化(七):PlotNeuralNet,

結語
沒有最好的方法,只有最適合的方法,相信在這7中網路可視化方法中總有最適合你的,最后祝大家在煉丹一道越走越遠,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/289598.html
標籤:python
