ResNet-20 on CIFAR-10 always gives 0.1 accuracy

556 views
Skip to first unread message

mrutyunjaya lenka

unread,
Apr 20, 2016, 12:02:50 AM4/20/16
to Caffe Users
I am writing the ResNet-20 on CIFAR-10 data. in Caffe I always get the accuracy as 0.1. Following is  my net. Can you guys help me what's wrong in there?

name: "ResNet-20"
#input: "data"
#input_dim: 1
#input_dim: 3
#input_dim: 224
#input_dim: 224
layer {
  name: "cifar"
  type: "Data"
  top: "data"
  top: "label"
  include {
    phase: TRAIN
  }
  transform_param {       
    mean_file: "examples/cifar10/mean.binaryproto"
  }
  data_param {
    source: "examples/cifar10/cifar10_train_lmdb"
    batch_size: 100
    backend: LMDB
  }
}
layer {
  name: "cifar"
  type: "Data"
  top: "data"
  top: "label"
  include {
    phase: TEST
  }
  transform_param {   
    mean_file: "examples/cifar10/mean.binaryproto"
  }
  data_param {
    source: "examples/cifar10/cifar10_test_lmdb"
    batch_size: 100
    backend: LMDB
  }
}


#conv 3*3 16 starts here
layer {
    bottom: "data"
    top: "conv1"
    name: "conv1"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }
    convolution_param {
        num_output: 16
        kernel_size: 3
        pad: 1
        stride: 1
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }
    }
}

layer {
    bottom: "conv1"
    top: "conv1"
    name: "bn_conv1"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "conv1"
    top: "conv1"
    name: "scale_conv1"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}

layer {
    bottom: "conv1"
    top: "conv1"
    name: "conv1_relu"
    type: "ReLU"
}
#conv 3*3 16 ends here  
#Conv 3*3 16 1 starts
layer {
    bottom: "conv1"
    top: "res2a_branch2a"
    name: "res2a_branch2a"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }
    convolution_param {
        num_output: 16
        kernel_size: 3
        pad: 1
        stride: 1
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res2a_branch2a"
    top: "res2a_branch2a"
    name: "bn2a_branch2a"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res2a_branch2a"
    top: "res2a_branch2a"
    name: "scale2a_branch2a"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}

layer {
    bottom: "res2a_branch2a"
    top: "res2a_branch2a"
    name: "res2a_branch2a_relu"
    type: "ReLU"
}
#conv 3*3 16 1 ends
#conv 3*3 16 2 starts
layer {
    bottom: "res2a_branch2a"
    top: "res2a_branch2b"
    name: "res2a_branch2b"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 16
        kernel_size: 3
        pad: 1
        stride: 1
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res2a_branch2b"
    top: "res2a_branch2b"
    name: "bn2a_branch2b"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res2a_branch2b"
    top: "res2a_branch2b"
    name: "scale2a_branch2b"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}
#conv 3*3 16 2 ends here
layer {
    bottom: "conv1"
    bottom: "res2a_branch2b"
    top: "res2a"
    name: "res2a"
    type: "Eltwise"
}

layer {
    bottom: "res2a"
    top: "res2a"
    name: "res2a_relu"
    type: "ReLU"
}
#conv 3*3 16 3 starts here
layer {
    bottom: "res2a"
    top: "res2b_branch2a"
    name: "res2b_branch2a"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 16
        kernel_size: 3
        pad: 1
        stride: 1
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res2b_branch2a"
    top: "res2b_branch2a"
    name: "bn2b_branch2a"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res2b_branch2a"
    top: "res2b_branch2a"
    name: "scale2b_branch2a"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}

layer {
    bottom: "res2b_branch2a"
    top: "res2b_branch2a"
    name: "res2b_branch2a_relu"
    type: "ReLU"
}
# conv 3*3 16 3 ends here
#conv 3*3 16 4 starts here
layer {
    bottom: "res2b_branch2a"
    top: "res2b_branch2b"
    name: "res2b_branch2b"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 16
        kernel_size: 3
        pad: 1
        stride: 1
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res2b_branch2b"
    top: "res2b_branch2b"
    name: "bn2b_branch2b"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res2b_branch2b"
    top: "res2b_branch2b"
    name: "scale2b_branch2b"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}
#conv 3*3 16 4 ends here
layer {
    bottom: "res2a"
    bottom: "res2b_branch2b"
    top: "res2b"
    name: "res2b"
    type: "Eltwise"
}

layer {
    bottom: "res2b"
    top: "res2b"
    name: "res2b_relu"
    type: "ReLU"
}

#conv 3*3 16 5 starts here
layer {
    bottom: "res2b"
    top: "res2c_branch2a"
    name: "res2c_branch2a"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 16
        kernel_size: 3
        pad: 1
        stride: 1
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res2c_branch2a"
    top: "res2c_branch2a"
    name: "bn2c_branch2a"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res2c_branch2a"
    top: "res2c_branch2a"
    name: "scale2c_branch2a"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}

layer {
    bottom: "res2c_branch2a"
    top: "res2c_branch2a"
    name: "res2c_branch2a_relu"
    type: "ReLU"
}
#conv 3*3 16 5 ends here
#conv 3*3 16 6 starts here
layer {
    bottom: "res2c_branch2a"
    top: "res2c_branch2b"
    name: "res2c_branch2b"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 16
        kernel_size: 3
        pad: 1
        stride: 1
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res2c_branch2b"
    top: "res2c_branch2b"
    name: "bn2c_branch2b"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res2c_branch2b"
    top: "res2c_branch2b"
    name: "scale2c_branch2b"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}
#conv 3*3 16 6 ends here
layer {
    bottom: "res2b"
    bottom: "res2c_branch2b"
    top: "res2c"
    name: "res2c"
    type: "Eltwise"
}

layer {
    bottom: "res2c"
    top: "res2c"
    name: "res2c_relu"
    type: "ReLU"
}
#Projection to 32
layer {
    bottom: "res2c"
    top: "res3a_branch1"
    name: "res3a_branch1"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 32
        kernel_size: 1
        pad: 0
        stride: 2
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res3a_branch1"
    top: "res3a_branch1"
    name: "bn3a_branch1"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res3a_branch1"
    top: "res3a_branch1"
    name: "scale3a_branch1"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}
#conv 3*3 32 1 starts here
layer {
    bottom: "res2c"
    top: "res3a_branch2a"
    name: "res3a_branch2a"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 32
        kernel_size: 3
        pad: 1
        stride: 2
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res3a_branch2a"
    top: "res3a_branch2a"
    name: "bn3a_branch2a"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res3a_branch2a"
    top: "res3a_branch2a"
    name: "scale3a_branch2a"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}

layer {
    bottom: "res3a_branch2a"
    top: "res3a_branch2a"
    name: "res3a_branch2a_relu"
    type: "ReLU"
}
#conv 3*3 32 1 ends here
#conv 3*3 32 2 starts here
layer {
    bottom: "res3a_branch2a"
    top: "res3a_branch2b"
    name: "res3a_branch2b"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 32
        kernel_size: 3
        pad: 1
        stride: 1
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res3a_branch2b"
    top: "res3a_branch2b"
    name: "bn3a_branch2b"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res3a_branch2b"
    top: "res3a_branch2b"
    name: "scale3a_branch2b"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}
#conv 3*3 32 2 ends here

layer {
    bottom: "res3a_branch1"
    bottom: "res3a_branch2b"
    top: "res3a"
    name: "res3a"
    type: "Eltwise"
}

layer {
    bottom: "res3a"
    top: "res3a"
    name: "res3a_relu"
    type: "ReLU"
}
#conv 3*3 32 3 starts here
layer {
    bottom: "res3a"
    top: "res3b_branch2a"
    name: "res3b_branch2a"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 32
        kernel_size: 3
        pad: 1
        stride: 1
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res3b_branch2a"
    top: "res3b_branch2a"
    name: "bn3b_branch2a"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res3b_branch2a"
    top: "res3b_branch2a"
    name: "scale3b_branch2a"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}

layer {
    bottom: "res3b_branch2a"
    top: "res3b_branch2a"
    name: "res3b_branch2a_relu"
    type: "ReLU"
}
#conv 3*3 32 3 ends here
#conv 3*3 32 4 starts here
layer {
    bottom: "res3b_branch2a"
    top: "res3b_branch2b"
    name: "res3b_branch2b"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 32
        kernel_size: 3
        pad: 1
        stride: 1
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res3b_branch2b"
    top: "res3b_branch2b"
    name: "bn3b_branch2b"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res3b_branch2b"
    top: "res3b_branch2b"
    name: "scale3b_branch2b"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}
#conv 3*3 32 4 ends here
layer {
    bottom: "res3a"
    bottom: "res3b_branch2b"
    top: "res3b"
    name: "res3b"
    type: "Eltwise"
}

layer {
    bottom: "res3b"
    top: "res3b"
    name: "res3b_relu"
    type: "ReLU"
}
#conv 3*3 32 5 starts here
layer {
    bottom: "res3b"
    top: "res3c_branch2a"
    name: "res3c_branch2a"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 32
        kernel_size: 3
        pad: 1
        stride: 1
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res3c_branch2a"
    top: "res3c_branch2a"
    name: "bn3c_branch2a"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res3c_branch2a"
    top: "res3c_branch2a"
    name: "scale3c_branch2a"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}

layer {
    bottom: "res3c_branch2a"
    top: "res3c_branch2a"
    name: "res3c_branch2a_relu"
    type: "ReLU"
}
#conv 3*3 32 5 ends here
#conv 3*3 32 6 starts here
layer {
    bottom: "res3c_branch2a"
    top: "res3c_branch2b"
    name: "res3c_branch2b"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 32
        kernel_size: 3
        pad: 1
        stride: 1
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res3c_branch2b"
    top: "res3c_branch2b"
    name: "bn3c_branch2b"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res3c_branch2b"
    top: "res3c_branch2b"
    name: "scale3c_branch2b"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}
#conv 3*3 32 6 ends here
layer {
    bottom: "res3b"
    bottom: "res3c_branch2b"
    top: "res3c"
    name: "res3c"
    type: "Eltwise"
}

layer {
    bottom: "res3c"
    top: "res3c"
    name: "res3c_relu"
    type: "ReLU"
}
#Projection to 64
layer {
    bottom: "res3c"
    top: "res4a_branch1"
    name: "res4a_branch1"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 64
        kernel_size: 1
        pad: 0
        stride: 2
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}
layer {
    bottom: "res4a_branch1"
    top: "res4a_branch1"
    name: "bn4a_branch1"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res4a_branch1"
    top: "res4a_branch1"
    name: "scale4a_branch1"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}
#conv 3*3 64 1 starts here
layer {
    bottom: "res3c"
    top: "res4a_branch2a"
    name: "res4a_branch2a"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 64
        kernel_size: 3
        pad: 1
        stride: 2
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res4a_branch2a"
    top: "res4a_branch2a"
    name: "bn4a_branch2a"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res4a_branch2a"
    top: "res4a_branch2a"
    name: "scale4a_branch2a"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}

layer {
    bottom: "res4a_branch2a"
    top: "res4a_branch2a"
    name: "res4a_branch2a_relu"
    type: "ReLU"
}
#conv 3*3 64 1 ends here
#conv 3*3 64 2 starts here
layer {
    bottom: "res4a_branch2a"
    top: "res4a_branch2b"
    name: "res4a_branch2b"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 64
        kernel_size: 3
        pad: 1
        stride: 1
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res4a_branch2b"
    top: "res4a_branch2b"
    name: "bn4a_branch2b"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res4a_branch2b"
    top: "res4a_branch2b"
    name: "scale4a_branch2b"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}
#conv 3*3 64 2 ends here
layer {
    bottom: "res4a_branch1"
    bottom: "res4a_branch2b"
    top: "res4a"
    name: "res4a"
    type: "Eltwise"
}

layer {
    bottom: "res4a"
    top: "res4a"
    name: "res4a_relu"
    type: "ReLU"
}
#conv 3*3 64 3 starts here
layer {
    bottom: "res4a"
    top: "res4b_branch2a"
    name: "res4b_branch2a"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 64
        kernel_size: 3
        pad: 1
        stride: 1
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res4b_branch2a"
    top: "res4b_branch2a"
    name: "bn4b_branch2a"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res4b_branch2a"
    top: "res4b_branch2a"
    name: "scale4b_branch2a"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}

layer {
    bottom: "res4b_branch2a"
    top: "res4b_branch2a"
    name: "res4b_branch2a_relu"
    type: "ReLU"
}
#conv 3*3 64 3 ends here
#conv 3*3 64 4 starts here
layer {
    bottom: "res4b_branch2a"
    top: "res4b_branch2b"
    name: "res4b_branch2b"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 64
        kernel_size: 3
        pad: 1
        stride: 1
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res4b_branch2b"
    top: "res4b_branch2b"
    name: "bn4b_branch2b"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res4b_branch2b"
    top: "res4b_branch2b"
    name: "scale4b_branch2b"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}
#conv 3*3 64 4 ends here
layer {
    bottom: "res4a"
    bottom: "res4b_branch2b"
    top: "res4b"
    name: "res4b"
    type: "Eltwise"
}

layer {
    bottom: "res4b"
    top: "res4b"
    name: "res4b_relu"
    type: "ReLU"
}
#conv 3*3 64 5 starts here
layer {
    bottom: "res4b"
    top: "res4c_branch2a"
    name: "res4c_branch2a"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 64
        kernel_size: 3
        pad: 1
        stride: 1
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              value: 0
            }

    }
}

layer {
    bottom: "res4c_branch2a"
    top: "res4c_branch2a"
    name: "bn4c_branch2a"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res4c_branch2a"
    top: "res4c_branch2a"
    name: "scale4c_branch2a"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}

layer {
    bottom: "res4c_branch2a"
    top: "res4c_branch2a"
    name: "res4c_branch2a_relu"
    type: "ReLU"
}
#conv 3*3 64 5 ends here
#conv 3*3 64 6 starts here
layer {
    bottom: "res4c_branch2a"
    top: "res4c_branch2b"
    name: "res4c_branch2b"
    type: "Convolution"
    param {
            lr_mult: 1
          }
      param {
            lr_mult: 2
          }

    convolution_param {
        num_output: 64
        kernel_size: 3
        pad: 1
        stride: 1
        #bias_term: false
        weight_filler {
              type: "gaussian"
              std: 0.01
            }
            bias_filler {
              type: "constant"
              #value: 0
            }

    }
}

layer {
    bottom: "res4c_branch2b"
    top: "res4c_branch2b"
    name: "bn4c_branch2b"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: true
    }
}

layer {
    bottom: "res4c_branch2b"
    top: "res4c_branch2b"
    name: "scale4c_branch2b"
    type: "Scale"
    scale_param {
        bias_term: true
    }
}
#conv 3*3 64 6 ends here
layer {
    bottom: "res4b"
    bottom: "res4c_branch2b"
    top: "res4c"
    name: "res4c"
    type: "Eltwise"
}

layer {
    bottom: "res4c"
    top: "res4c"
    name: "res4c_relu"
    type: "ReLU"
}
#Average Pooling
layer {
    bottom: "res4c"
    top: "pool5"
    name: "pool5"
    type: "Pooling"
    pooling_param {
        kernel_size: 8
        stride: 1
        pool: AVE
    }
}
#FC Layer
layer {
    bottom: "pool5"
    top: "fc10"
    name: "fc10"
    type: "InnerProduct"
    inner_product_param {
        num_output: 10
    }
}

layer {
    bottom: "fc10"
    top: "prob"
    name: "prob"
    type: "Softmax"
}

Hossein Hasanpour

unread,
Apr 20, 2016, 5:49:42 AM4/20/16
to Caffe Users
Lower your learning rate and try again

Yi-Min Tsai

unread,
Apr 26, 2016, 8:30:03 PM4/26/16
to Caffe Users
Hi Jay, in training phase, you should set the "use_global_stats" to false in batch_norm_param of batchNorm layer.

See the issues here



Jay於 2016年4月20日星期三 UTC+8下午12時02分50秒寫道:
Reply all
Reply to author
Forward
0 new messages