我正在實施Identity Mappings in Deep Residual Networks。設置Caffe中的BatchNorm圖層?
conv-->BatchNorm-->ReLU
正如我所知,BN通常之後是尺度層和用於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
,我需要將它裁剪到32x32x32
以供給網絡有限的GPU。由於
這是我目前BatchNorm +縮放層
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
}
}
}
謝謝。但它不回答我的問題。我的問題是,如果我們在開發/測試階段設置use_global_stats = false,那麼它是正確的嗎? – user3051460