在搭建網(wǎng)絡(luò)的時(shí)候,可視化的模型將在很大程度上幫助我們直觀地理解模型結(jié)構(gòu)和數(shù)據(jù)的流動(dòng)。那么除了大家常用的Tensorboard外,有木有一種通用又輕量化的可視化包呢?最近一位開(kāi)發(fā)者放出了一個(gè)名為Netron的神經(jīng)網(wǎng)絡(luò)可視化包,在三種主流操作系統(tǒng)和瀏覽器端通用,支持包括Tensorflow、caffe2、MXNet等15種常見(jiàn)框架的模型文件可視化,只需要一個(gè)輕量級(jí)的網(wǎng)頁(yè)端就可以打開(kāi)自己的模型文件進(jìn)行可視化,整個(gè)項(xiàng)目不到2M的輕量級(jí)大小,在github上已經(jīng)獲得了接近三千五百顆星。
我們先來(lái)看看里面可視化的模型長(zhǎng)什么樣的。下圖是tensorflow中搭建的inception_v3模型局部,左邊是模型中不同的單元及其互相關(guān)系,如果單擊某個(gè)單元還可以在右邊看到它內(nèi)部的超參數(shù)配置,包括輸入輸出、相關(guān)卷積核、數(shù)據(jù)格式、數(shù)據(jù)類型、單元命名、stride的長(zhǎng)度和padding的類型等等。
這個(gè)功能包支持絕大多數(shù)神經(jīng)網(wǎng)絡(luò)操作,可以為不同的節(jié)點(diǎn)顯示不同的顏色,其中卷積主要用藍(lán)色標(biāo)簽顯示,池化和批歸一化用深綠色而非線性的Relu等在使用了褐色,數(shù)學(xué)操作則用黑色標(biāo)簽標(biāo)示。
那么如何使用呢?開(kāi)發(fā)者提供了macOS、Linux和Windows的應(yīng)用程序下載,直接安裝即可使用,如果你想馬上就能上手試試,那么直接打開(kāi)網(wǎng)頁(yè)端也是很方便的,可以訪問(wèn)下面這個(gè)網(wǎng)址,上傳自己的模型文件即可看到網(wǎng)絡(luò)結(jié)構(gòu)展現(xiàn)在你的面前:
https://lutzroeder.github.io/netron/https://www.lutzroeder.com/ai/netron/如果你喜歡用python搭建模型并進(jìn)行調(diào)優(yōu),利用pip安裝并引入到程序中實(shí)時(shí)通過(guò)瀏覽器查看模型的變化也是極好的:pip install netron
安裝完成后直接導(dǎo)入工具包即可:
import netronnetron.start('path/of/your/model')
將會(huì)默認(rèn)在8080創(chuàng)建端口,打開(kāi)localhost對(duì)應(yīng)端口即可使用。最后,如果你想使用個(gè)性化的設(shè)置,可以在git上下載源碼修改對(duì)應(yīng)的設(shè)置,比如端口號(hào)可以在src/__init__.py中修改:
parser.add_argument('--port', help='port to serve (default: 8080)', type=int, default=8080)
可視化各個(gè)標(biāo)簽的顏色字體可以在src/view-grapher.css中找到對(duì)應(yīng)的操作進(jìn)行修改。修改成自己熟悉的顏色,可以開(kāi)始愉快的觀看我們的神經(jīng)網(wǎng)絡(luò)了:
其他的工具
事實(shí)上除了tensorboard外,還有各種適用于不同模型的可視化工具,例如支持caffe模型的Netscope,也能在網(wǎng)頁(yè)端輸出漂亮的可視化模型:
還有一個(gè)名為HiddenLayer的工具包,支持PyTroch、Tensorflow和Keras的模型可視化,在沒(méi)有安裝tensorboard的云服務(wù)上尤其有用,它可以在本地生成模型架構(gòu)的png圖或者pdf文件,每個(gè)節(jié)點(diǎn)上標(biāo)記了詳細(xì)的輸入輸出和通道參數(shù),十分方便查看。
它還能實(shí)現(xiàn)訓(xùn)練過(guò)程的動(dòng)態(tài)可視化,可以直接在jupyter內(nèi)使用:
是tensorboard不可用是一個(gè)很好的可視化工具包,在很多情況下是一個(gè)很好的補(bǔ)充。這幾個(gè)工具包各有所長(zhǎng),小伙伴們可以在實(shí)際工作中選擇自己需要的工具包來(lái)實(shí)現(xiàn)可視化,畢竟能看到的網(wǎng)絡(luò)調(diào)起來(lái)心里才更有譜!
ref:netscope:http://ethereon.github.io/netscope/quickstart.htmlhidden:https://github.com/waleedka/hiddenlayerhttps://blog.csdn.net/qq_36955294/article/details/84260961SNE:https://cs.stanford.edu/people/karpathy/cnnembed/deepvis:http://yosinski.com/deepvisDeepVisualization Toolbox:http://yosinski.com/deepvishttps://blog.csdn.net/FreeApe/article/details/72862335visdom:https://blog.csdn.net/yaningli/article/details/88576664tensorboardX:https://github.com/lanpa/tensorboardXhttps://matplotlib.org/faq/usage_faq.html
pic from :https://dribbble.com/shots/3776954-Outco-explainer
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4779瀏覽量
101133 -
可視化
+關(guān)注
關(guān)注
1文章
1200瀏覽量
21030
原文標(biāo)題:輕量級(jí)神經(jīng)網(wǎng)絡(luò)可視化通用框架——Netron
文章出處:【微信號(hào):thejiangmen,微信公眾號(hào):將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論