CNN可視化技術總結(四)--可視化工具與項目

CNN可視化技術總結(一)-特徵圖可視化

CNN可視化技術總結(二)--卷積核可視化

CNN可視化技術總結(三)--類可視化

導言:html

    前面介紹了可視化的三種方法--特徵圖可視化,卷積核可視化,類可視化,這三種方法在不少提出新模型或新方法的論文中很常見,其主要做用是提升模型或者新方法的可信度,或者用來增長工做量,或者用來湊字數,還有一些做用是幫助理解模型針對某個具體任務是如何學習,學到了哪些信息,哪些區域對於識別有影響等。git

 

    本文將介紹一些可視化的項目,主要有CNN解釋器,特徵圖、卷積核、類可視化的一些代碼和項目,結構可視化工具,網絡結構手動畫圖工具。github

 

1. CNN-Explainer

這是一箇中國博士發佈的名叫CNN解釋器的在線交互可視化工具。主要對於那些初學深度學習的小白們 理解關於神經網絡是如何工做頗有幫助,如卷積過程,ReLU過程,平均池化過程,中間每一層的特徵圖的樣子,均可以看到,至關於給了一個顯微鏡,能夠隨意對任意一層,任何一項操做的先後變化,觀察得清清楚楚。網絡

 

顯示卷積的過程當中先後特徵圖的變化,中間的操做。工具

 

圖片

 

CNN是如何輸出預測的學習

  還能夠在線上傳圖片,看到一張圖片在通過每一層的卷積,池化,激活後的變化,最後輸出預測結果。動畫

 

項目連接:3d

https://github.com/poloclub/cnn-explainerhtm

 

2. 一些可視化特徵圖、卷積核、熱力圖的代碼。

 

可視化特徵圖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

 

3. 結構可視化工具

 

Netscope

用於可視化模型結構的在線工具,僅支持caffe的prototxt文件可視化。須要本身寫prototxt格式的文件。

 

圖片

此圖來源於網絡,侵刪

項目地址:

https://github.com/ethereon/netscope

 

ConvNetDraw

  這個工具用兩個圖可直接說明,第一個是輸入,第二個是輸出

圖片

圖片

這兩個圖來源於網絡,侵刪

項目地址:

https://github.com/cbovar/ConvNetDraw

 

PlotNeuralNet

  這個稍微麻煩一點點,效果圖以下:

圖片

項目地址:

https://github.com/HarisIqbal88/PlotNeuralNet

 

4. 網絡結構手動畫圖工具

 

  不少新手會問的一個問題,論文中那些網絡結構圖是如何畫的。

  這裏解答一下,我所瞭解的主要是用PPT, VISIO。固然也可使用上面那幾個。

  再補充一個在線工具,NN-SVG

圖片

 

項目地址:http://alexlenail.me/NN-SVG/

 

總結

 

這四篇文章基本介紹完了目前CNN可視化的一些方法,即特徵圖可視化,卷積核可視化和類可視化,總結了一些可視化工具與項目,固然難免也有個別遺漏的,往後如有一些比較重大突破的一些可視化工具出來,將繼續補充,將放在公衆號(CV技術指南)的技術總結部分。

對於可視化,其實還包括訓練過程的可視化,如Loss值,精度等實時更新,這個比較簡單,就不在這個總結系列裏說明了。

本文來源於公衆號《CV技術指南》的技術總結部分,更多相關技術總結請掃描文末二維碼關注公衆號。

相關文章
相關標籤/搜索