##### Solver ##### solver_mode: GPU base_lr: 0.01 momentum: 0.9 weight_decay: 0.0002 lr_policy: "step" gamma: 0.9 stepsize: 5000 max_iter: 250000 snapshot: 1000 snapshot_prefix: "path/to/models" test_iter: 1000 test_interval: 1000 display: 100 average_loss: 100 ##### Network ##### net_param: { name: "model" ##### Training data ##### layer { name: "images" type: "Data" top: "data" top: "label" transform_param { mirror: true mean_value: 150 } data_param { source: "path/to/training/db" backend: LMDB batch_size: 64 } include: { phase: TRAIN } } ##### Testing data ##### layer { name: "images" type: "Data" top: "data" top: "label" transform_param { mean_value: 150 } data_param { source: "path/to/testing/db" backend: LMDB batch_size: 128 } include: { phase: TEST } } ##### Layer 1 ##### layer { name: "conv1" type: "Convolution" bottom: "data" top: "conv1" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 kernel_size: 4 stride: 1 pad: 0 weight_filler { type: "gaussian" std: 0.07 } bias_filler { type: "constant" value: 0.1 } } } layer { name: "nonlin1" type: "ReLU" bottom: "conv1" top: "conv1" } layer { name: "pool1" type: "Pooling" bottom: "conv1" top: "pool1" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } ##### Layer 2 ##### layer { name: "conv2" type: "Convolution" bottom: "pool1" top: "conv2" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 kernel_size: 3 stride: 1 pad: 0 weight_filler { type: "gaussian" std: 0.04 } bias_filler { type: "constant" value: 0.1 } } } layer { name: "nonlin2" type: "ReLU" bottom: "conv2" top: "conv2" } layer { name: "pool2" type: "Pooling" bottom: "conv2" top: "pool2" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } ##### Layer 3 ##### layer { name: "conv3" type: "Convolution" bottom: "pool2" top: "conv3" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 kernel_size: 3 stride: 1 pad: 0 weight_filler { type: "gaussian" std: 0.04 } bias_filler { type: "constant" value: 0.1 } } } layer { name: "nonlin3" type: "ReLU" bottom: "conv3" top: "conv3" } layer { name: "pool3" type: "Pooling" bottom: "conv3" top: "pool3" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } ##### Layer 4 ##### layer { name: "conv4" type: "Convolution" bottom: "pool3" top: "conv4" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 kernel_size: 3 stride: 1 pad: 0 weight_filler { type: "gaussian" std: 0.04 } bias_filler { type: "constant" value: 0.1 } } } layer { name: "nonlin4" type: "ReLU" bottom: "conv4" top: "conv4" } layer { name: "pool4" type: "Pooling" bottom: "conv4" top: "pool4" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } ##### Fully connected 1 ##### layer { name: "ip1" type: "InnerProduct" bottom: "pool4" top: "ip1" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } inner_product_param { num_output: 200 weight_filler { type: "gaussian" std: 0.03 } bias_filler { type: "constant" value: 0.1 } } } layer { name: "nonlin_ip1" type: "ReLU" bottom: "ip1" top: "ip1" } ##### Fully connected 2 (output layer) ##### layer { name: "ip2" type: "InnerProduct" bottom: "ip1" top: "ip2" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } inner_product_param { num_output: 2 weight_filler { type: "gaussian" std: 0.06 } bias_filler { type: "constant" } } } ##### Loss ##### layer { name: "loss" type: "SoftmaxWithLoss" bottom: "ip2" bottom: "label" top: "loss" } ##### Test accuracy ##### layer { name: "accuracy" type: "Accuracy" bottom: "ip2" bottom: "label" top: "accuracy" include: { phase: TEST } } }