faster r-cnn 在CPU配置下训练自己的数据
因为没有GPU,所以在CPU下训练自己的数据,中间遇到了各种各样的坑,还好没有放弃,特以此文记录此过程。
1、在CPU下配置faster r-cnn,参考博客:http://blog.csdn.net/wjx2012yt/article/details/52197698#quote
2、在CPU下训练数据集,需要对py-faster-rcnn内的roi_pooling_layer和smooth_L1_loss_layer改为CPU版本,
并重新编译。这位博主对其进行了修改,可直接进行替换:http://blog.csdn.net/qq_14975217/article/details/51495844
3、制作自己的VOC数据集,这部分参考博客:http://blog.csdn.net/gvfdbdf/article/details/52214008
4、为防止与之前的模型搞混,训练前把output文件夹删除(或改个其他名),还要把py-faster-rcnn/data/cache中的文件和
py-faster-rcnn/data/VOCdevkit2007/annotations_cache中的文件删除(如果有的话)。
5、训练前的修改。我的数据集是检测监控视频中的人,因此只有背景和人两类。按着这篇博客进行修改就行了:
http://blog.csdn.net/sinat_30071459/article/details/51332084
还要修改py-faster-rcnn/models/pascal_voc/ZF/faster_rcnn_alt_opt中的solve文件设置,包括stepsize,base_lr,
否则训练时很容易出现loss=-nan的情况
6、在py-faster-rcnn中训练
./experiments/scripts/faster_rcnn_alt_opt.sh 0 ZF pascal_voc
7、测试
将训练得到的py-faster-rcnn\output\faster_rcnn_alt_opt\***_trainval中ZF的caffemodel拷贝至
py-faster-rcnn\data\faster_rcnn_models,修改py-faster-rcnn\tools\demo.py(主要是类别的修改
和测试图片的修改)。运行
python demo.py --cpu
8、结果
可能是我数据量太少且质量不好(1000张),训练次数不够(1000×4),检测效果不太好,在默认阈值下检测不出来。
当把demo.py中的CONF_THRESH降低到0.1时才检测出来一张,且速度很慢,大概13秒一张,效果一般。
我将训练次数增加到了(10000,5000,10000,5000),跑了一天,结果没有任何改善。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架