早期许多开源框架都有自己的可视化方法,比如Caffe的在线可视化工具Netscope。
定义一个包含三个卷积层的神经网络模型,代码如下。
上述是一个比较简单的模型,可以采用如下几种方案进行可视化。
第一种,利用Caffe自带的可视化脚本,在Caffe根目录下的Python目录下有draw_net.py脚本。draw_net.py执行时带三个参数:第一个参数是网络模型的prototxt文件;第二个参数是保存的图片路径及名字;第三个参数是rankdirx,有四种选项,即LR、RL、TB和BT,用来表示网络的方向,分别对应从左到右、从右到左、从上到下和从下到上,默认为LR。
第二种,利用开源项目Netscope,它的可视化效果更好。上述模型结构可视化的结果如图3.2所示,可以看到模型采用了卷积和激活函数的堆叠,同时模型的数据输入层和最后的全连接层作为损失层与精度层的输入。
图3.2 利用Netscope对Caffe模型结构可视化的结果
当想要看每一层的参数时,就可以将鼠标放在相应的结构块上,图3.2右侧的框内展示的就是第二个卷积层conv2的完整配置。
利用Netscope进行可视化的结果非常直观,其非常适用于对网络的结构进行调试和设计。