AIStudio PaddleDetection Picodet 增量训练自己数据

2023-10-13 17:30

本文主要是介绍AIStudio PaddleDetection Picodet 增量训练自己数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 拷贝PaddleDetection

https://gitee.com/paddlepaddle/PaddleDetection.git

2 安装依赖

pip install -r requirements.txt 

3 Vott制作自己的数据,导出VOC格式

 4 修改配置文件

configs/picodet/picodet_s_320_coco_lcnet.yml 

_BASE_: ['../datasets/voc.yml',   -->指定voc格式数据配置'../runtime.yml','_base_/picodet_v2.yml','_base_/optimizer_300e.yml','_base_/picodet_320_reader.yml',
]
use_gpu: false
pretrain_weights: /xxx/xxx -->指定训练好的权重文件
weights: output/picodet_s_320_coco_lcnet/best_model/best_model
find_unused_parameters: True
use_ema: true
epoch: 300
snapshot_epoch: 10LCNet:scale: 0.75feature_maps: [3, 4, 5]LCPAN:out_channels: 96PicoHeadV2:conv_feat:name: PicoFeatfeat_in: 96feat_out: 96num_convs: 2num_fpn_stride: 4norm_type: bnshare_cls_reg: Trueuse_se: Truefeat_in_chan: 96TrainReader:batch_size: 64LearningRate:base_lr: 0.32schedulers:- !CosineDecaymax_epochs: 300- !LinearWarmupstart_factor: 0.1steps: 300

 configs/datasets/voc.yml 

metric: VOC
map_type: 11point
num_classes: 1TrainDataset:!VOCDataSetdataset_dir: /opt/code/ys7/cmd/pic/voc-PascalVOC-exportanno_path: ImageSets/Main/person_train.txtlabel_list: pascal_label_map.pbtxtdata_fields: ['image', 'gt_bbox','gt_class']EvalDataset:!VOCDataSetdataset_dir: dataset/vocanno_path: ImageSets/Main/person_val.txtlabel_list: pascal_label_map.pbtxtdata_fields: ['image', 'gt_bbox','gt_class']TestDataset:!ImageFolderanno_path: dataset/voc/label_list.txt

4 修改数据Loader

ppdet/data/source/voc.py

       with open(anno_path, 'r') as fr:while True:line = fr.readline()if not line:breakimg_file, xml_file = [os.path.join(image_dir, x) \for x in line.strip().split()[:2]]

修改为:

        with open(anno_path, 'r') as fr:while True:line = fr.readline()if not line:breakl =  line.strip().split()[0]img_file = os.path.join(image_dir+"JPEGImages/", l)xml_file = os.path.join(image_dir+"Annotations/", l).replace(".jpeg",".xml")

5 执行训练

python tools/train.py -c   configs/picodet/picodet_s_320_coco_lcnet.yml

6 转换推理模型

python tools/export_model.py -c configs/picodet/picodet_s_320_coco_lcnet.yml --output_dir=./picodet_320

7 转换移动版推理模型

/opt/code/Paddle-Lite/build.opt/lite/api/opt --model_dir=picodet_320/picodet_s_320_coco_lcnet --valid_targets=arm --optimize_out_type=naive_buffer --optimize_out=picodet_320_lite

这篇关于AIStudio PaddleDetection Picodet 增量训练自己数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/204796

相关文章

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1