caffe:net结构可视化

来源:互联网 发布:linux默认开启小键盘 编辑:程序博客网 时间:2024/06/04 23:27

        caffe中本来提供了用以对net进行可视化的python接口,可以以流程图的方式对net进行展示。但怎奈又需要再次对python接口、环境进行调试,运行时也要再次编译pycaffe,实在是有些麻烦。后在网上几经寻找找到了一个可视化网站——Netscope。 只需要将prototxt文件当中的net定义拷贝至网页中即可得到可视化的模型。这里给出一个16层VGGnet模型示例。

name: "VGG_ILSVRC_16_layers"input: "data"input_dim: 1input_dim: 3#input_dim: 232#input_dim: 232input_dim: 280 #361 #368 # 380input_dim: 280 #361 #368 # 380#input_dim: 480#input_dim: 480layers {  bottom: "data"  top: "conv1_1"  name: "conv1_1"  type: CONVOLUTION  convolution_param {    num_output: 64    pad: 1    kernel_size: 3  }}layers {  bottom: "conv1_1"  top: "conv1_1"  name: "relu1_1"  type: RELU}layers {  bottom: "conv1_1"  top: "conv1_2"  name: "conv1_2"  type: CONVOLUTION  convolution_param {    num_output: 64    pad: 1    kernel_size: 3  }}layers {  bottom: "conv1_2"  top: "conv1_2"  name: "relu1_2"  type: RELU}layers {  bottom: "conv1_2"  top: "pool1"  name: "pool1"  type: POOLING  pooling_param {    pool: MAX    kernel_size: 2    stride: 2  }}layers {  bottom: "pool1"  top: "conv2_1"  name: "conv2_1"  type: CONVOLUTION  convolution_param {    num_output: 128    pad: 1    kernel_size: 3  }}layers {  bottom: "conv2_1"  top: "conv2_1"  name: "relu2_1"  type: RELU}layers {  bottom: "conv2_1"  top: "conv2_2"  name: "conv2_2"  type: CONVOLUTION  convolution_param {    num_output: 128    pad: 1    kernel_size: 3  }}layers {  bottom: "conv2_2"  top: "conv2_2"  name: "relu2_2"  type: RELU}layers {  bottom: "conv2_2"  top: "pool2"  name: "pool2"  type: POOLING  pooling_param {    pool: MAX    kernel_size: 2    stride: 2  }}layers {  bottom: "pool2"  top: "conv3_1"  name: "conv3_1"  type: CONVOLUTION  convolution_param {    num_output: 256    pad: 1    kernel_size: 3  }}layers {  bottom: "conv3_1"  top: "conv3_1"  name: "relu3_1"  type: RELU}layers {  bottom: "conv3_1"  top: "conv3_2"  name: "conv3_2"  type: CONVOLUTION  convolution_param {    num_output: 256    pad: 1    kernel_size: 3  }}layers {  bottom: "conv3_2"  top: "conv3_2"  name: "relu3_2"  type: RELU}layers {  bottom: "conv3_2"  top: "conv3_3"  name: "conv3_3"  type: CONVOLUTION  convolution_param {    num_output: 256    pad: 1    kernel_size: 3  }}layers {  bottom: "conv3_3"  top: "conv3_3"  name: "relu3_3"  type: RELU}layers {  bottom: "conv3_3"  top: "pool3"  name: "pool3"  type: POOLING  pooling_param {    pool: MAX    kernel_size: 2    stride: 2  }}layers {  bottom: "pool3"  top: "conv4_1"  name: "conv4_1"  type: CONVOLUTION  convolution_param {    num_output: 512    pad: 1    kernel_size: 3  }}layers {  bottom: "conv4_1"  top: "conv4_1"  name: "relu4_1"  type: RELU}layers {  bottom: "conv4_1"  top: "conv4_2"  name: "conv4_2"  type: CONVOLUTION  convolution_param {    num_output: 512    pad: 1    kernel_size: 3  }}layers {  bottom: "conv4_2"  top: "conv4_2"  name: "relu4_2"  type: RELU}layers {  bottom: "conv4_2"  top: "conv4_3"  name: "conv4_3"  type: CONVOLUTION  convolution_param {    num_output: 512    pad: 1    kernel_size: 3  }}layers {  bottom: "conv4_3"  top: "conv4_3"  name: "relu4_3"  type: RELU}###################################################layers {  bottom: "conv4_3"  top: "pool4"  name: "pool4"  type: POOLING  pooling_param {    pool: MAX    kernel_size: 2    stride: 2  }}layers {  bottom: "pool4"  top: "conv5_1"  name: "conv5_1"  type: CONVOLUTION  convolution_param {    num_output: 512    pad: 1    kernel_size: 3  }}layers {  bottom: "conv5_1"  top: "conv5_1"  name: "relu5_1"  type: RELU}layers {  bottom: "conv5_1"  top: "conv5_2"  name: "conv5_2"  type: CONVOLUTION  convolution_param {    num_output: 512    pad: 1    kernel_size: 3  }}layers {  bottom: "conv5_2"  top: "conv5_2"  name: "relu5_2"  type: RELU}layers {  bottom: "conv5_2"  top: "conv5_3"  name: "conv5_3"  type: CONVOLUTION  convolution_param {    num_output: 512    pad: 1    kernel_size: 3  }}layers {  bottom: "conv5_3"  top: "conv5_3"  name: "relu5_3"  type: RELU}#layers {#  bottom: "pool2"#  top: "pool2_out"#  name: "pool2_out"#  type: SPLIT#}###layers { #  bottom: "pool3"#  top: "pool3_out"#  name: "pool3_out"#  type: SPLIT#}layers {  bottom: "conv4_3"  top: "conv4_3_out"#  top: "conv4_3_out2"  name: "conv4_3_out"  type: SPLIT}####layers {##  bottom: "conv1_2"##  top: "conv1_2_out"##  name: "conv1_2_out"##  type: SPLIT##}##layers {##  bottom: "conv2_1"##  top: "conv2_1_out"##  name: "conv2_1_out"##  type: SPLIT##}

VGG_net

原创粉丝点击