RefineDet训练自己的数据
https://github.com/sfzhang15/RefineDet
1、编译安装
cp Makefile.config.example Makefile.config
make all -j4
make pycaffe
2、训练
(1)原作只提供了resnet101,vgg16两种网络,因项目需要,我替换为了小网络。
(2)替换类别,将21替换为自己的类别+1,另外将63(21*3)替换为(cls+1)*3
(3) 修改 test/lib/datasets/pascal_voc.py
(4) 由 自己的数据集创建lmdb
创建VOC格式的数据;
修改create_list.sh;
root_dir=$HOME/RefineDet/data/VOCdevkit sub_dir=ImageSets/Main bash_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" for dataset in trainval test do dst_file=$bash_dir/$dataset.txt if [ -f $dst_file ] then rm -f $dst_file fi for name in VOC0712 do #if [[ $dataset == "test" && $name == "VOC2012" ]] #then # continue #fi
create_data.sh(主要是文件路径) ;
redo=1 data_root_dir="$HOME/RefineDet/data/VOCdevkit" dataset_name="VOC0712" mapfile="$root_dir/data/$dataset_name/labelmap_huogui.prototxt" anno_type="detection"
labelmap_voc替换为自己的类别;
(5) 将生成的相关文件拷贝到examples/VOC0712下面
目测训练很慢。。。
3万多次, loss还是比较大