Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

train.prototxt #45

Closed
foralliance opened this issue Apr 12, 2018 · 1 comment
Closed

train.prototxt #45

foralliance opened this issue Apr 12, 2018 · 1 comment

Comments

@foralliance
Copy link

@sfzhang15 HI

关于使用ResNet的prototxt的几个问题(以内都是选自您refinedet_resnet101_320x320中的train.prototxt):
1.
layer {
name: "conv1"
type: "Convolution"
bottom: "data"
top: "conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 64
bias_term: false
pad: 3
kernel_size: 7
stride: 2
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
在微调时,convolution_param 中的参数 weight_filler 是不是没有用,因为它会被预训练模型覆盖,根本不需要初始化.这里的理解对吗??

layer {
name: "bn_conv1"
type: "BatchNorm"
bottom: "conv1"
top: "conv1"
}

对于BatchNoram层,看网上很多都是如下设置的:
layer {
bottom: "res5c_branch2b"
top: "res5c_branch2b"
name: "bn5c_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
}
 1) 为什么你这里没有这3个默认的param?
 2) use_global_stats在训练时不是为false么,为什么看很多都是true?

为了描述准确,这里用了中文,麻烦了!

@sfzhang15
Copy link
Owner

@foralliance

  1. 是的,那个没用
  2. 我们这里的BN是重新统计的,网上很多BN层是不重新统计,直接使用imagenet统计的BN层信息,原因是每张卡上的图像不够多,我们这里每张卡有8或5张图,BN信息足够稳定,所以就重新统计BN信息,没有使用imagenet统计的BN层信息

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants