在撰写有关神经网络的主题的论文/进行演示时,通常会可视化网络架构。
自动可视化常见架构的好/简单方法是什么?
在撰写有关神经网络的主题的论文/进行演示时,通常会可视化网络架构。
自动可视化常见架构的好/简单方法是什么?
我最近创建了一个用于绘制 NN 架构和导出 SVG 的工具,称为NN-SVG
如果神经网络以 Tensorflow 图的形式给出,那么您可以使用 TensorBoard 可视化该图。
这是 MNIST CNN 的样子:
您可以自己添加名称/范围(如“dropout”、“softmax”、“fc1”、“conv1”、“conv2”)。
以下仅是关于左图。我忽略了右半部分的 4 个小图。
每个框都是一个具有可以学习参数的层。对于推理,信息从底部流向顶部。椭圆是不包含学习参数的层。
盒子的颜色没有意义。
我不确定虚线小框(“渐变”、“亚当”、“保存”)的价值。
有一个开源项目叫Netron
Netron 是神经网络、深度学习和机器学习模型的查看器。
Netron 支持 ONNX(.onnx、.pb)、Keras(.h5、.keras)、CoreML(.mlmodel)和 TensorFlow Lite(.tflite)。Netron 为 Caffe (.caffemodel)、Caffe2 (predict_net.pb)、MXNet (-symbol.json)、TensorFlow.js (model.json, .pb) 和 TensorFlow (.pb, .meta) 提供实验性支持。
我会使用keras-sequential-ascii添加 ASCII 可视化(免责声明:我是作者)。
CIFAR-10 的小型网络(来自本教程)将是:
OPERATION DATA DIMENSIONS WEIGHTS(N) WEIGHTS(%)
Input ##### 32 32 3
Conv2D \|/ ------------------- 896 2.1%
relu ##### 30 30 32
MaxPooling2D Y max ------------------- 0 0.0%
##### 15 15 32
Conv2D \|/ ------------------- 18496 43.6%
relu ##### 13 13 64
MaxPooling2D Y max ------------------- 0 0.0%
##### 6 6 64
Flatten ||||| ------------------- 0 0.0%
##### 2304
Dense XXXXX ------------------- 23050 54.3%
softmax ##### 10
对于 VGG16,它将是:
OPERATION DATA DIMENSIONS WEIGHTS(N) WEIGHTS(%)
Input ##### 3 224 224
InputLayer | ------------------- 0 0.0%
##### 3 224 224
Convolution2D \|/ ------------------- 1792 0.0%
relu ##### 64 224 224
Convolution2D \|/ ------------------- 36928 0.0%
relu ##### 64 224 224
MaxPooling2D Y max ------------------- 0 0.0%
##### 64 112 112
Convolution2D \|/ ------------------- 73856 0.1%
relu ##### 128 112 112
Convolution2D \|/ ------------------- 147584 0.1%
relu ##### 128 112 112
MaxPooling2D Y max ------------------- 0 0.0%
##### 128 56 56
Convolution2D \|/ ------------------- 295168 0.2%
relu ##### 256 56 56
Convolution2D \|/ ------------------- 590080 0.4%
relu ##### 256 56 56
Convolution2D \|/ ------------------- 590080 0.4%
relu ##### 256 56 56
MaxPooling2D Y max ------------------- 0 0.0%
##### 256 28 28
Convolution2D \|/ ------------------- 1180160 0.9%
relu ##### 512 28 28
Convolution2D \|/ ------------------- 2359808 1.7%
relu ##### 512 28 28
Convolution2D \|/ ------------------- 2359808 1.7%
relu ##### 512 28 28
MaxPooling2D Y max ------------------- 0 0.0%
##### 512 14 14
Convolution2D \|/ ------------------- 2359808 1.7%
relu ##### 512 14 14
Convolution2D \|/ ------------------- 2359808 1.7%
relu ##### 512 14 14
Convolution2D \|/ ------------------- 2359808 1.7%
relu ##### 512 14 14
MaxPooling2D Y max ------------------- 0 0.0%
##### 512 7 7
Flatten ||||| ------------------- 0 0.0%
##### 25088
Dense XXXXX ------------------- 102764544 74.3%
relu ##### 4096
Dense XXXXX ------------------- 16781312 12.1%
relu ##### 4096
Dense XXXXX ------------------- 4097000 3.0%
softmax ##### 1000