1
0
Fork 0
mirror of synced 2024-05-21 13:22:20 +12:00
waifu2x/appendix/caffe_prototxt/cunet.prototxt
2018-11-14 06:26:24 +09:00

795 lines
12 KiB
Plaintext

layer {
name: "input"
type: "Input"
top: "Input1"
input_param {
shape {
dim: 1
dim: 3
dim: 312
dim: 312
}
}
}
layer {
name: "Convolution1"
type: "Convolution"
bottom: "Input1"
top: "Convolution1"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU1"
type: "ReLU"
bottom: "Convolution1"
top: "Convolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution2"
type: "Convolution"
bottom: "Convolution1"
top: "Convolution2"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU2"
type: "ReLU"
bottom: "Convolution2"
top: "Convolution2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution3"
type: "Convolution"
bottom: "Convolution2"
top: "Convolution3"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU3"
type: "ReLU"
bottom: "Convolution3"
top: "Convolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution4"
type: "Convolution"
bottom: "Convolution3"
top: "Convolution4"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU4"
type: "ReLU"
bottom: "Convolution4"
top: "Convolution4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution5"
type: "Convolution"
bottom: "Convolution4"
top: "Convolution5"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU5"
type: "ReLU"
bottom: "Convolution5"
top: "Convolution5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling1"
type: "Pooling"
bottom: "Convolution5"
top: "Pooling1"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution6"
type: "Convolution"
bottom: "Pooling1"
top: "Convolution6"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU6"
type: "ReLU"
bottom: "Convolution6"
top: "Convolution6"
}
layer {
name: "Convolution7"
type: "Convolution"
bottom: "Convolution6"
top: "Convolution7"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid1"
type: "Sigmoid"
bottom: "Convolution7"
top: "Convolution7"
}
layer {
name: "Flatten1"
type: "Flatten"
bottom: "Convolution7"
top: "Flatten1"
}
layer {
name: "Scale1"
type: "Scale"
bottom: "Convolution5"
bottom: "Flatten1"
top: "Scale1"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution1"
type: "Deconvolution"
bottom: "Scale1"
top: "Deconvolution1"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU7"
type: "ReLU"
bottom: "Deconvolution1"
top: "Deconvolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop1"
type: "Crop"
bottom: "Convolution2"
bottom: "Deconvolution1"
top: "Crop1"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise1"
type: "Eltwise"
bottom: "Crop1"
bottom: "Deconvolution1"
top: "Eltwise1"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution8"
type: "Convolution"
bottom: "Eltwise1"
top: "Convolution8"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU8"
type: "ReLU"
bottom: "Convolution8"
top: "Convolution8"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution9"
type: "Convolution"
bottom: "Convolution8"
top: "Convolution9"
convolution_param {
num_output: 3
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "Convolution10"
type: "Convolution"
bottom: "Convolution9"
top: "Convolution10"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU9"
type: "ReLU"
bottom: "Convolution10"
top: "Convolution10"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution11"
type: "Convolution"
bottom: "Convolution10"
top: "Convolution11"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU10"
type: "ReLU"
bottom: "Convolution11"
top: "Convolution11"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution12"
type: "Convolution"
bottom: "Convolution11"
top: "Convolution12"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU11"
type: "ReLU"
bottom: "Convolution12"
top: "Convolution12"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution13"
type: "Convolution"
bottom: "Convolution12"
top: "Convolution13"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU12"
type: "ReLU"
bottom: "Convolution13"
top: "Convolution13"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution14"
type: "Convolution"
bottom: "Convolution13"
top: "Convolution14"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU13"
type: "ReLU"
bottom: "Convolution14"
top: "Convolution14"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling2"
type: "Pooling"
bottom: "Convolution14"
top: "Pooling2"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution15"
type: "Convolution"
bottom: "Pooling2"
top: "Convolution15"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU14"
type: "ReLU"
bottom: "Convolution15"
top: "Convolution15"
}
layer {
name: "Convolution16"
type: "Convolution"
bottom: "Convolution15"
top: "Convolution16"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid2"
type: "Sigmoid"
bottom: "Convolution16"
top: "Convolution16"
}
layer {
name: "Flatten2"
type: "Flatten"
bottom: "Convolution16"
top: "Flatten2"
}
layer {
name: "Scale2"
type: "Scale"
bottom: "Convolution14"
bottom: "Flatten2"
top: "Scale2"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Convolution17"
type: "Convolution"
bottom: "Scale2"
top: "Convolution17"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU15"
type: "ReLU"
bottom: "Convolution17"
top: "Convolution17"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution18"
type: "Convolution"
bottom: "Convolution17"
top: "Convolution18"
convolution_param {
num_output: 256
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU16"
type: "ReLU"
bottom: "Convolution18"
top: "Convolution18"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution19"
type: "Convolution"
bottom: "Convolution18"
top: "Convolution19"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU17"
type: "ReLU"
bottom: "Convolution19"
top: "Convolution19"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling3"
type: "Pooling"
bottom: "Convolution19"
top: "Pooling3"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution20"
type: "Convolution"
bottom: "Pooling3"
top: "Convolution20"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU18"
type: "ReLU"
bottom: "Convolution20"
top: "Convolution20"
}
layer {
name: "Convolution21"
type: "Convolution"
bottom: "Convolution20"
top: "Convolution21"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid3"
type: "Sigmoid"
bottom: "Convolution21"
top: "Convolution21"
}
layer {
name: "Flatten3"
type: "Flatten"
bottom: "Convolution21"
top: "Flatten3"
}
layer {
name: "Scale3"
type: "Scale"
bottom: "Convolution19"
bottom: "Flatten3"
top: "Scale3"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution2"
type: "Deconvolution"
bottom: "Scale3"
top: "Deconvolution2"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU19"
type: "ReLU"
bottom: "Deconvolution2"
top: "Deconvolution2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop2"
type: "Crop"
bottom: "Scale2"
bottom: "Deconvolution2"
top: "Crop2"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise2"
type: "Eltwise"
bottom: "Crop2"
bottom: "Deconvolution2"
top: "Eltwise2"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution22"
type: "Convolution"
bottom: "Eltwise2"
top: "Convolution22"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU20"
type: "ReLU"
bottom: "Convolution22"
top: "Convolution22"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution23"
type: "Convolution"
bottom: "Convolution22"
top: "Convolution23"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU21"
type: "ReLU"
bottom: "Convolution23"
top: "Convolution23"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling4"
type: "Pooling"
bottom: "Convolution23"
top: "Pooling4"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution24"
type: "Convolution"
bottom: "Pooling4"
top: "Convolution24"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU22"
type: "ReLU"
bottom: "Convolution24"
top: "Convolution24"
}
layer {
name: "Convolution25"
type: "Convolution"
bottom: "Convolution24"
top: "Convolution25"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid4"
type: "Sigmoid"
bottom: "Convolution25"
top: "Convolution25"
}
layer {
name: "Flatten4"
type: "Flatten"
bottom: "Convolution25"
top: "Flatten4"
}
layer {
name: "Scale4"
type: "Scale"
bottom: "Convolution23"
bottom: "Flatten4"
top: "Scale4"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution3"
type: "Deconvolution"
bottom: "Scale4"
top: "Deconvolution3"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU23"
type: "ReLU"
bottom: "Deconvolution3"
top: "Deconvolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop3"
type: "Crop"
bottom: "Convolution11"
bottom: "Deconvolution3"
top: "Crop3"
crop_param {
axis: 2
offset: 16
}
}
layer {
name: "Eltwise3"
type: "Eltwise"
bottom: "Crop3"
bottom: "Deconvolution3"
top: "Eltwise3"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution26"
type: "Convolution"
bottom: "Eltwise3"
top: "Convolution26"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU24"
type: "ReLU"
bottom: "Convolution26"
top: "Convolution26"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution27"
type: "Convolution"
bottom: "Convolution26"
top: "Convolution27"
convolution_param {
num_output: 3
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "Crop4"
type: "Crop"
bottom: "Convolution9"
bottom: "Convolution27"
top: "Crop4"
crop_param {
axis: 2
offset: 20
}
}
layer {
name: "Eltwise4"
type: "Eltwise"
bottom: "Crop4"
bottom: "Convolution27"
top: "Eltwise4"
eltwise_param {
operation: SUM
}
}