name: "VGG_LPSS_SSD_704x448_deploy" input: "data" input_shape { dim: 1 dim: 3 dim: 448 dim: 704 } layer { name: "conv1_1" type: "Convolution" bottom: "data" top: "conv1_1" convolution_param { num_output: 64 pad: 1 kernel_size: 3 } } layer { name: "relu1_1" type: "ReLU" bottom: "conv1_1" top: "conv1_1" } layer { name: "conv1_2" type: "Convolution" bottom: "conv1_1" top: "conv1_2" convolution_param { num_output: 64 pad: 1 kernel_size: 3 } } layer { name: "relu1_2" type: "ReLU" bottom: "conv1_2" top: "conv1_2" } layer { name: "pool1" type: "Pooling" bottom: "conv1_2" top: "pool1" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "conv2_1" type: "Convolution" bottom: "pool1" top: "conv2_1" convolution_param { num_output: 128 pad: 1 kernel_size: 3 } } layer { name: "relu2_1" type: "ReLU" bottom: "conv2_1" top: "conv2_1" } layer { name: "conv2_2" type: "Convolution" bottom: "conv2_1" top: "conv2_2" convolution_param { num_output: 128 pad: 1 kernel_size: 3 } } layer { name: "relu2_2" type: "ReLU" bottom: "conv2_2" top: "conv2_2" } layer { name: "pool2" type: "Pooling" bottom: "conv2_2" top: "pool2" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "conv3_1" type: "Convolution" bottom: "pool2" top: "conv3_1" convolution_param { num_output: 256 pad: 1 kernel_size: 3 } } layer { name: "relu3_1" type: "ReLU" bottom: "conv3_1" top: "conv3_1" } layer { name: "conv3_2" type: "Convolution" bottom: "conv3_1" top: "conv3_2" convolution_param { num_output: 256 pad: 1 kernel_size: 3 } } layer { name: "relu3_2" type: "ReLU" bottom: "conv3_2" top: "conv3_2" } layer { name: "conv3_3" type: "Convolution" bottom: "conv3_2" top: "conv3_3" convolution_param { num_output: 256 pad: 1 kernel_size: 3 } } layer { name: "relu3_3" type: "ReLU" bottom: "conv3_3" top: "conv3_3" } layer { name: "pool3" type: "Pooling" bottom: "conv3_3" top: "pool3" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "conv4_1" type: "Convolution" bottom: "pool3" top: "conv4_1" convolution_param { num_output: 512 pad: 1 kernel_size: 3 } } layer { name: "relu4_1" type: "ReLU" bottom: "conv4_1" top: "conv4_1" } layer { name: "conv4_2" type: "Convolution" bottom: "conv4_1" top: "conv4_2" convolution_param { num_output: 512 pad: 1 kernel_size: 3 } } layer { name: "relu4_2" type: "ReLU" bottom: "conv4_2" top: "conv4_2" } layer { name: "conv4_3" type: "Convolution" bottom: "conv4_2" top: "conv4_3" convolution_param { num_output: 512 pad: 1 kernel_size: 3 } } layer { name: "relu4_3" type: "ReLU" bottom: "conv4_3" top: "conv4_3" } layer { name: "pool4" type: "Pooling" bottom: "conv4_3" top: "pool4" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "conv5_1" type: "Convolution" bottom: "pool4" top: "conv5_1" convolution_param { num_output: 512 pad: 1 kernel_size: 3 dilation: 1 } } layer { name: "relu5_1" type: "ReLU" bottom: "conv5_1" top: "conv5_1" } layer { name: "conv5_2" type: "Convolution" bottom: "conv5_1" top: "conv5_2" convolution_param { num_output: 512 pad: 1 kernel_size: 3 dilation: 1 } } layer { name: "relu5_2" type: "ReLU" bottom: "conv5_2" top: "conv5_2" } layer { name: "conv5_3" type: "Convolution" bottom: "conv5_2" top: "conv5_3" convolution_param { num_output: 512 pad: 1 kernel_size: 3 dilation: 1 } } layer { name: "relu5_3" type: "ReLU" bottom: "conv5_3" top: "conv5_3" } layer { name: "pool5" type: "Pooling" bottom: "conv5_3" top: "pool5" pooling_param { pool: MAX kernel_size: 3 stride: 1 pad: 1 } } layer { name: "fc6" type: "Convolution" bottom: "pool5" top: "fc6" convolution_param { num_output: 1024 pad: 6 kernel_size: 3 dilation: 6 } } layer { name: "relu6" type: "ReLU" bottom: "fc6" top: "fc6" } layer { name: "fc7" type: "Convolution" bottom: "fc6" top: "fc7" convolution_param { num_output: 1024 kernel_size: 1 } } layer { name: "relu7" type: "ReLU" bottom: "fc7" top: "fc7" } layer { name: "conv6_1" type: "Convolution" bottom: "fc7" top: "conv6_1" convolution_param { num_output: 256 pad: 0 kernel_size: 1 stride: 1 } } layer { name: "conv6_1_relu" type: "ReLU" bottom: "conv6_1" top: "conv6_1" } layer { name: "conv6_2" type: "Convolution" bottom: "conv6_1" top: "conv6_2" convolution_param { num_output: 512 pad: 1 kernel_size: 3 stride: 2 } } layer { name: "conv6_2_relu" type: "ReLU" bottom: "conv6_2" top: "conv6_2" } layer { name: "conv7_1" type: "Convolution" bottom: "conv6_2" top: "conv7_1" convolution_param { num_output: 128 pad: 0 kernel_size: 1 stride: 1 } } layer { name: "conv7_1_relu" type: "ReLU" bottom: "conv7_1" top: "conv7_1" } layer { name: "conv7_2" type: "Convolution" bottom: "conv7_1" top: "conv7_2" convolution_param { num_output: 256 pad: 1 kernel_size: 3 stride: 2 } } layer { name: "conv7_2_relu" type: "ReLU" bottom: "conv7_2" top: "conv7_2" } layer { name: "conv8_1" type: "Convolution" bottom: "conv7_2" top: "conv8_1" convolution_param { num_output: 128 pad: 0 kernel_size: 1 stride: 1 } } layer { name: "conv8_1_relu" type: "ReLU" bottom: "conv8_1" top: "conv8_1" } layer { name: "conv8_2" type: "Convolution" bottom: "conv8_1" top: "conv8_2" convolution_param { num_output: 256 pad: 0 kernel_size: 3 stride: 1 } } layer { name: "conv8_2_relu" type: "ReLU" bottom: "conv8_2" top: "conv8_2" } layer { name: "conv9_1" type: "Convolution" bottom: "conv8_2" top: "conv9_1" convolution_param { num_output: 128 pad: 0 kernel_size: 1 stride: 1 } } layer { name: "conv9_1_relu" type: "ReLU" bottom: "conv9_1" top: "conv9_1" } layer { name: "conv9_2" type: "Convolution" bottom: "conv9_1" top: "conv9_2" convolution_param { num_output: 256 pad: 0 kernel_size: 3 stride: 1 } } layer { name: "conv9_2_relu" type: "ReLU" bottom: "conv9_2" top: "conv9_2" } layer { name: "conv4_3_norm" type: "IPlugin" # type: "Normalize" bottom: "conv4_3" top: "conv4_3_norm" # norm_param { # across_spatial: false # scale_filler { # type: "constant" # value: 20 # } # channel_shared: false # } } layer { name: "conv4_3_norm_mbox_loc" type: "Convolution" bottom: "conv4_3_norm" top: "conv4_3_norm_mbox_loc" convolution_param { num_output: 16 pad: 1 kernel_size: 3 stride: 1 } } layer { name: "conv4_3_norm_mbox_loc_perm" # type: "Permute" type: "IPlugin" bottom: "conv4_3_norm_mbox_loc" top: "conv4_3_norm_mbox_loc_perm" # permute_param { # order: 0 # order: 2 # order: 3 # order: 1 # } } layer { name: "conv4_3_norm_mbox_loc_flat" # type: "Flatten" type: "IPlugin" bottom: "conv4_3_norm_mbox_loc_perm" top: "conv4_3_norm_mbox_loc_flat" # flatten_param { # axis: 1 # } } layer { name: "conv4_3_norm_mbox_conf" type: "Convolution" bottom: "conv4_3_norm" top: "conv4_3_norm_mbox_conf" convolution_param { num_output: 16 pad: 1 kernel_size: 3 stride: 1 } } layer { name: "conv4_3_norm_mbox_conf_perm" # type: "Permute" type: "IPlugin" bottom: "conv4_3_norm_mbox_conf" top: "conv4_3_norm_mbox_conf_perm" # permute_param { # order: 0 # order: 2 # order: 3 # order: 1 # } } layer { name: "conv4_3_norm_mbox_conf_flat" # type: "Flatten" type: "IPlugin" bottom: "conv4_3_norm_mbox_conf_perm" top: "conv4_3_norm_mbox_conf_flat" # flatten_param { # axis: 1 # } } layer { name: "fc7_mbox_loc" type: "Convolution" bottom: "fc7" top: "fc7_mbox_loc" convolution_param { num_output: 24 pad: 1 kernel_size: 3 stride: 1 } } layer { name: "fc7_mbox_loc_perm" # type: "Permute" type: "IPlugin" bottom: "fc7_mbox_loc" top: "fc7_mbox_loc_perm" # permute_param { # order: 0 # order: 2 # order: 3 # order: 1 # } } layer { name: "fc7_mbox_loc_flat" # type: "Flatten" type: "IPlugin" bottom: "fc7_mbox_loc_perm" top: "fc7_mbox_loc_flat" # flatten_param { # axis: 1 # } } layer { name: "fc7_mbox_conf" type: "Convolution" bottom: "fc7" top: "fc7_mbox_conf" convolution_param { num_output: 24 pad: 1 kernel_size: 3 stride: 1 } } layer { name: "fc7_mbox_conf_perm" # type: "Permute" type: "IPlugin" bottom: "fc7_mbox_conf" top: "fc7_mbox_conf_perm" # permute_param { # order: 0 # order: 2 # order: 3 # order: 1 # } } layer { name: "fc7_mbox_conf_flat" # type: "Flatten" type: "IPlugin" bottom: "fc7_mbox_conf_perm" top: "fc7_mbox_conf_flat" # flatten_param { # axis: 1 # } } layer { name: "conv6_2_mbox_loc" type: "Convolution" bottom: "conv6_2" top: "conv6_2_mbox_loc" convolution_param { num_output: 24 pad: 1 kernel_size: 3 stride: 1 } } layer { name: "conv6_2_mbox_loc_perm" # type: "Permute" type: "IPlugin" bottom: "conv6_2_mbox_loc" top: "conv6_2_mbox_loc_perm" # permute_param { # order: 0 # order: 2 # order: 3 # order: 1 # } } layer { name: "conv6_2_mbox_loc_flat" # type: "Flatten" type: "IPlugin" bottom: "conv6_2_mbox_loc_perm" top: "conv6_2_mbox_loc_flat" # flatten_param { # axis: 1 # } } layer { name: "conv6_2_mbox_conf" type: "Convolution" bottom: "conv6_2" top: "conv6_2_mbox_conf" convolution_param { num_output: 24 pad: 1 kernel_size: 3 stride: 1 } } layer { name: "conv6_2_mbox_conf_perm" # type: "Permute" type: "IPlugin" bottom: "conv6_2_mbox_conf" top: "conv6_2_mbox_conf_perm" # permute_param { # order: 0 # order: 2 # order: 3 # order: 1 # } } layer { name: "conv6_2_mbox_conf_flat" # type: "Flatten" type: "IPlugin" bottom: "conv6_2_mbox_conf_perm" top: "conv6_2_mbox_conf_flat" # flatten_param { # axis: 1 # } } layer { name: "conv7_2_mbox_loc" type: "Convolution" bottom: "conv7_2" top: "conv7_2_mbox_loc" convolution_param { num_output: 24 pad: 1 kernel_size: 3 stride: 1 } } layer { name: "conv7_2_mbox_loc_perm" # type: "Permute" type: "IPlugin" bottom: "conv7_2_mbox_loc" top: "conv7_2_mbox_loc_perm" # permute_param { # order: 0 # order: 2 # order: 3 # order: 1 # } } layer { name: "conv7_2_mbox_loc_flat" # type: "Flatten" type: "IPlugin" bottom: "conv7_2_mbox_loc_perm" top: "conv7_2_mbox_loc_flat" # flatten_param { # axis: 1 # } } layer { name: "conv7_2_mbox_conf" type: "Convolution" bottom: "conv7_2" top: "conv7_2_mbox_conf" convolution_param { num_output: 24 pad: 1 kernel_size: 3 stride: 1 } } layer { name: "conv7_2_mbox_conf_perm" # type: "Permute" type: "IPlugin" bottom: "conv7_2_mbox_conf" top: "conv7_2_mbox_conf_perm" # permute_param { # order: 0 # order: 2 # order: 3 # order: 1 # } } layer { name: "conv7_2_mbox_conf_flat" # type: "Flatten" type: "IPlugin" bottom: "conv7_2_mbox_conf_perm" top: "conv7_2_mbox_conf_flat" # flatten_param { # axis: 1 # } } layer { name: "conv8_2_mbox_loc" type: "Convolution" bottom: "conv8_2" top: "conv8_2_mbox_loc" convolution_param { num_output: 16 pad: 1 kernel_size: 3 stride: 1 } } layer { name: "conv8_2_mbox_loc_perm" # type: "Permute" type: "IPlugin" bottom: "conv8_2_mbox_loc" top: "conv8_2_mbox_loc_perm" # permute_param { # order: 0 # order: 2 # order: 3 # order: 1 # } } layer { name: "conv8_2_mbox_loc_flat" # type: "Flatten" type: "IPlugin" bottom: "conv8_2_mbox_loc_perm" top: "conv8_2_mbox_loc_flat" # flatten_param { # axis: 1 # } } layer { name: "conv8_2_mbox_conf" type: "Convolution" bottom: "conv8_2" top: "conv8_2_mbox_conf" convolution_param { num_output: 16 pad: 1 kernel_size: 3 stride: 1 } } layer { name: "conv8_2_mbox_conf_perm" # type: "Permute" type: "IPlugin" bottom: "conv8_2_mbox_conf" top: "conv8_2_mbox_conf_perm" # permute_param { # order: 0 # order: 2 # order: 3 # order: 1 # } } layer { name: "conv8_2_mbox_conf_flat" # type: "Flatten" type: "IPlugin" bottom: "conv8_2_mbox_conf_perm" top: "conv8_2_mbox_conf_flat" # flatten_param { # axis: 1 # } } layer { name: "conv9_2_mbox_loc" type: "Convolution" bottom: "conv9_2" top: "conv9_2_mbox_loc" convolution_param { num_output: 16 pad: 1 kernel_size: 3 stride: 1 } } layer { name: "conv9_2_mbox_loc_perm" # type: "Permute" type: "IPlugin" bottom: "conv9_2_mbox_loc" top: "conv9_2_mbox_loc_perm" # permute_param { # order: 0 # order: 2 # order: 3 # order: 1 # } } layer { name: "conv9_2_mbox_loc_flat" # type: "Flatten" type: "IPlugin" bottom: "conv9_2_mbox_loc_perm" top: "conv9_2_mbox_loc_flat" # flatten_param { # axis: 1 # } } layer { name: "conv9_2_mbox_conf" type: "Convolution" bottom: "conv9_2" top: "conv9_2_mbox_conf" convolution_param { num_output: 16 pad: 1 kernel_size: 3 stride: 1 } } layer { name: "conv9_2_mbox_conf_perm" # type: "Permute" type: "IPlugin" bottom: "conv9_2_mbox_conf" top: "conv9_2_mbox_conf_perm" # permute_param { # order: 0 # order: 2 # order: 3 # order: 1 # } } layer { name: "conv9_2_mbox_conf_flat" # type: "Flatten" type: "IPlugin" bottom: "conv9_2_mbox_conf_perm" top: "conv9_2_mbox_conf_flat" # flatten_param { # axis: 1 # } } layer { name: "mbox_loc" type: "Concat" bottom: "conv4_3_norm_mbox_loc_flat" bottom: "fc7_mbox_loc_flat" bottom: "conv6_2_mbox_loc_flat" bottom: "conv7_2_mbox_loc_flat" bottom: "conv8_2_mbox_loc_flat" bottom: "conv9_2_mbox_loc_flat" top: "mbox_loc" concat_param { axis: 1 } } layer { name: "mbox_conf" type: "Concat" bottom: "conv4_3_norm_mbox_conf_flat" bottom: "fc7_mbox_conf_flat" bottom: "conv6_2_mbox_conf_flat" bottom: "conv7_2_mbox_conf_flat" bottom: "conv8_2_mbox_conf_flat" bottom: "conv9_2_mbox_conf_flat" top: "mbox_conf" concat_param { axis: 1 } } layer { name: "mbox_conf_reshape" # type: "Reshape" type: "IPlugin" bottom: "mbox_conf" top: "mbox_conf_reshape" # reshape_param { # shape { # dim: 0 # dim: -1 # dim: 4 # } # } } layer { name: "mbox_conf_softmax" # type: "Softmax" type: "IPlugin" bottom: "mbox_conf_reshape" top: "mbox_conf_softmax" # softmax_param { # axis: 2 # } } layer { name: "mbox_conf_flatten" # type: "Flatten" type: "IPlugin" bottom: "mbox_conf_softmax" top: "mbox_conf_flatten" # flatten_param { # axis: 1 # } } #layer { # name: "detection_out" # type: "DetectionOutput" # bottom: "mbox_loc" # bottom: "mbox_conf_flatten" # top: "detection_out" # include { # phase: TEST # } # detection_output_param { # num_classes: 4 # share_location: true # background_label_id: 0 # nms_param { # nms_threshold: 0.45 # top_k: 400 # } # code_type: CENTER_SIZE # keep_top_k: 200 # confidence_threshold: 0.01 # } #}