Caffe是早期的框架,采用Protobuf格式通过配置的方式来定义模型结构,而目前绝大部分框架都使用Python语言创建模型,最主流的框架是TensorFlow和PyTorch。
以TensorFlow为例,官方配套TensorBoard工具,专门用于可视化,不仅可以可视化模型,还可以可视化自定义的各种变量。在定义模型时,必须使用name scope来确定模块的作用范围,添加部分名称和作用域,否则网络图会非常复杂。
与Caffe模型类似,这里同样可视化一个包含三个卷积层的卷积网络,其结构定义如下。
要想利用TensorBoard进行可视化,必须在会话中通过summary存储网络图,命令为summary=tf.summary.FileWriter("output",sess.graph),最后利用TensorBoard在浏览器中查看可视化结果,如图3.3所示。
图3.3 利用TensorBoard对模型结构可视化的结果
可以看出,上述模型结构的可视化方法和Caffe的差不多,除了Caffe模型结构的可视化需要输入模型配置文件。大部分深度学习框架都使用Python进行开发,其模型结构的可视化方法与TensorFlow相差不大。相比较来说,Caffe的模型可视化方法更加简单直接,独立于代码,可以更便捷地看到每一层的参数配置。
开源框架众多,如果对每一种框架都需要学习一种工具进行可视化,不但学习成本较高,而且可迁移性差。下面介绍一些通用的可视化工具。