導言:html
前面介紹了可視化的三種方法--特徵圖可視化,卷積核可視化,類可視化,這三種方法在不少提出新模型或新方法的論文中很常見,其主要做用是提升模型或者新方法的可信度,或者用來增長工做量,或者用來湊字數,還有一些做用是幫助理解模型針對某個具體任務是如何學習,學到了哪些信息,哪些區域對於識別有影響等。git
本文將介紹一些可視化的項目,主要有CNN解釋器,特徵圖、卷積核、類可視化的一些代碼和項目,結構可視化工具,網絡結構手動畫圖工具。github
這是一箇中國博士發佈的名叫CNN解釋器的在線交互可視化工具。主要對於那些初學深度學習的小白們 理解關於神經網絡是如何工做頗有幫助,如卷積過程,ReLU過程,平均池化過程,中間每一層的特徵圖的樣子,均可以看到,至關於給了一個顯微鏡,能夠隨意對任意一層,任何一項操做的先後變化,觀察得清清楚楚。網絡
顯示卷積的過程當中先後特徵圖的變化,中間的操做。工具
CNN是如何輸出預測的學習
還能夠在線上傳圖片,看到一張圖片在通過每一層的卷積,池化,激活後的變化,最後輸出預測結果。動畫
項目連接:3d
https://github.com/poloclub/cnn-explainerhtm
可視化特徵圖blog
https://github.com/waallf/Viusal-feature-map
可視化卷積核
https://keras.io/examples/vision/visualizing_what_convnets_learn/
https://blog.keras.io/how-convolutional-neural-networks-see-the-world.html
Grad-CAM
https://github.com/ramprs/grad-cam
熱力圖
https://github.com/heuritech/convnets-keras
下面這個項目是同時包含特徵圖可視化,卷積核可視化和熱力圖的一個連接:
https://github.com/raghakot/keras-vis
Netscope
用於可視化模型結構的在線工具,僅支持caffe的prototxt文件可視化。須要本身寫prototxt格式的文件。
此圖來源於網絡,侵刪
項目地址:
https://github.com/ethereon/netscope
ConvNetDraw
這個工具用兩個圖可直接說明,第一個是輸入,第二個是輸出
這兩個圖來源於網絡,侵刪
項目地址:
https://github.com/cbovar/ConvNetDraw
PlotNeuralNet
這個稍微麻煩一點點,效果圖以下:
項目地址:
https://github.com/HarisIqbal88/PlotNeuralNet
不少新手會問的一個問題,論文中那些網絡結構圖是如何畫的。
這裏解答一下,我所瞭解的主要是用PPT, VISIO。固然也可使用上面那幾個。
再補充一個在線工具,NN-SVG
項目地址:http://alexlenail.me/NN-SVG/
這四篇文章基本介紹完了目前CNN可視化的一些方法,即特徵圖可視化,卷積核可視化和類可視化,總結了一些可視化工具與項目,固然難免也有個別遺漏的,往後如有一些比較重大突破的一些可視化工具出來,將繼續補充,將放在公衆號(CV技術指南)的技術總結部分。
對於可視化,其實還包括訓練過程的可視化,如Loss值,精度等實時更新,這個比較簡單,就不在這個總結系列裏說明了。
本文來源於公衆號《CV技術指南》的技術總結部分,更多相關技術總結請掃描文末二維碼關注公衆號。