SSD算法的MXNet实现

跑demo 
2.1 先拉取mxnet-ssd项目

git clone --recursive https://github.com/zhreshold/mxnet-ssd.git
  •  

拉取下来的项目默认名称为mxnet-ssd

2.2 下载训练好的ssd模型 
下载地址 
下载成功后,把.params文件和.json文件放在项目的model文件夹下,如下图:

这里写图片描述

2.3 运行demo

cd /path/to/mxnet-ssd
python demo.py --gpu 0
  •  

3、训练模型 
3.1、下载数据集 
这里以pascal VOC数据集为例,先在命令行进入到你要存放数据集的文件夹,然后命令行输入:

wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
  •  

解压

tar -xvf VOCtrainval_11-May-2012.tar
tar -xvf VOCtrainval_06-Nov-2007.tar
tar -xvf VOCtest_06-Nov-2007.tar
  •  

这里将用VOCtrainval2007和VOCtrainval2012作为训练集(VOC2007的trainval一共有5011张图像,VOC2012的trainval一共有11540张图像,因此训练的图像一共有16551张),将VOCtest2007作为测试集(VOC2007的test一共有4952张图像,也就是测试的图像一共有4952张)。因此最后数据的存放路径大概是这样:

~/VOCdevkit/VOC2007
~/VOCdevkit/VOC2012
  •  

然后用一个链接将你存放数据的地方链接到ssd项目的data文件夹下,命令行输入:

ln -s /path/to/VOCdevkit /path/to/this_example/data/VOCdevkit
  •  

比如我将VOC数据集放在/home/data/VOCdevkit/下,ssd项目在/home/project/mxnet-ssd/下,那么就要输入:

ln -s /home/data/VOCdevkit /home/project/mxnet-ssd/data/VOCdevkit
  •  

这样在mxnet-ssd/data/文件夹下就会有这个:

这里写图片描述

最后我们要生成.lst.rec文件: 
先在命令行进入mxnet-ssdtools文件夹下,然后运行:

sh prepare_pascal.sh
  •  

生成的.lst.rec文件在mxnet-ssd/data/文件夹下:

这里写图片描述

3.2、下载预训练的vgg16_reduced模型 
下载地址 
解压后将.params.json文件放在mxnet-ssd/model/文件夹下。

3.3、训练模型 
mxnet-ssd目录下运行:

python train.py
  •  

如果你需要修改一些参数,可以在后面加上,比如:

python train.py --gpus 0,1 --batch-size 32 --lr 0.001
  •  

具体参数可以看train.py这个脚本。 
贴一张正在训练的模型的输出:

From: https://blog.csdn.net/u014380165/article/details/78219584

猜你喜欢

转载自blog.csdn.net/tony2278/article/details/81943654