深度学习之网络可视化

       想要对一个深度学习模型有最直观的了解那就是直接可视化其网络结构,常见的网络可视化工具有很多,今天就自己了解的进行简单的总结,

tensorflow的模型结构可视化方法:

(1)使用自带的tensorboard(需要自己在代码中加入节点信息)

(2)使用netron工具打开(.pd 或者是.meta文件)

(3)第三方库CNNGraph(  https://github.com/huachao1001/CNNGraph)

(4)tensorspace.js (没用过)

(5)高层API中keras的可视化

pytorch的模型结构可视化方法:

(1)使用tensorboardX(同tensorflow)

(2)使用graphviz加上torchviz (依赖于graphviz和GitHub第三方库torchviz)

(3)使用微软的tensorwatch (只能在jupyter notebook中使用)

(4)使用netron可视化工具(.pt 或者是 .pth 文件)

Mxnet模型可视化

(1)graphviz

(2)自带的mxboard

(3)使用netron可视化工具

import mxnet as mx
from mxnet.gluon import loss as gloss,data as gdata,nn,utils as gutils
import os
os.environ["PATH"] += os.pathsep + 'D:\\anaconda\\content\\Library\\bin\\graphviz\\release\\bin'  ##需要先下载好graphviz

# 定义网络(gluon api)
net = nn.Sequential() 
with net.name_scope():
    net.add(nn.Dense(128, activation='relu'))
    net.add(nn.Dense(64, activation='relu'))
    net.add(nn.Dense(10))

# gluon api实现的图,必须先用symbol初始化一下,注意,这个操作在进行训练的时候是不需要的
input_symbol = mx.symbol.Variable('input_data')
net = net(input_symbol) 

# 绘图
mx.viz.plot_network(net)

结果如下,

深度学习之网络可视化_第1张图片


Netron(支持tf, caffe, keras,mxnet等多种框架):

支持的框架support for:
ONNX (.onnx, .pb, .pbtxt),
Keras (.h5, .keras),
CoreML (.mlmodel),
Caffe2 (predict_net.pb, predict_net.pbtxt),
MXNet (.model, -symbol.json)
TensorFlow Lite (.tflite).
experimental support for :
Caffe (.caffemodel, .prototxt),
PyTorch (.pth),
Torch (.t7),
CNTK (.model, .cntk),
PaddlePaddle (model),
Darknet (.cfg),
scikit-learn (.pkl),
TensorFlow.js (model.json, .pb)
TensorFlow (.pb, .meta, .pbtxt).



 

 

 

 

 

该工具有在线模式和离线模式两种,在线的可以访问该网站

https://lutzroeder.github.io/netron/

然后输入自己的模型即可,也可以通过运行脚本,然后输入本地网址映射

import netronmodelPath = "googlenet.pb"netron.start(modelPath)     ###运行该脚本会提示打开http://localhost:8080即可

第二种方式可以尝试下载app,链接如下

https://github.com/lutzroeder/netron

 

      神经网络模型可视化的方法还有很多,学习之路,其修远兮,吾等将上下而求索!

 

 

参考链接:

https://www.freesion.com/article/340667237/(PYTORCH 网络结构可视化方法汇总(三种实现方法详解))

https://blog.csdn.net/qqqzmy/article/details/86060131(轻量好用的神经网络模型可视化工具netron)

你可能感兴趣的:(深度学习)