【发布时间】:2017-07-25 08:43:10
【问题描述】:
我正在实施Identity Mappings in Deep Residual Networks。
conv-->BatchNorm-->ReLU
据我所知,BN 后面经常跟 Scale 层,用in_place=True 来节省内存。我没有使用当前的 caffe 版本,我使用的是 3D UNet caffe,因此,我遵循 website 中的设置。我发现,use_global_stats: false 用于 TRAIN,use_global_stats: true 用于验证和部署。但是,当我在部署中使用use_global_stats: true 时,结果很差(~30% 准确度)。如果参数设置为false,结果变好(80%准确率)。我可以在部署中设置use_global_stats: true 吗?我正在使用大小为256x128x256 的体积数据,由于GPU 有限,我需要将其裁剪为32x32x32 以提供给网络。谢谢
这是我当前的 BatchNorm +Scale 图层
layer {
name: "bnorm1"
type: "BatchNorm"
bottom: "conv1"
top: "conv1"
param {
lr_mult: 0
}
param {
lr_mult: 0
}
param {
lr_mult: 0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.999
eps: 1e-05
}
}
layer {
name: "scale1"
type: "Scale"
bottom: "conv1"
top: "conv1"
scale_param {
axis: 1
filler {
type: "constant"
value: 1
}
bias_term: true
bias_filler {
type: "constant"
value: 0
}
}
}
【问题讨论】:
标签: machine-learning neural-network deep-learning caffe