浏览代码

Training

master
Chris 8 年前
父节点
当前提交
c458d5eb19
共有 3 个文件被更改,包括 863 次插入2 次删除
  1. +17
    -0
      solver.prototxt
  2. +1
    -2
      train.py
  3. +845
    -0
      train_val.prototxt

+ 17
- 0
solver.prototxt 查看文件

@@ -0,0 +1,17 @@
net: "train_val.prototxt"
base_lr: 0.001
lr_policy: "step"
stepsize: 10000
gamma: 0.100000
max_iter: 15000
iter_size: 1
clip_gradients: 10.000000
test_iter: 1
test_interval: 300000
snapshot: 50
momentum: 0.900000
weight_decay: 0.0005
display: 100
solver_mode: GPU
test_initialization: false
snapshot_prefix: "snapshots/snapshot"

+ 1
- 2
train.py 查看文件

@@ -11,7 +11,6 @@ import matplotlib.pyplot as plt
import caffe
import cv2
import random
import scipy.ndimage as nd



@@ -285,7 +284,7 @@ def get_args():
parser.add_argument("--debug-dir", default='debug', type=str,
help="Dump images for debugging")
parser.add_argument("--print-count", default=10, type=int,
help="Dump images for debugging")
help="How often to print progress")

args = parser.parse_args()
print args


+ 845
- 0
train_val.prototxt 查看文件

@@ -0,0 +1,845 @@
input: "data"
input_dim: 1

# change to input_dim: 1 if not using color inputs
input_dim: 3

input_dim: 256
input_dim: 256

input: "gt"
input_dim: 1
input_dim: 1
input_dim: 256
input_dim: 256

layer {
name: "Convolution1"
type: "Convolution"
bottom: "data"
top: "Convolution1"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 3
kernel_size: 7
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_0_0"
type: "ReLU"
bottom: "Convolution1"
top: "Convolution1"
}
layer {
name: "Convolution2"
type: "Convolution"
bottom: "Convolution1"
top: "Convolution2"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 3
kernel_size: 7
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_0_1"
type: "ReLU"
bottom: "Convolution2"
top: "Convolution2"
}
layer {
name: "Convolution3"
type: "Convolution"
bottom: "Convolution2"
top: "Convolution3"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 3
kernel_size: 7
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_0_2"
type: "ReLU"
bottom: "Convolution3"
top: "Convolution3"
}
layer {
name: "Convolution4"
type: "Convolution"
bottom: "Convolution3"
top: "Convolution4"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 3
kernel_size: 7
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_0_3"
type: "ReLU"
bottom: "Convolution4"
top: "Convolution4"
}
layer {
name: "Convolution5"
type: "Convolution"
bottom: "Convolution4"
top: "Convolution5"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 3
kernel_size: 7
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_0_4"
type: "ReLU"
bottom: "Convolution5"
top: "Convolution5"
}
layer {
name: "Convolution6"
type: "Convolution"
bottom: "Convolution5"
top: "Convolution6"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 3
kernel_size: 7
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_0_5"
type: "ReLU"
bottom: "Convolution6"
top: "Convolution6"
}
layer {
name: "Convolution7"
type: "Convolution"
bottom: "Convolution6"
top: "Convolution7"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 3
kernel_size: 7
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_0_6"
type: "ReLU"
bottom: "Convolution7"
top: "Convolution7"
}
layer {
name: "Pooling1"
type: "Pooling"
bottom: "Convolution1"
top: "Pooling1"
pooling_param {
pool: AVE
kernel_size: 2
stride: 2
}
}
layer {
name: "Convolution8"
type: "Convolution"
bottom: "Pooling1"
top: "Convolution8"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 3
kernel_size: 7
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_1_0"
type: "ReLU"
bottom: "Convolution8"
top: "Convolution8"
}
layer {
name: "Convolution9"
type: "Convolution"
bottom: "Convolution8"
top: "Convolution9"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 3
kernel_size: 7
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_1_1"
type: "ReLU"
bottom: "Convolution9"
top: "Convolution9"
}
layer {
name: "Convolution10"
type: "Convolution"
bottom: "Convolution9"
top: "Convolution10"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 3
kernel_size: 7
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_1_2"
type: "ReLU"
bottom: "Convolution10"
top: "Convolution10"
}
layer {
name: "Convolution11"
type: "Convolution"
bottom: "Convolution10"
top: "Convolution11"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 3
kernel_size: 7
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_1_3"
type: "ReLU"
bottom: "Convolution11"
top: "Convolution11"
}
layer {
name: "Convolution12"
type: "Convolution"
bottom: "Convolution11"
top: "Convolution12"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 3
kernel_size: 7
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_1_4"
type: "ReLU"
bottom: "Convolution12"
top: "Convolution12"
}
layer {
name: "Convolution13"
type: "Convolution"
bottom: "Convolution12"
top: "Convolution13"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 3
kernel_size: 7
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_1_5"
type: "ReLU"
bottom: "Convolution13"
top: "Convolution13"
}
layer {
name: "Pooling2"
type: "Pooling"
bottom: "Convolution8"
top: "Pooling2"
pooling_param {
pool: AVE
kernel_size: 2
stride: 2
}
}
layer {
name: "Convolution14"
type: "Convolution"
bottom: "Pooling2"
top: "Convolution14"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_2_0"
type: "ReLU"
bottom: "Convolution14"
top: "Convolution14"
}
layer {
name: "Convolution15"
type: "Convolution"
bottom: "Convolution14"
top: "Convolution15"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_2_1"
type: "ReLU"
bottom: "Convolution15"
top: "Convolution15"
}
layer {
name: "Convolution16"
type: "Convolution"
bottom: "Convolution15"
top: "Convolution16"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_2_2"
type: "ReLU"
bottom: "Convolution16"
top: "Convolution16"
}
layer {
name: "Convolution17"
type: "Convolution"
bottom: "Convolution16"
top: "Convolution17"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_2_3"
type: "ReLU"
bottom: "Convolution17"
top: "Convolution17"
}
layer {
name: "Convolution18"
type: "Convolution"
bottom: "Convolution17"
top: "Convolution18"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_2_4"
type: "ReLU"
bottom: "Convolution18"
top: "Convolution18"
}
layer {
name: "Pooling3"
type: "Pooling"
bottom: "Convolution14"
top: "Pooling3"
pooling_param {
pool: AVE
kernel_size: 2
stride: 2
}
}
layer {
name: "Convolution19"
type: "Convolution"
bottom: "Pooling3"
top: "Convolution19"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_3_0"
type: "ReLU"
bottom: "Convolution19"
top: "Convolution19"
}
layer {
name: "Convolution20"
type: "Convolution"
bottom: "Convolution19"
top: "Convolution20"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_3_1"
type: "ReLU"
bottom: "Convolution20"
top: "Convolution20"
}
layer {
name: "Convolution21"
type: "Convolution"
bottom: "Convolution20"
top: "Convolution21"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_3_2"
type: "ReLU"
bottom: "Convolution21"
top: "Convolution21"
}
layer {
name: "Convolution22"
type: "Convolution"
bottom: "Convolution21"
top: "Convolution22"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv_3_3"
type: "ReLU"
bottom: "Convolution22"
top: "Convolution22"
}
layer {
name: "upsample_1"
type: "Deconvolution"
bottom: "Convolution13"
top: "upsample_1"
param {
lr_mult: 0
decay_mult: 0
}
convolution_param {
kernel_size: 4
num_output: 32
group: 32
stride: 2
pad: 1
weight_filler: { type: 'bilinear' }
bias_term: false
}
}
layer {
name: "upsample_2"
type: "Deconvolution"
bottom: "Convolution18"
top: "upsample_2"
param {
lr_mult: 0
decay_mult: 0
}
convolution_param {
kernel_size: 8
num_output: 32
group: 32
stride: 4
pad: 2
weight_filler: { type: 'bilinear' }
bias_term: false
}
}
layer {
name: "upsample_3"
type: "Deconvolution"
bottom: "Convolution22"
top: "upsample_3"
param {
lr_mult: 0
decay_mult: 0
}
convolution_param {
kernel_size: 16
num_output: 32
group: 32
stride: 8
pad: 4
weight_filler: { type: 'bilinear' }
bias_term: false
}
}
layer {
name: "merged"
type: "Concat"
bottom: "Convolution7"
bottom: "upsample_1"
bottom: "upsample_2"
bottom: "upsample_3"
top: "merged"
}
layer {
name: "Convolution26"
type: "Convolution"
bottom: "merged"
top: "Convolution26"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 3
kernel_size: 7
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "merged_conv"
type: "ReLU"
bottom: "Convolution26"
top: "Convolution26"
}
layer {
name: "Convolution27"
type: "Convolution"
bottom: "Convolution26"
top: "Convolution27"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "ReLU1"
type: "ReLU"
bottom: "Convolution27"
top: "Convolution27"
}
layer {
name: "Convolution28"
type: "Convolution"
bottom: "Convolution27"
top: "Convolution28"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "rep_layer_0"
type: "ReLU"
bottom: "Convolution28"
top: "Convolution28"
}
layer {
name: "Convolution29"
type: "Convolution"
bottom: "Convolution28"
top: "Convolution29"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "ReLU2"
type: "ReLU"
bottom: "Convolution29"
top: "Convolution29"
}
layer {
name: "Convolution30"
type: "Convolution"
bottom: "Convolution29"
top: "out"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 2
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "baselines_7_loss_0"
type: "SoftmaxWithLoss"
bottom: "out"
bottom: "gt"
top: "loss"
loss_weight: 1.0
}

正在加载...
取消
保存