日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

22 款设计和可视化神经网络的工具

發布時間:2023/12/10 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 22 款设计和可视化神经网络的工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方“算法猿的成長“,關注公眾號,選擇加“星標“或“置頂”

總第 143 篇文章,本文大約 3000?字,閱讀大約需要?10?分鐘

前言

深度學習領域,最常見的就是各種網絡模型,那么在寫論文或者文章,介紹網絡模型的時候,最好的辦法當然就是展示代碼畫圖,今天介紹的 Github 項目,就是整理了 22 個設計和可視化網絡結構的工具,其地址如下:

https://github.com/ashishpatel26/Tools-to-Design-or-Visualize-Architecture-of-Neural-Network

22 款工具名稱分別是:

  • draw_convnet

  • NNSVG

  • PlotNeuralNet

  • TensorBoard

  • Caffe

  • Matlab

  • Keras.js

  • Keras-sequential-ascii

  • Netron

  • DotNet

  • Graphviz

  • Keras Visualization

  • Conx

  • ENNUI

  • NNet

  • GraphCore

  • Neataptic

  • TensorSpace

  • Netscope CNN Analyzer

  • Monial

  • Texample

  • Quiver

  • 本文首發于我的知乎專欄:https://zhuanlan.zhihu.com/p/147462170


    工具

    1. draw_convnet

    Github: https://github.com/gwding/draw_convnet

    star 數量:1.7k+

    這個工具最后一次更新是 2018 年的時候,一個 python 腳本來繪制卷積神經網絡的工具,效果如下所示:

    2. NNSVG

    網址:http://alexlenail.me/NN-SVG/LeNet.html

    這個工具有 3 種網絡結構風格,分別如下所示:

    LeNet 類型:

    AlexNet 類型

    FCNN 類型

    3. PlotNeuralNet

    GitHub 地址:https://github.com/HarisIqbal88/PlotNeuralNet

    star 數量:8.2k+

    這個工具是基于 Latex 代碼實現的用于繪制網絡結構,可以看看使用例子看看這些網絡結構圖是如何繪制出來的。

    效果如下所示:

    FCN-8FCN-32
    安裝

    這里給出在 Ubuntu 和 windows 兩個系統的安裝方式:

    ubuntu 16.04

    sudo apt-get install texlive-latex-extra

    Ubuntu 18.04.2 是基于這個網站:https://gist.github.com/rain1024/98dd5e2c6c8c28f9ea9d,安裝命令如下:

    sudo apt-get install texlive-latex-base sudo apt-get install texlive-fonts-recommended sudo apt-get install texlive-fonts-extra sudo apt-get install texlive-latex-extra

    Windows

  • 首先下載并安裝 MikTex,下載網站:https://miktex.org/download

  • 其次,下載并安裝 windows 的 bash 運行器,推薦這兩個:

    • Git:https://git-scm.com/download/win

    • Cygwin:https://www.cygwin.com/

    使用例子

    安裝完后就是使用,按照如下所示即可:

    cd pyexamples/ bash ../tikzmake.sh test_simple

    Python 的用法如下

  • 先創建新的文件夾,并生成一個新的 python 代碼文件:

  • $ mkdir my_project $ cd my_project vim my_arch.py
  • 然后在新的代碼文件 my_arch.py 中添加這段代碼,用于定義你的網絡結構,主要是不同類型網絡層的參數,包括輸入輸出數量、卷積核數量等

  • import?sys sys.path.append('../') from?pycore.tikzeng?import?*#?defined?your?arch arch?=?[to_head(?'..'?),to_cor(),to_begin(),to_Conv("conv1",?512,?64,?offset="(0,0,0)",?to="(0,0,0)",?height=64,?depth=64,?width=2?),to_Pool("pool1",?offset="(0,0,0)",?to="(conv1-east)"),to_Conv("conv2",?128,?64,?offset="(1,0,0)",?to="(pool1-east)",?height=32,?depth=32,?width=2?),to_connection(?"pool1",?"conv2"),to_Pool("pool2",?offset="(0,0,0)",?to="(conv2-east)",?height=28,?depth=28,?width=1),to_SoftMax("soft1",?10?,"(3,0,0)",?"(pool1-east)",?caption="SOFT"??),to_connection("pool2",?"soft1"),to_end()]def?main():namefile?=?str(sys.argv[0]).split('.')[0]to_generate(arch,?namefile?+?'.tex'?)if?__name__?==?'__main__':main()
  • 最后,運行腳本

  • bash?../tikzmake.sh?my_arch

    4. TensorBoard

    https://www.tensorflow.org/tensorboard/graphs

    使用過 TensorFlow 的都應該知道這個繪圖工具,TensorFlow 的可視化工具,查看網絡結構、損失的變化、準確率等指標的變化情況等。

    網絡結構的效果如下圖所示:

    5. Caffe

    https://github.com/BVLC/caffe/blob/master/python/caffe/draw.py

    Caffe 的繪圖工具,效果如下所示:

    6. Matlab

    http://www.mathworks.com/help/nnet/ref/view.html

    Matlab 的繪圖工具,效果如下所示:

    7. Keras.js

    https://transcranial.github.io/keras-js/#/inception-v3

    Keras 的可視化工具,效果如下所示:

    8. keras-sequential-ascii

    https://github.com/stared/keras-sequential-ascii/

    Keras 的一個第三方庫,用于對序列模型的網絡結構和參數進行檢查,直接打印出來結果,比如,VGG 16 的網絡結構如下所示,每層網絡的參數維度,參數的數量以及占整個網絡參數的比例都會展示出來:

    安裝

    通過 PyPI:

    pip install keras_sequential_ascii

    直接通過 github 倉庫:

    pip install git+git://github.com/stared/keras-sequential-ascii.git
    使用例子

    在代碼中添加:

    from?keras_sequential_ascii?import?keras2asciikeras2ascii(model)

    9. Netron

    https://github.com/lutzroeder/Netron

    Star 數量:9.7k+

    簡介

    Netron 可以可視化神經網絡,深度學習和機器學習模型,目前支持的網絡框架包括:

    • ONNX: .onnx, .pb, .pbtxt 文件

    • Keras:.h5,.keras 文件

    • Core ML:.mlmodel

    • Caffe:.caffemodel, .prototxt

    • Caffe2:predict_net.pb, predict_net.pbtxt

    • Darknet: .cfg

    • MXNet:.model, -symbol.json

    • ncnn:.param

    • TensorFlow Lite:.tflite

    另外,Netron 也有實驗支持這些框架:

    • TorchScript: .pt, .pth

    • PyTorch:.pt, .pth

    • Torch: .t7

    • Arm NN:.armnn

    • Barracuda:.nn

    • BigDL .bigdl, .model

    • Chainer :.npz, .h5

    • CNTK :.model, .cntk

    • Deeplearning4j:.zip

    • MediaPipe:.pbtxt

    • ML.NET:.zip

    • MNN:.mnn

    • OpenVINO :.xml

    • PaddlePaddle :.zip, __model__

    • scikit-learn :.pkl

    • Tengine :.tmfile

    • TensorFlow.js :model.json, .pb

    • TensorFlow :.pb, .meta, .pbtxt, .ckpt, .index

    其效果如下所示:

    安裝

    安裝方式,根據不同系統,有所不一樣:

    macOS

    兩種方式,任選一種:

  • 下載 .dmg 文件,地址:https://github.com/lutzroeder/netron/releases/latest

  • 運行命令 brew cask install netron

  • Linux

    也是兩種方式,任選其中一種:

  • 下載 .AppImage 文件,下載地址:https://github.com/lutzroeder/netron/releases/latest

  • 運行命令 snap install netron

  • Windows

    也是兩種方式,任選其中一種:

  • 下載 .exe 文件,下載地址:https://github.com/lutzroeder/netron/releases/latest

  • 運行命令 winget install netron

  • 瀏覽器:瀏覽器運行地址:https://www.lutzroeder.com/ai/netron

    Python 服務器

    首先,運行安裝命令 pip install netron,然后使用方法有兩種:

    • 命令行,運行 netron [文件路徑]

    • .py 代碼中加入

    import netron;netron.start('文件路徑')

    10. DotNet

    https://github.com/martisak/dotnets

    這個工具是一個簡單的 python 腳本,利用 Graphviz 生成神經網絡的圖片。主要參考了文章:https://tgmstat.wordpress.com/2013/06/12/draw-neural-network-diagrams-graphviz/

    用法如下:

    在 MaxOS 上:

    python dotnets.py | dot -Tpng | open -f -a /Applications/Preview.app

    或者生成 PDF 文件

    python dotnets.py | dot -Tpdf > test.pdf

    其效果如下所示:

    11. Graphviz

    http://www.graphviz.org/

    教程:https://tgmstat.wordpress.com/2013/06/12/draw-neural-network-diagrams-graphviz/

    Graphviz 是一個開源的圖可視化軟件,它可以用抽象的圖形和網絡圖來表示結構化信息。

    其效果如下所示:

    12. Keras Visualization

    https://keras.io/api/utils/model_plotting_utils/

    這是 Keras 庫中的一個功能模塊-- keras.utils.vis_utils 提供的繪制 Keras 網絡模型(使用的是 graphviz )

    其效果如下所示:

    13. Conx

    https://conx.readthedocs.io/en/latest/index.html

    Python 的一個第三方庫 conx 可以通過函數net.picture() 來實現對帶有激活函數網絡的可視化,可以輸出圖片格式包括 SVG, PNG 或者是 PIL。

    其效果如下所示:


    14. ENNUI

    https://math.mit.edu/ennui/

    通過拖和拽相應的圖形框來實現一個網絡結構的可視化,下面是一個可視化 LeNet 的例子:

    15. NNet

    教程:https://beckmw.wordpress.com/2013/03/04/visualizing-neural-networks-from-the-nnet-package/

    R 工具包,簡單的使用例子如下:

    data(infert, package="datasets") plot(neuralnet(case~parity+induced+spontaneous, infert))

    效果如下所示:

    )

    16. GraphCore

    https://www.graphcore.ai/posts/what-does-machine-learning-look-like

    GraphCore 主要是展示神經網絡中操作的可視化結果,但也包括了網絡結構的內容,比如每層的網絡參數等。

    下面展示了兩個網絡結構的可視化效果--AlexNet 和 ResNet50.

    AlexNet

    ResNet50

    17. Neataptic

    https://wagenaartje.github.io/neataptic/

    Neataptic 提供了非常靈活的神經網絡可視化形式

    • 神經元和突觸可以通過一行代碼進行刪除;

    • 沒有規定神經網絡的結構必須包含哪些內容

    這種靈活性允許通過神經進化(neuro-evolution)的方式為數據集調整網絡結構的形狀,并通過多線程來實現。

    其效果如下圖所示:

    18. TensorSpace

    https://tensorspace.org/

    教程:https://www.freecodecamp.org/news/tensorspace-js-a-way-to-3d-visualize-neural-networks-in-browsers-2c0afd7648a8/

    TensorSpace 是通過 TensorFlow.js,Three.js 和 Tween.js 構建的一個神經網絡三維可視化框架。它提供了 APIs 來構建深度學習網絡層,加載預訓練模型以及在瀏覽器中就可以生成三維的可視化結構。通過應用它的 API 接口,可以更直觀地可視化和理解通過 TensorFlow、Keras 和 TensorFlow.js 等構建的任何預訓練模型。

    效果如下圖所示:

    19. Netscope CNN Analyzer

    http://dgschwend.github.io/netscope/quickstart.html

    一款基于 web 端的可視化和分析卷積神經網絡結構(或者是任意有向無環圖),當前支持使用 Caffe 的 prototxt 形式。

    效果如下圖所示:

    20. Monial

    https://github.com/mlajtos/moniel

    計算圖的交互式表示法,展示例子如下所示,左邊是輸入,右側就是對應結構的可視化結果。

    21. Texample

    http://www.texample.net/tikz/examples/neural-network/

    這個工具也可以通過 LaTex 來實現一個神經網絡結構的可視化,比如,一個 LaTex 的例子:

    其可視化結果如下所示:

    22. Quiver

    github: https://github.com/keplr-io/quiver

    Star 數量:1.5k

    Keras 的一款交互式可視化卷積特征的一個工具

    展示例子如下所示:

    安裝方式

    兩種方式,直接用 pip

    pip install quiver_engine

    或者通過 GitHub 倉庫的方式:

    pip install git+git://github.com/keplr-io/quiver.git
    使用例子

    首先構建你的 keras 模型:

    model?=?Model(...)

    接著通過一行代碼來發布可視化的展示板:

    quiver_engine.server.launch(model,?classes=['cat','dog'],?input_folder='./imgs')

    最后在剛剛設置的文件夾中就可以看到每個網絡層的可視化結果。

    如果是想在瀏覽器中查看,代碼如下:

    from?quiver_engine?import?server server.launch(model)

    默認的地址是 localhost:5000


    參考文章:

  • https://datascience.stackexchange.com/questions/12851/how-do-you-visualize-neural-network-architectures

  • https://datascience.stackexchange.com/questions/2670/visualizing-deep-neural-network-training


  • 小結

    這 22 款工具的輸出結果既有直接打印的,也有黑白圖、彩色圖、炫酷的球體可視化結果,以及三維可視化結果,基本都可以支持目前主流的深度學習框架,當然也有的是基于特定框架,比如 keras,實現的對應第三方庫。

    可以根據需求和使用的框架來進行選擇,相信應該能夠滿足大部分人對可視化網絡結構的需求。

    可以點擊文章底部“閱讀原文”直接查看我的知乎文章,可以留言進行評論。


    精選AI文章

    1.??2020年計算機視覺學習指南

    2.?是選擇Keras還是PyTorch開始你的深度學習之旅呢?

    3.?編寫高效的PyTorch代碼技巧(上)

    4.?編寫高效的PyTorch代碼技巧(下)

    5.?深度學習算法簡要綜述(上)

    6.?深度學習算法簡要綜述(下)

    7.?10個實用的機器學習建議

    8.?實戰|手把手教你訓練一個基于Keras的多標簽圖像分類器

    精選python文章

    1.??python數據模型

    2.?python版代碼整潔之道

    3.?快速入門 Jupyter notebook

    4.?Jupyter 進階教程

    5.?10個高效的pandas技巧

    精選教程資源文章

    1.?[資源分享] TensorFlow 官方中文版教程來了

    2.?[資源]推薦一些Python書籍和教程,入門和進階的都有!

    3.?[Github項目推薦] 推薦三個助你更好利用Github的工具

    4.?Github上的各大高校資料以及國外公開課視頻

    5.?GitHub上有哪些比較好的計算機視覺/機器視覺的項目?

    歡迎關注我的微信公眾號--算法猿的成長,或者掃描下方的二維碼,大家一起交流,學習和進步!

    ?

    如果覺得不錯,在看、轉發就是對小編的一個支持!

    總結

    以上是生活随笔為你收集整理的22 款设计和可视化神经网络的工具的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。