linux下配置运行MobileNet-SSD,并训练自己数据集

前提是已配置运行好SSD,未配置请参考博客:https://blog.csdn.net/ly_twt/article/details/105787871

一、demo测试

1、

cd /xxx/SSD/caffe/examples
git clone https://github.com/chuanqi305/MobileNet-SSD.git

2、修改demo.py,如下:

(注:MobileNetSSD_deploy.prototxt和MobileNetSSD_deploy.caffemodel需要下载,可联系我)

3、运行demo.py

python2 ./demo.py

运行后会出现检测结果图。

如果能够顺利运行demo,则继续进行下一步训练。

二、训练(以pascal voc数据集为例)

(在配置运行SSD时已经准备好数据,请参考:https://blog.csdn.net/ly_twt/article/details/105787871

注:/data/VOC0712/labelmap_voc.prototxt中的类别信息根据自己的类别进行修改。

1、cd到/examples/MobileNet-SSD下执行

./gen_model.sh NUM
# NUM = 类别数+1

运行后,在/examples/MobileNet-SSD中会生成一个example文件夹,里面有MobileNetSSD_train.prototxt、MobileNetSSD_test.prototxt和MobileNetSSD_deploy.prototxt三个文件。

2、修改prototxt文件

①在MobileNetSSD_train.prototxt、MobileNetSSD_test.prototxt中,将data_param层里的source值改写成项目实际lmdb的绝对路径。

②在MobileNetSSD_train.prototxt、MobileNetSSD_test.prototxt中,将data_param层里label_map_file的值改成labelmap的绝对路径。

③检查prototxt文件中的num_classes是否为你的类别数目+1。

3、开始训练

cd到/examples/MobileNet-SSD下执行

./train.sh

******可以修改solver_train.prototxt中的一些参数,比如迭代次数等。

三、测试

①(数据集中的测试集测试)

cd到/examples/MobileNet-SSD下执行

./test.sh

②(数据集之外的图片测试)

在训练结束后,在snapshot文件夹中会保存训练的模型。

修改/examples/MobileNet-SSD/merge_bn.py

(1)

修改merge_bn.py:

caffe_root修改成你自己的路径:

以下为生成的.caffemodel和.prototxt文件的名字,可以自行修改:

(2)

cd到/examples/MobileNet-SSD下执行以生成

python2 ./merge_bn.py --weights ./snapshot/xxxx.caffemodel --model ./example/MobileNetSSD_deploy.prototxt 
# 其中,--weights是你选择的训练好的模型

(merge_bn.py 合并bn层脚本,用于生成最终的caffemodel(因为mobilenet有两个层最后需要合并才能得到deploy.caffemodel))

运行结束后,在MobileNet-SSD中会生成no_bn.caffemodel和no_bn.prototxt两个文件。

(3)在images文件夹中放入需要检测的图片。

(4)修改demo.py文件中的net_file和caffe_model分别为no_bn.caffemodel和no_bn.prototxt。

运行demo.py获得检测结果。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值