Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #This network is like a pre-alpha version. I just sort of wrote it out of the blue.
- #data size is 227x227x3
- layer {
- name: "data"
- type: "Data"
- top: "data"
- include {
- phase: TRAIN
- }
- transform_param {
- scale: 1
- }
- data_param {
- source: "C:/Users/apple/models/wilde"
- batch_size: 1 #about 20 iterations per second on a gtx1050
- backend: LMDB
- }
- }
- layer {
- name: "conv1_a"
- type: "Convolution"
- bottom: "data"
- top: "conv1_a"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 16
- pad: 2
- kernel_size: 5
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu1_a"
- type: "ELU"
- bottom: "conv1_a"
- top: "conv1_a"
- }
- layer {
- name: "conv2_a"
- type: "Convolution"
- bottom: "conv1_a"
- top: "conv2_a"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 16
- pad: 2
- kernel_size: 5
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu2_a"
- type: "ELU"
- bottom: "conv2_a"
- top: "conv2_a"
- }
- layer {
- name: "conv3_a"
- type: "Convolution"
- bottom: "conv2_a"
- top: "conv3_a"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 16
- pad: 1
- kernel_size: 3
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu3_a"
- type: "ELU"
- bottom: "conv3_a"
- top: "conv3_a"
- }
- layer {
- name: "pool3_a"
- type: "Pooling"
- bottom: "conv3_a"
- top: "pool3_a"
- pooling_param {
- pool: MAX
- kernel_size: 3
- stride: 2
- }
- }
- layer {
- name: "conv1_b"
- type: "Convolution"
- bottom: "pool3_a"
- top: "conv1_b"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 32
- pad: 2
- kernel_size: 5
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu1_b"
- type: "ELU"
- bottom: "conv1_b"
- top: "conv1_b"
- }
- layer {
- name: "conv2_b"
- type: "Convolution"
- bottom: "conv1_b"
- top: "conv2_b"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 32
- pad: 2
- kernel_size: 5
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu2_b"
- type: "ELU"
- bottom: "conv2_b"
- top: "conv2_b"
- }
- layer {
- name: "conv3_b"
- type: "Convolution"
- bottom: "conv2_b"
- top: "conv3_b"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 32
- pad: 1
- kernel_size: 3
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu3_b"
- type: "ELU"
- bottom: "conv3_b"
- top: "conv3_b"
- }
- layer {
- name: "pool3_b"
- type: "Pooling"
- bottom: "conv3_b"
- top: "pool3_b"
- pooling_param {
- pool: MAX
- kernel_size: 3
- stride: 2
- }
- }
- layer {
- name: "conv1_c"
- type: "Convolution"
- bottom: "pool3_b"
- top: "conv1_c"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 64
- pad: 2
- kernel_size: 5
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu1_c"
- type: "ELU"
- bottom: "conv1_c"
- top: "conv1_c"
- }
- layer {
- name: "conv2_c"
- type: "Convolution"
- bottom: "conv1_c"
- top: "conv2_c"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 64
- pad: 2
- kernel_size: 5
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu2_c"
- type: "ELU"
- bottom: "conv2_c"
- top: "conv2_c"
- }
- layer {
- name: "conv3_c"
- type: "Convolution"
- bottom: "conv2_c"
- top: "conv3_c"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 64
- pad: 1
- kernel_size: 3
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu3_c"
- type: "ELU"
- bottom: "conv3_c"
- top: "conv3_c"
- }
- layer {
- name: "pool3_c"
- type: "Pooling"
- bottom: "conv3_c"
- top: "pool3_c"
- pooling_param {
- pool: MAX
- kernel_size: 3
- stride: 2
- }
- }
- layer {
- name: "conv1_d"
- type: "Convolution"
- bottom: "pool3_c"
- top: "conv1_d"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 96
- pad: 2
- kernel_size: 5
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu1_d"
- type: "ELU"
- bottom: "conv1_d"
- top: "conv1_d"
- }
- layer {
- name: "conv2_d"
- type: "Convolution"
- bottom: "conv1_d"
- top: "conv2_d"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 96
- pad: 2
- kernel_size: 5
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu2_d"
- type: "ELU"
- bottom: "conv2_d"
- top: "conv2_d"
- }
- layer {
- name: "conv3_d"
- type: "Convolution"
- bottom: "conv2_d"
- top: "conv3_d"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 96
- pad: 1
- kernel_size: 3
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu3_d"
- type: "ELU"
- bottom: "conv3_d"
- top: "conv3_d"
- }
- layer {
- name: "pool3_d"
- type: "Pooling"
- bottom: "conv3_d"
- top: "pool3_d"
- pooling_param {
- pool: MAX
- kernel_size: 3
- stride: 2
- }
- }
- layer {
- name: "conv1_e"
- type: "Convolution"
- bottom: "pool3_d"
- top: "conv1_e"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 64
- pad: 2
- kernel_size: 5
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu1_e"
- type: "ELU"
- bottom: "conv1_e"
- top: "conv1_e"
- }
- layer {
- name: "conv2_e"
- type: "Convolution"
- bottom: "conv1_e"
- top: "conv2_e"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 64
- pad: 2
- kernel_size: 5
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu2_e"
- type: "ELU"
- bottom: "conv2_e"
- top: "conv2_e"
- }
- layer {
- name: "conv3_e"
- type: "Convolution"
- bottom: "conv2_e"
- top: "conv3_e"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 64
- pad: 1
- kernel_size: 3
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu3_e"
- type: "ELU"
- bottom: "conv3_e"
- top: "conv3_e"
- }
- layer {
- name: "deconv_fc1"
- type: "InnerProduct"
- bottom: "conv3_e"
- top: "deconv_fc1"
- param {
- lr_mult: 1
- decay_mult: 0
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- inner_product_param {
- num_output: 512
- weight_filler {
- type: "msra"
- }
- }
- }
- layer {
- name: "relu_deconv_fc1"
- type: "ELU"
- bottom: "deconv_fc1"
- top: "deconv_fc1"
- }
- layer {
- name: "deconv_fc2"
- type: "InnerProduct"
- bottom: "deconv_fc1"
- top: "deconv_fc2"
- param {
- lr_mult: 1
- decay_mult: 0
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- inner_product_param {
- num_output: 1024
- weight_filler {
- type: "msra"
- }
- }
- }
- layer {
- name: "relu_deconv_fc2"
- type: "ELU"
- bottom: "deconv_fc2"
- top: "deconv_fc2"
- }
- layer {
- name: "deconv_fc3_"
- type: "InnerProduct"
- bottom: "deconv_fc2"
- top: "deconv_fc3_"
- param {
- lr_mult: 1
- decay_mult: 0
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- inner_product_param {
- num_output: 12544
- # this is probably a bit excessive but it can be reshaped back into the size of layer "conv3_e" which is 1x64x14x14 which aids a lot in creating a spicy decoder.
- #Other values could work, as long as it can be reshaped back into Cx14x14
- weight_filler {
- type: "msra"
- }
- }
- }
- layer {
- name: "relu_deconv_fc3_"
- type: "ELU"
- bottom: "deconv_fc3_"
- top: "deconv_fc3_"
- }
- layer {
- name: "reshape_fc"
- type: "Reshape"
- bottom: "deconv_fc3_"
- top: "reshape_fc"
- reshape_param {
- shape {
- dim: 1
- dim: -1
- dim: 14
- dim: 14
- }
- }
- }
- layer {
- name: "conv1_e_t"
- type: "Deconvolution"
- bottom: "reshape_fc"
- top: "conv1_e_t"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- convolution_param {
- num_output: 96
- pad: 1
- kernel_size: 3
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu1_e_t"
- type: "ELU"
- bottom: "conv1_e_t"
- top: "conv1_e_t"
- }
- layer {
- name: "pool3_d_t"
- type: "Resize"
- bottom: "conv1_e_t"
- top: "pool3_d_t"
- resize_param {
- interpolation: LINEAR
- height: 28
- width: 28
- }
- }
- layer {
- name: "conv1_d_t"
- type: "Deconvolution"
- bottom: "pool3_d_t"
- top: "conv1_d_t"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- convolution_param {
- num_output: 64
- pad: 1
- kernel_size: 3
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu1_d_t"
- type: "ELU"
- bottom: "conv1_d_t"
- top: "conv1_d_t"
- }
- layer {
- name: "pool3_c_t"
- type: "Resize"
- bottom: "conv1_d_t"
- top: "pool3_c_t"
- resize_param {
- interpolation: LINEAR
- height: 56
- width: 56
- }
- }
- layer {
- name: "conv1_c_t"
- type: "Deconvolution"
- bottom: "pool3_c_t"
- top: "conv1_c_t"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- convolution_param {
- num_output: 32
- pad: 1
- kernel_size: 3
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu1_c_t"
- type: "ELU"
- bottom: "conv1_c_t"
- top: "conv1_c_t"
- }
- layer {
- name: "pool3_b_t"
- type: "Resize"
- bottom: "conv1_c_t"
- top: "pool3_b_t"
- resize_param {
- interpolation: LINEAR
- height: 113
- width: 113
- }
- }
- layer {
- name: "conv1_b_t"
- type: "Deconvolution"
- bottom: "pool3_b_t"
- top: "conv1_b_t"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- convolution_param {
- num_output: 16
- pad: 1
- kernel_size: 3
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu1_b_t"
- type: "ELU"
- bottom: "conv1_b_t"
- top: "conv1_b_t"
- }
- layer {
- name: "pool3_a_t"
- type: "Resize"
- bottom: "conv1_b_t"
- top: "pool3_a_t"
- resize_param {
- interpolation: LINEAR
- height: 227
- width: 227
- }
- }
- layer {
- name: "conv1_a_t"
- type: "Deconvolution"
- bottom: "pool3_a_t"
- top: "conv1_a_t"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- convolution_param {
- num_output: 3 #Change to 4 if you're feeling ambitious and want to train on images with an alpha (transparency channel(.
- pad: 1
- kernel_size: 3
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "relu1_a_t"
- type: "ELU"
- bottom: "conv1_a_t"
- top: "conv1_a_t"
- }
- layer {
- name: "mse_loss"
- type: "EuclideanLoss"
- bottom: "data"
- bottom: "conv1_a_t"
- top: "mse_loss"
- loss_weight: 1e-09 #scales down the loss into something more acceptable; it probably comes from the fact that either the "data" or the "conv1_at" need more than just an "ELU" layer for normalization.
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement