paddleocr检测模型训练记录

news2024/11/14 1:06:04

标注好数据集后
分为训练集、测试集
数据集格式需要与配置文件一致,为了方便,我直接使用以下格式。

PaddleOCR主目录下,自己新建文件夹:car_plate_images/images_det
train、test、里面是图片
det_label_test、det_label_train、是标签文件
注意:标注好的标签文件,txt文件内的图片名称前面是不需要路径的,删除多余路径,我才能正常训练。
在这里插入图片描述

在这里插入图片描述
配置文件:
在PaddleOCR主目录下:configs/det/ch_ppocr_v2.0
在这里插入图片描述
打开配置文件,修改以下4个内容:
1.训练后模型存储目录;
2.是否训练可视化;
3.训练数据集图片和标注位置;
4.测试数据集图片和标注位置;
其他参数如pretrained_model等可以在训练时在命令行中指定.其它的看官方文档

ch_det_mv3_db_v2.0.yml_car_plate.yml文件内修改

#训练后模型存储目录
Global:
  use_gpu: true
  epoch_num: 1200
  log_smooth_window: 20
  print_batch_step: 2
  save_model_dir: ./output/ch_ppocr_mobile_v2.0_det/  # 训练后模型存储目录
  use_visualdl: true # 训练可视化是否开启
  
  
#修改训练数据集图片和标注位置
Train:
  dataset:
    name: SimpleDataSet
    data_dir: ./car_plate_images/images_det/train # 修改训练数据集图片位置
    label_file_list:
      - ./car_plate_images/images_det/det_label_train.txt # 修改训练数据集标注位置


#测试数据集图片和标注位置
Eval:
  dataset:
    name: SimpleDataSet
    data_dir: ./car_plate_images/images_det/test  # 修改测试数据集图片位置
    label_file_list:
      - ./car_plate_images/images_det/det_label_test.txt # 修改测试数据集标注

配置文件修改完毕后。

训练后保存位置–新建文件夹:./output/ch_ppocr_mobile_v2.0_det/
在这里插入图片描述

先使用官方的权重文件进行预测一下。
下载地址:https://github.com/PaddlePaddle/PaddleOCR
在这里插入图片描述

在这里插入图片描述
新建文件夹:mode/det
在这里插入图片描述
先预测一下:
预测命令:

python tools/eval.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml" -o Global.checkpoints="./mode/det/ch_ppocr_server_v2.0_det_train/best_accuracy"

训练命令:

python tools/train.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml" -o Global.pretrained_model="./mode/det/ch_ppocr_server_v2.0_det_train/best_accuracy"

参数解释:
-c 是配置文件的路径
-o 是权重文件的路径
预测 -o Global.checkpoints=
训练 -o Global.pretrained_model=
注意这两个不一样。

正在训练:
在这里插入图片描述
训练中产生的模型文件如下:
在这里插入图片描述

断点续训:
-o Global.checkpoints:保存的文件路径

python tools/train.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml" -o Global.pretrained_model="./mode/det/ch_ppocr_server_v2.0_det_train/best_accuracy" -o Global.checkpoints="./output/ch_db_mv3/latest"

使用训练模型–测试1张图
-o Global.infer_img:文件位置

python tools/infer_det.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml"  -o Global.infer_img="./imgs/test_0.jpg" Global.pretrained_model="./output/ch_db_mv3/latest"

使用训练模型–测试文件夹内所有图片
新建文件夹imgs 放测试的图片
-o Global.infer_img:文件夹位置

python tools/infer_det.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml"  -o Global.infer_img="./imgs/" Global.pretrained_model="./output/ch_db_mv3/latest"

训练模型保存为用于部署的推理模型
保存路径:output文件夹内

python tools/export_model.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml" -o Global.pretrained_model="./output/ch_db_mv3/latest" Global.save_inference_dir="./output/"

在这里插入图片描述
使用推理模型–预测命令:
#det_algorithm 检测使用的算法
#det_model_dir 检测模型位置
#image_dir 测试图片路径
#use_gpu 是否使用GPU

python tools/infer/predict_det.py --det_algorithm="DB" --det_model_dir="./output/" --image_dir="./car_plate_images/images_det/test/" --use_gpu=True

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/32769.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python遥感开发之GDAL读写遥感影像

Python遥感开发之GDAL读写遥感影像1 读取tif信息方法一2 读取tif信息方法二3 自己封装读取tif的方法(推荐)4 对读取的tif数据进行简单运算5 写出tif影像(推荐)前言:主要介绍了使用GDAL读写遥感影像数据的操作,包括读取行、列、投影…

基于51单片机霍尔汽车自行车码表测速测里程显示proteus仿真原理图PCB

功能: 0.本系统采用STC89C52作为单片机 1.LCD1602液晶分三种显示模式 a)显示实时速度和本次里程 b)显示当前时间 c)显示报警速度和总里程 2.超过报警速度将声光报警 3.功能按键介绍 a显示状态下: 上’键——电机速度1 下’键——电机速度-1 设置’键——电机启动/暂…

四、【基础】组件实例三大核心属性之一 state

文章目录1、CODE2、Result2.1、初始化2.2、触发更新3、state简写理解: state是组件对象最重要的属性, 值是对象(可以包含多个key-value的组合)组件被称为"状态机", 通过更新组件的state来更新对应的页面显示(重新渲染组件) 注意: 组件中rende…

算法导论习题—摊还时间代价分析、栈实现队列、贪心算法近似比、集合覆盖问题

在执行的nnn个操作中,有至多⌈lgn⌉⌈lg n⌉⌈lgn⌉个操作的次序是222的幂,这些操作的次序(即代价)如下 1,2,4,8,⋅⋅⋅,2⌈lgn⌉1, 2, 4, 8, , 2 ⌈lg n⌉ 1,2,4,8,⋅⋅⋅,2⌈lgn⌉ nnn个操作的总代价为 T∑k0⌈lgn⌉2k(n−⌈…

Android App网络通信中利用okhttp实现下拉刷新和上拉加载实战(抓取文章信息 超详细 附源码)

需要源码和工具类请点赞关注收藏后评论区留言私信~~~ 一、实现下拉刷新和上拉加载功能 网络上的信息很多,往往无法依次拉下来,故而App引入了分页加载功能,最开始先展示第一页内容,等到用户拉到该页底部后再去加载下一页内容&…

网络安全面试、实习、校招经验打包分享

整理收集了近些年的资料 内几乎覆盖了各大公司,大厂小厂都有 很多培训机构都是收费提供 本公众号无任何套路全部免费 提供下载学习 为了防止失效,建议下载收藏起来 以后总会用得上! 下面截取部分资料 腾讯-安全技术实习生 时长&am…

流媒体技术基础-摄像头接口与标准

一、摄像头接口概括 摄像头按接口分类如下 主板直接接的专用接口 SPI接口:串行传输、速度慢。常用用于MCU DVP接口:并口传输,速度较慢,传输的带宽低。 MIPI接口:手机平台标准接口,差分串口传输&#xff…

CSS3基础

CSS 层叠样式表Cascading Style Sheets,缩写为CSS,是一种样式表语言,用来描述HTML或XML(包括如SVG、MathML、XHTML 之类的XML 分支语言)文档的呈现。 CSS描述了在屏幕、纸质、音频等其它媒体上的元素应该如何被渲染的问…

AI 预测世界杯比赛结果,惊掉下巴

哈喽,大家好。 今天看到Kaggle上有一个预测世界杯比赛结果的项目,截至目前 4 场比赛预测结果全中。 今天把源码研究了一下,做了中文注释,给大家分享下。 文章目录技术提升1. 获取数据集2. 特征工程3. 建模4. 预测技术提升 本文…

“软硬兼施”,全方位守护企业数据安全

编者按:知识管理涉及大量企业数据,所以其数据安全问题不容忽视。如何做好企业知识管理安全?本文分析了企业数据安全问题主要来自哪里,并从设备、部署、人员管控三方面出发,最终指出了解决方案。 关键词:私…

ORB-SLAM3算法学习—Frame构造—基于SAD滑窗的双目特征匹配

文章目录0总述1双目匹配1.1为左目每个特征点建立带状区域搜索表,限定搜索区域。(已提前极线校正)1.2对左目相机每个特征点,通过描述子在右目带状搜索区域找到匹配点1.3通过SAD滑窗得到匹配修正量bestincR1.4 做抛物线拟合找谷底得…

力扣刷题(代码回忆录)——回溯算法

关于回溯算法,你该了解这些!回溯算法:组合问题回溯算法:组合问题再剪剪枝回溯算法:求组合总和!回溯算法:电话号码的字母组合本周小结!(回溯算法系列一)回溯算…

变压器励磁电感以及漏感

1 励磁电感(magnetic inductance):脉冲变压器的初级电感 仅在变压器中才出现的名词,也就是一个等效电感值,事实上这个电感是变压器的初级侧电感,作用在其上的电流不会传导到次级,它的作用是拿来对铁芯产生激磁作用,使铁芯内的铁磁分子可以用来导磁,就好比铁芯是磁中性,绕上…

SuperMap iManager for K8S使用XFS文件系统类型出现节点异常解决办法

前段时间,遇到了多个用户在使用iManager for K8S的过程出现K8S节点宕机,或者是使用无法使用任何命令的情况。通过了解之后发现这些客户都存在一个共同点,服务节点的文件系统类型都是XFS,并且使用的NFS作为存储。本篇文章将讲解如何…

窗口函数简介与总结

目录 什么是窗口函数 窗口函数的实现原理 窗口函数使用场景 常用的窗口函数有: 1. 窗口排序函数:ROW_NUMBER()、RANK()、DENSE_RANK(); 2. 窗口聚合函数:SUM()、MIN()、MAX()、AVG(); 3. LAG() 4. LEAD() 5. …

88.Django中间件的说明与使用方法

1. 概述 ​ AOP(Aspect Oriented Programming ),面向切面编程,是对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。可以实现在…

css-实现卡牌的发牌和翻牌动画

场景描述: 打开抽卡界面,卡牌出现并发牌至固定的位置,此时展示的是卡牌的背面;用户点击卡牌时,卡牌进行翻转,并展示卡牌内容,或者发牌后自动进行翻转和展示。 本实例在页面挂载后自动播放动画&…

前端网站动态主题色解决方案

动态主题色替换分两种:UI 组件库主题色替换和系统主题色替换。 组件库 UI 动态主题替换现阶段只在 Element-UI 和 Vant-UI 测试过,根据排查这种方案应该适用于所有类似的动态主题色替换场景。 1. UI 组件库主题色替换 在进入到这一部分之前,…

力扣232 - 用栈实现队列【C语言实现】

用栈实现队列~一、题目描述二、思路分析三、代码详解1、结构声明与展开剖析2、入队【入栈思想】3、获取队头【出栈思想】4、出队【复用思想】5、逐步算法图解四、整体代码展示💻C语言代码实现五、总结与提炼一、题目描述 示例 1: 输入: [“My…

Java基础知识+必考面试题(分享收藏版)

在学习Java语言之前,我们要了解相关知识体系,才能更好的掌握学习。那么下面我们就一起来学习JAVA语言吧~ Java语言概述 Java语言是Sun公司在1995年推出的高级编程语言,编程语言就是计算机语言,人们可以通过使用编程语言让计算机完…