Trialfasterrcnn

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都是随机初始化的, 会不会头尾太不均衡了, 现在看起来好像影响不是很大.

原文地址:https://www.cnblogs.com/MTandHJ/p/15675536.html