waifu2x-caffe/bin/models/upresnet10/noise2_scale2.0x_model.prototxt

905 lines
14 KiB
Plaintext
Raw Normal View History

name: "UpResNet10_3"
layer {
name: "data"
type: "Input"
top: "input"
input_param {
shape {
dim: 1
dim: 3
dim: 90
dim: 90
}
}
}
layer {
name: "/conv_pre"
type: "Convolution"
bottom: "input"
top: "/conv_pre"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
bias_term: true
pad: 0
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "/conv_pre_relu"
type: "ReLU"
bottom: "/conv_pre"
top: "/conv_pre_relu"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "/res1/conv1"
type: "Convolution"
bottom: "/conv_pre_relu"
top: "/res1/conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
bias_term: true
pad: 0
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "/res1/conv1_relu"
type: "ReLU"
bottom: "/res1/conv1"
top: "/res1/conv1_relu"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "/res1/conv2"
type: "Convolution"
bottom: "/res1/conv1_relu"
top: "/res1/conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
bias_term: true
pad: 0
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "/res1/conv2_relu"
type: "ReLU"
bottom: "/res1/conv2"
top: "/res1/conv2_relu"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "/res1/fc1_globalavgpool"
type: "Pooling"
bottom: "/res1/conv2_relu"
top: "/res1/fc1_globalavgpool"
pooling_param {
pool: AVE
stride: 1
pad: 0
engine: CAFFE
global_pooling: true
}
}
layer {
name: "/res1/fc1"
type: "InnerProduct"
bottom: "/res1/fc1_globalavgpool"
top: "/res1/fc1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 16
weight_filler {
type: "msra"
}
bias_filler {
value: 0
}
}
}
layer {
name: "/res1/fc1_relu"
type: "ReLU"
bottom: "/res1/fc1"
top: "/res1/fc1_relu"
}
layer {
name: "/res1/fc2"
type: "InnerProduct"
bottom: "/res1/fc1_relu"
top: "/res1/fc2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 64
weight_filler {
type: "msra"
}
bias_filler {
value: 0
}
}
}
layer {
name: "/res1/fc2_sigmoid"
type: "Sigmoid"
bottom: "/res1/fc2"
top: "/res1/fc2_sigmoid"
}
layer {
name: "/res1/crop"
type: "CropCenter"
bottom: "/conv_pre_relu"
top: "/res1/crop"
crop_center_param {
crop_size: 0
crop_size: 0
crop_size: 2
crop_size: 2
}
}
layer {
name: "/res1/axpy"
type: "Axpy"
bottom: "/res1/fc2_sigmoid"
bottom: "/res1/conv2_relu"
bottom: "/res1/crop"
top: "/res1/axpy"
}
layer {
name: "/res2/conv1"
type: "Convolution"
bottom: "/res1/axpy"
top: "/res2/conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
bias_term: true
pad: 0
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "/res2/conv1_relu"
type: "ReLU"
bottom: "/res2/conv1"
top: "/res2/conv1_relu"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "/res2/conv2"
type: "Convolution"
bottom: "/res2/conv1_relu"
top: "/res2/conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
bias_term: true
pad: 0
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "/res2/conv2_relu"
type: "ReLU"
bottom: "/res2/conv2"
top: "/res2/conv2_relu"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "/res2/fc1_globalavgpool"
type: "Pooling"
bottom: "/res2/conv2_relu"
top: "/res2/fc1_globalavgpool"
pooling_param {
pool: AVE
stride: 1
pad: 0
engine: CAFFE
global_pooling: true
}
}
layer {
name: "/res2/fc1"
type: "InnerProduct"
bottom: "/res2/fc1_globalavgpool"
top: "/res2/fc1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 16
weight_filler {
type: "msra"
}
bias_filler {
value: 0
}
}
}
layer {
name: "/res2/fc1_relu"
type: "ReLU"
bottom: "/res2/fc1"
top: "/res2/fc1_relu"
}
layer {
name: "/res2/fc2"
type: "InnerProduct"
bottom: "/res2/fc1_relu"
top: "/res2/fc2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 64
weight_filler {
type: "msra"
}
bias_filler {
value: 0
}
}
}
layer {
name: "/res2/fc2_sigmoid"
type: "Sigmoid"
bottom: "/res2/fc2"
top: "/res2/fc2_sigmoid"
}
layer {
name: "/res2/crop"
type: "CropCenter"
bottom: "/res1/axpy"
top: "/res2/crop"
crop_center_param {
crop_size: 0
crop_size: 0
crop_size: 2
crop_size: 2
}
}
layer {
name: "/res2/axpy"
type: "Axpy"
bottom: "/res2/fc2_sigmoid"
bottom: "/res2/conv2_relu"
bottom: "/res2/crop"
top: "/res2/axpy"
}
layer {
name: "/res3/conv1"
type: "Convolution"
bottom: "/res2/axpy"
top: "/res3/conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
bias_term: true
pad: 0
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "/res3/conv1_relu"
type: "ReLU"
bottom: "/res3/conv1"
top: "/res3/conv1_relu"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "/res3/conv2"
type: "Convolution"
bottom: "/res3/conv1_relu"
top: "/res3/conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
bias_term: true
pad: 0
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "/res3/conv2_relu"
type: "ReLU"
bottom: "/res3/conv2"
top: "/res3/conv2_relu"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "/res3/fc1_globalavgpool"
type: "Pooling"
bottom: "/res3/conv2_relu"
top: "/res3/fc1_globalavgpool"
pooling_param {
pool: AVE
stride: 1
pad: 0
engine: CAFFE
global_pooling: true
}
}
layer {
name: "/res3/fc1"
type: "InnerProduct"
bottom: "/res3/fc1_globalavgpool"
top: "/res3/fc1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 16
weight_filler {
type: "msra"
}
bias_filler {
value: 0
}
}
}
layer {
name: "/res3/fc1_relu"
type: "ReLU"
bottom: "/res3/fc1"
top: "/res3/fc1_relu"
}
layer {
name: "/res3/fc2"
type: "InnerProduct"
bottom: "/res3/fc1_relu"
top: "/res3/fc2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 64
weight_filler {
type: "msra"
}
bias_filler {
value: 0
}
}
}
layer {
name: "/res3/fc2_sigmoid"
type: "Sigmoid"
bottom: "/res3/fc2"
top: "/res3/fc2_sigmoid"
}
layer {
name: "/res3/crop"
type: "CropCenter"
bottom: "/res2/axpy"
top: "/res3/crop"
crop_center_param {
crop_size: 0
crop_size: 0
crop_size: 2
crop_size: 2
}
}
layer {
name: "/res3/axpy"
type: "Axpy"
bottom: "/res3/fc2_sigmoid"
bottom: "/res3/conv2_relu"
bottom: "/res3/crop"
top: "/res3/axpy"
}
layer {
name: "/res4/conv1"
type: "Convolution"
bottom: "/res3/axpy"
top: "/res4/conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
bias_term: true
pad: 0
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "/res4/conv1_relu"
type: "ReLU"
bottom: "/res4/conv1"
top: "/res4/conv1_relu"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "/res4/conv2"
type: "Convolution"
bottom: "/res4/conv1_relu"
top: "/res4/conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
bias_term: true
pad: 0
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "/res4/conv2_relu"
type: "ReLU"
bottom: "/res4/conv2"
top: "/res4/conv2_relu"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "/res4/fc1_globalavgpool"
type: "Pooling"
bottom: "/res4/conv2_relu"
top: "/res4/fc1_globalavgpool"
pooling_param {
pool: AVE
stride: 1
pad: 0
engine: CAFFE
global_pooling: true
}
}
layer {
name: "/res4/fc1"
type: "InnerProduct"
bottom: "/res4/fc1_globalavgpool"
top: "/res4/fc1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 16
weight_filler {
type: "msra"
}
bias_filler {
value: 0
}
}
}
layer {
name: "/res4/fc1_relu"
type: "ReLU"
bottom: "/res4/fc1"
top: "/res4/fc1_relu"
}
layer {
name: "/res4/fc2"
type: "InnerProduct"
bottom: "/res4/fc1_relu"
top: "/res4/fc2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 64
weight_filler {
type: "msra"
}
bias_filler {
value: 0
}
}
}
layer {
name: "/res4/fc2_sigmoid"
type: "Sigmoid"
bottom: "/res4/fc2"
top: "/res4/fc2_sigmoid"
}
layer {
name: "/res4/crop"
type: "CropCenter"
bottom: "/res3/axpy"
top: "/res4/crop"
crop_center_param {
crop_size: 0
crop_size: 0
crop_size: 2
crop_size: 2
}
}
layer {
name: "/res4/axpy"
type: "Axpy"
bottom: "/res4/fc2_sigmoid"
bottom: "/res4/conv2_relu"
bottom: "/res4/crop"
top: "/res4/axpy"
}
layer {
name: "/res5/conv1"
type: "Convolution"
bottom: "/res4/axpy"
top: "/res5/conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
bias_term: true
pad: 0
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "/res5/conv1_relu"
type: "ReLU"
bottom: "/res5/conv1"
top: "/res5/conv1_relu"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "/res5/conv2"
type: "Convolution"
bottom: "/res5/conv1_relu"
top: "/res5/conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
bias_term: true
pad: 0
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "/res5/conv2_relu"
type: "ReLU"
bottom: "/res5/conv2"
top: "/res5/conv2_relu"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "/res5/fc1_globalavgpool"
type: "Pooling"
bottom: "/res5/conv2_relu"
top: "/res5/fc1_globalavgpool"
pooling_param {
pool: AVE
stride: 1
pad: 0
engine: CAFFE
global_pooling: true
}
}
layer {
name: "/res5/fc1"
type: "InnerProduct"
bottom: "/res5/fc1_globalavgpool"
top: "/res5/fc1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 16
weight_filler {
type: "msra"
}
bias_filler {
value: 0
}
}
}
layer {
name: "/res5/fc1_relu"
type: "ReLU"
bottom: "/res5/fc1"
top: "/res5/fc1_relu"
}
layer {
name: "/res5/fc2"
type: "InnerProduct"
bottom: "/res5/fc1_relu"
top: "/res5/fc2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 64
weight_filler {
type: "msra"
}
bias_filler {
value: 0
}
}
}
layer {
name: "/res5/fc2_sigmoid"
type: "Sigmoid"
bottom: "/res5/fc2"
top: "/res5/fc2_sigmoid"
}
layer {
name: "/res5/crop"
type: "CropCenter"
bottom: "/res4/axpy"
top: "/res5/crop"
crop_center_param {
crop_size: 0
crop_size: 0
crop_size: 2
crop_size: 2
}
}
layer {
name: "/res5/axpy"
type: "Axpy"
bottom: "/res5/fc2_sigmoid"
bottom: "/res5/conv2_relu"
bottom: "/res5/crop"
top: "/res5/axpy"
}
layer {
name: "/conv_bridge"
type: "Convolution"
bottom: "/res5/axpy"
top: "/conv_bridge"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
bias_term: true
pad: 0
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "/conv_bridge_relu"
type: "ReLU"
bottom: "/conv_bridge"
top: "/conv_bridge_relu"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "/crop"
type: "CropCenter"
bottom: "/conv_pre_relu"
top: "/crop"
crop_center_param {
crop_size: 0
crop_size: 0
crop_size: 11
crop_size: 11
}
}
layer {
name: "/add"
type: "Eltwise"
bottom: "/conv_bridge_relu"
bottom: "/crop"
top: "/add"
}
layer {
name: "/conv_post"
type: "Deconvolution"
bottom: "/add"
top: "/conv_post"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 3
bias_term: false
pad: 3
kernel_size: 4
stride: 2
weight_filler {
type: "msra"
}
}
}