Trial-faster-rcnn
motivation
试一下faster rcnn的代码, 主要想看看backbone训练一部分好呢还是全部都训练好呢?
实验设置
Attribute | Value |
---|---|
backbone | resnet50 |
batch_size | 2 |
batch_size_per_image | 256 |
benchmark | True |
beta1 | 0.9 |
beta2 | 0.999 |
dataset | voc2012 |
description | FasterRCNNTrain=300-500-1024-5=default-sgd-0.005-0.0005=2=default |
epochs | 15 |
eval_freq | 5 |
eval_train | False |
eval_valid | True |
featmap_names | 1,2,3,4 |
learning_policy | default |
log2console | True |
log2file | True |
log_path | ./logs/FasterRCNNTrain/voc2012-resnet50/FasterRCNNTrain=300-500-1024-5=default-sgd-0.005-0.0005=2=default-121022 |
lr | 0.005 |
max_size | 500 |
min_size | 300 |
momentum | 0.9 |
optimizer | sgd |
pretrained_name | paras.pt |
pretrained_path | E:\dfk\pre_trained_backbones\resnet50 |
progress | False |
representation_size | 1024 |
resume | False |
seed | 1 |
trainable_stages | 0 |
transform | default |
weight_decay | 0.0005 |
实验结果
trainable_stages | map(0.5) | map(0.75) |
---|---|---|
0 | 0.6925 | 0.2299 |
3 | 0.7385 | 0.3368 |
5 | 0.7277 | 0.3719 |
看来全部不训练是不行的, 还是微调一下比较好.
就是有一个问题, 我现在的与训练部分是backbone, 如果和官方代码一样用faster rcnn的预训练结果是否也是如此.
我最初怀疑可能全部都训练可能不会太好的原因是, backbone是预训练过的, 但是后面的RPN, ROI都是随机初始化的, 会不会头尾太不均衡了, 现在看起来好像影响不是很大.