0
本文作者: 汪思穎 | 2019-04-02 17:21 |
雷鋒網(wǎng) AI 科技評(píng)論按,本文作者言有三,個(gè)人公眾號(hào)“有三AI”,原文地址:https://zhuanlan.zhihu.com/p/60146525。雷鋒網(wǎng) AI 科技評(píng)論獲其授權(quán)轉(zhuǎn)載。正文內(nèi)容如下:
本文我們聊聊如何才能畫(huà)出炫酷高大上的神經(jīng)網(wǎng)絡(luò)圖,下面是常用的幾種工具。
這個(gè)工具可以非常方便的畫(huà)出各種類型的圖,是下面這位小哥哥開(kāi)發(fā)的,來(lái)自于麻省理工學(xué)院弗蘭克爾生物工程實(shí)驗(yàn)室, 該實(shí)驗(yàn)室開(kāi)發(fā)可視化和機(jī)器學(xué)習(xí)工具用于分析生物數(shù)據(jù)。
github地址:https://github.com/zfrenchee
畫(huà)圖工具體驗(yàn)地址:http://alexlenail.me/NN-SVG/
可以繪制的圖包括以節(jié)點(diǎn)形式展示的 FCNN style,這個(gè)特別適合傳統(tǒng)的全連接神經(jīng)網(wǎng)絡(luò)的繪制。
以平鋪網(wǎng)絡(luò)結(jié)構(gòu)展示的 LeNet style,用二維的方式,適合查看每一層 featuremap 的大小和通道數(shù)目。
以三維 block 形式展現(xiàn)的 AlexNet style,可以更加真實(shí)地展示卷積過(guò)程中高維數(shù)據(jù)的尺度的變化,目前只支持卷積層和全連接層。
這個(gè)工具可以導(dǎo)出非常高清的 SVG 圖,值得體驗(yàn)。
這個(gè)工具是薩爾大學(xué)計(jì)算機(jī)科學(xué)專業(yè)的一個(gè)學(xué)生開(kāi)發(fā)的,一看就像計(jì)算機(jī)學(xué)院的嘛。
首先我們看看效果,其github鏈接如下,將近 4000 star:
https://github.com/HarisIqbal88/PlotNeuralNet
看看人家這個(gè) fcn-8 的可視化圖,顏值奇高。
使用的門檻相對(duì)來(lái)說(shuō)就高一些了,用 LaTex 語(yǔ)言編輯,所以可以發(fā)揮的空間就大了,你看下面這個(gè) softmax 層,這就是會(huì)寫代碼的優(yōu)勢(shì)了。
其中的一部分代碼是這樣的,會(huì)寫嗎。
\pic[shift={(0,0,0)}] at (0,0,0) {Box={name=crp1,caption=SoftmaxLoss: $E_\mathcal{S}$ ,%
fill={rgb:blue,1.5;red,3.5;green,3.5;white,5},opacity=0.5,height=20,width=7,depth=20}};
相似的工具還有:https://github.com/jettan/tikz_cnn
ConvNetDraw 是一個(gè)使用配置命令的 CNN 神經(jīng)網(wǎng)絡(luò)畫(huà)圖工具,開(kāi)發(fā)者是香港的一位程序員,Cédric cbovar。
采用如下的語(yǔ)法直接配置網(wǎng)絡(luò),可以簡(jiǎn)單調(diào)整 x,y,z 等 3 個(gè)維度,github 鏈接如下:
https://cbovar.github.io/ConvNetDraw/
使用方法如上圖所示,只需輸入模型結(jié)構(gòu)中各層的參數(shù)配置。
挺好用的。不過(guò)它目標(biāo)分辨率太低了,放大之后不清晰,達(dá)不到印刷的需求。
這一個(gè)工具名叫 draw_convnet,由 Borealis 公司的員工 Gavin Weiguang Ding 提供。
簡(jiǎn)單直接,是純用 python 代碼畫(huà)圖的,
https://github.com/gwding/draw_convnet
看看畫(huà)的圖如下,核心工具是 matplotlib,圖不酷炫,但是好在規(guī)規(guī)矩矩,可以嚴(yán)格控制,論文用挺合適的。
類似的工具還有:https://github.com/yu4u/convnet-drawer
下面要說(shuō)的是這個(gè),我最常用的,caffe 的網(wǎng)絡(luò)結(jié)構(gòu)可視化工具,大名鼎鼎的 netscope,由斯坦福 AI Lab 的 Saumitro Dasgupta 開(kāi)發(fā),找不到照片就不放了,地址如下:
https://github.com/ethereon/netscope
左邊放配置文件,右邊出圖,非常方便進(jìn)行網(wǎng)絡(luò)參數(shù)的調(diào)整和可視化。這種方式好就好在各個(gè)網(wǎng)絡(luò)層之間的連接非常的方便。
再分享一個(gè)有意思的,不是畫(huà)什么正經(jīng)圖,但是把權(quán)重都畫(huà)出來(lái)了。
http://scs.ryerson.ca/~aharley/vis/conv/
看了這么多,有人已經(jīng)在偷偷笑了,上 PPT 呀,想要什么有什么,想怎么畫(huà)就怎么畫(huà)。
不過(guò)妹子呢?怎么不來(lái)開(kāi)發(fā)一個(gè)粉色系的可視化工具呢?類似于這樣的
那么,你都用什么畫(huà)呢?歡迎留言分享一下!
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。