UpResNet10モデル追加

モデルはwaifu2x-chainer v1.9.0のもの
This commit is contained in:
lltcggie 2018-10-25 03:44:27 +09:00
parent c8090a6486
commit b280d34413
22 changed files with 4544 additions and 0 deletions

View File

@ -31,6 +31,7 @@
"IDC_RADIO_MODEL_RGB":"2D 插图 — RGB 模型",
"IDC_RADIO_MODEL_PHOTO":"照片或动画 — Photo 模型",
"IDC_RADIO_MODEL_Y":"2D 插图 — Y 模型",
"IDC_RADIO_MODEL_UpResNet10":"2D 插图 — UpResNet10",
"IDC_CHECK_TTA":"TTA 模式",
"IDC_STATIC_PROCESS_SPEED_SETTING":"处理速度设置",
"IDC_STATIC_PROCESSOR":"处理器",

View File

@ -30,6 +30,7 @@
"IDC_RADIO_MODEL_RGB":"二次元插圖RGB 模式)",
"IDC_RADIO_MODEL_PHOTO":"照片和動畫Photo 模式)",
"IDC_RADIO_MODEL_Y":"二次元插圖Y 模式)",
"IDC_RADIO_MODEL_UpResNet10":"二次元插圖UpResNet10",
"IDC_CHECK_TTA":"使用 TTA 模式",
"IDC_STATIC_PROCESS_SPEED_SETTING":"處理速度設定",
"IDC_STATIC_PROCESSOR":"使用處理器",

View File

@ -31,6 +31,7 @@
"IDC_RADIO_MODEL_RGB":"2-D illust (RGB Model)",
"IDC_RADIO_MODEL_PHOTO":"Photography, Anime",
"IDC_RADIO_MODEL_Y":"2-D illust (Y Model)",
"IDC_RADIO_MODEL_UpResNet10":"2-D illust (UpResNet10)",
"IDC_CHECK_TTA":"Use TTA Mode",
"IDC_STATIC_PROCESS_SPEED_SETTING":"Processing Speed Settings",
"IDC_STATIC_PROCESSOR":"Use Processor",

View File

@ -31,6 +31,7 @@
"IDC_RADIO_MODEL_RGB":"Illustration 2D (modèle RGB)",
"IDC_RADIO_MODEL_PHOTO":"Photo & animé (modèle Photo)",
"IDC_RADIO_MODEL_Y":"Illustration 2D (modèle Y)",
"IDC_RADIO_MODEL_UpResNet10":"Illustration 2D (UpResNet10)",
"IDC_CHECK_TTA":"Utiliser mode TTA",
"IDC_STATIC_PROCESS_SPEED_SETTING":"Vitesse de traitement",
"IDC_STATIC_PROCESSOR":"Utiliser le processeur",

View File

@ -31,6 +31,7 @@
"IDC_RADIO_MODEL_RGB":"2次元イラスト (RGBモデル)",
"IDC_RADIO_MODEL_PHOTO":"写真・アニメ (Photoモデル)",
"IDC_RADIO_MODEL_Y":"2次元イラスト (Yモデル)",
"IDC_RADIO_MODEL_UpResNet10":"2次元イラスト (UpResNet10)",
"IDC_CHECK_TTA":"TTAモードを使う",
"IDC_STATIC_PROCESS_SPEED_SETTING":"処理速度設定",
"IDC_STATIC_PROCESSOR":"使用プロセッサー",

View File

@ -31,6 +31,7 @@
"IDC_RADIO_MODEL_RGB":"2D 일러스트 (RGB 모델)",
"IDC_RADIO_MODEL_PHOTO":"사진/애니메이션 (Photo 모델)",
"IDC_RADIO_MODEL_Y":"2D 일러스트 (Y 모델)",
"IDC_RADIO_MODEL_UpResNet10":"2D 일러스트 (UpResNet10)",
"IDC_CHECK_TTA":"TTA 모드 사용",
"IDC_STATIC_PROCESS_SPEED_SETTING":"처리 속도 설정",
"IDC_STATIC_PROCESSOR":"사용할 처리 방식",

View File

@ -31,6 +31,7 @@
"IDC_RADIO_MODEL_RGB":"2D изображ. (Профиль RGB)",
"IDC_RADIO_MODEL_PHOTO":"Фотография, Аниме",
"IDC_RADIO_MODEL_Y":"2D изображ. (Профиль Y)",
"IDC_RADIO_MODEL_UpResNet10":"2D изображ. (UpResNet10)",
"IDC_CHECK_TTA":"В режиме TTA ",
"IDC_STATIC_PROCESS_SPEED_SETTING":"Скорость обработки",
"IDC_STATIC_PROCESSOR":"Устройство обработки",

View File

@ -31,6 +31,7 @@
"IDC_RADIO_MODEL_RGB":"Ilustración 2-D (Modelo RGB)",
"IDC_RADIO_MODEL_PHOTO":"Fotografía, Anime",
"IDC_RADIO_MODEL_Y":"Ilustración 2-D (Modelo Y)",
"IDC_RADIO_MODEL_UpResNet10":"Ilustración 2-D (UpResNet10)",
"IDC_CHECK_TTA":"Utilizar modo TTA",
"IDC_STATIC_PROCESS_SPEED_SETTING":"Procesar configuración de velocidad",
"IDC_STATIC_PROCESSOR":"Utilizar el procesador",

View File

@ -30,6 +30,7 @@
"IDC_RADIO_MODEL_RGB":"2-B çizim (RGB Modeli)",
"IDC_RADIO_MODEL_PHOTO":"Fotoğrafçılık veya Anime",
"IDC_RADIO_MODEL_Y":"2-B çizim (Y Modeli)",
"IDC_RADIO_MODEL_UpResNet10":"2-B çizim (UpResNet10)",
"IDC_CHECK_TTA":"TTA Modu Kullan",
"IDC_STATIC_PROCESS_SPEED_SETTING":"İşleme Hızı Ayarları",
"IDC_STATIC_PROCESSOR":"",

View File

@ -0,0 +1,3 @@
{"name":"UpResNet10","arch_name":"upresnet10","has_noise_scale":true,"channels":3,
"scale_factor":2,"offset":26
}

View File

@ -0,0 +1,904 @@
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"
}
}
}

View File

@ -0,0 +1,904 @@
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"
}
}
}

View File

@ -0,0 +1,904 @@
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"
}
}
}

View File

@ -0,0 +1,904 @@
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"
}
}
}

Binary file not shown.

View File

@ -0,0 +1,904 @@
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"
}
}
}

View File

@ -397,6 +397,11 @@ bool DialogEvent::SyncMember(const bool NotSyncCropSize, const bool silent)
modelType = eModelTypeY;
break;
case 5:
model_dir = TEXT("models/upresnet10");
modelType = eModelTypeUpResNet10;
break;
default:
break;
}
@ -1592,6 +1597,7 @@ void DialogEvent::SetWindowTextLang()
SendMessage(hwndCombo, CB_ADDSTRING, 0, (LPARAM)langStringList.GetString(L"IDC_RADIO_MODEL_RGB").c_str());
SendMessage(hwndCombo, CB_ADDSTRING, 0, (LPARAM)langStringList.GetString(L"IDC_RADIO_MODEL_PHOTO").c_str());
SendMessage(hwndCombo, CB_ADDSTRING, 0, (LPARAM)langStringList.GetString(L"IDC_RADIO_MODEL_Y").c_str());
SendMessage(hwndCombo, CB_ADDSTRING, 0, (LPARAM)langStringList.GetString(L"IDC_RADIO_MODEL_UpResNet10").c_str());
SendMessage(GetDlgItem(dh, IDC_COMBO_MODEL), CB_SETCURSEL, cur, 0);
}
@ -2036,6 +2042,8 @@ void DialogEvent::Create(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData)
index = 3;
else if (modelType == eModelTypeY)
index = 4;
else if (modelType == eModelTypeUpResNet10)
index = 5;
else
index = 0;
@ -2195,6 +2203,7 @@ void DialogEvent::Create(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData)
cmdModelTypeConstraintV.push_back(L"anime_style_art_rgb");
cmdModelTypeConstraintV.push_back(L"photo");
cmdModelTypeConstraintV.push_back(L"anime_style_art_y");
cmdModelTypeConstraintV.push_back(L"upresnet10");
TCLAPW::ValuesConstraint<std::wstring> cmdModelTypeConstraint(cmdModelTypeConstraintV);
TCLAPW::ValueArg<std::wstring> cmdModelType(L"y", L"model_type", L"model type",
false, L"upconv_7_anime_style_art_rgb", &cmdModelTypeConstraint, cmd);
@ -2462,6 +2471,8 @@ void DialogEvent::Create(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData)
index = 3;
else if (cmdModelType.getValue() == L"anime_style_art_y")
index = 4;
else if (cmdModelType.getValue() == L"upresnet10")
index = 4;
else
index = 0;

View File

@ -92,6 +92,7 @@ private:
eModelTypeY,
eModelTypeUpConvRGB,
eModelTypeUpConvPhoto,
eModelTypeUpResNet10,
eModelTypeEnd,
};