PaddleDection运行
PaddleDection的使用
训练自己的训练集所需的配置修改
- 选择适合的模型,这里以yolov3_mobilenet_v1_roadsign.yml为例
- 修改文件中指明的配置文件roadsign_voc.yml,其他的模型也类似,所有有关于数据的配置文件都放与/configs/datasets下,这里需要修改的是
- num_classes,也就是自己数据集的种类数,部分模型把背景也当做一类,ssd
- dataset_dir, anno_path修改成自己数据集和数据.txt文件所在目录
- 修改runtime.yml,其放与/configs下,即是所有模型公用的配置,主要是
- use_gpu(使不使用gpu)
- log_iter(打印日志的间隔)
- 修改_base_/optimizer_40e.yml,这是每个模型独有的,主要设置
- epoch(训练轮数, 文件名字40e所代表的就是训练40轮)
- base_lr(学习率) 官方给出的都是8卡训练,在自己本地训练最好除以8
- 修改_base_/yolov3_mobilenet_v1.yml,这里有预训练权重,以及yolov3的anchors值需要修改(依据官方提供的py文件得到适合于自训练集的anchors值)
- 修改_base_/yolov3_reader.yml,这里主要修改训练,测试时的bathch_sizes,同样这里有anchors需要修改,在本地或者性能不好的服务器上运行时需要适当降低batch_sizes的值,否则容易爆内存
得到anchors值,在文件根目录执行 python tools\anchor_cluster.py -c .\configs\yolov3\yolov3_mobilenet_v1_roadsign.yml
训练文件根目录运行 python tools\train.py -c .\configs\yolov3\yolov3_mobilenet_v1_roadsign.yml --eval
--eval是实时评估训练,而不是等到训练结束后自己运行eval.py脚本来实现评估模型。
若需要实时显示loss值等可以使用paddle提供的visualdl,具体使用方法见官方文档paddleDection官方文档,其实它就是把运行过程中的记录下来,然后在运行软件可视化。
就自己的训练任务来说,不知道为什么训练效果不甚理想,同时我们同组的想要修改其中的骨架网络进行创新,但我真是无从下手这么庞大的项目。网上也并没有这样的示例,仅仅都是什么训练自己的训练集这些入门使用的博客。唉,可真是有点难为我了。
在我训练时还遇到了***/voc.yml下的difficult出错,同时在github上也有人遇到了同样的问题,但没有解决,只是简单的吧difficult有关的行进行了注释。
至此可以进行训练,但是由于本人对paddleDection的了解也并不多,所以上面难免有问题,但由于课程需要,之后随着学习将会更正并完善以上。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律