caffe-ssd训练自己的数据集
环境配置网上有很多教程,开源的数据集的训练方法按照官方网站来就可以,一般环境配置没出现什么问题,开源的数据集的训练和测试也就没有多大问题。下面写的是训练自己的数据集的一些步骤:
1.cd caffe-ssd/data/VOCdevkit目录下新建一个空文件夹,mkdir Mydataset
2. cd Mydataset,在该目录下分别新建三个文件夹,mkdir Annotations,mkdir JPEGImages,mkdir ImageSets,其中 Annotations存放训练需要用到的xml文件,JPEGImages存放训练需要用到的图片
3.cd ImageSets,mkdir Main
4.创建完成后将 jpg 和 xml 文件放入对应目录下。然后使用 python 脚本划分一下训练集和测试集。
5.cd caffe-ssd/data/,新建Mydataset,并执行下面命令:
6.修改labelmap_voc.prototxt,在其中设置自己的类别,其中不能改变的是背景类:
7.修改create_list.sh将路径修改为自己的路径,并将
# if [[ $dataset == "test" && $name == "VOC2012" ]]
#then
# continue
#fi
注释
8 修改create_data.sh
9.都修改好运行脚本,生成LMDB,进入caffe目录
./data/Mydataset/create_list.sh
./data/Mydataset/create_data.sh
10.修改ssd_pascal.py开始训练:
11.保存,运行python examples/ssd/ssd_pascal.py,出现如下结果就开始正常训练了
开始训练的时候,就出现loss=nan的情况,在solver.prototxt中将base_lr调小,训练就正常了