当前位置: 首页 > news >正文

AI项目十三:PaddleOCR训练自定义数据集

若该文为原创文章,转载请注明原文出处。

续上一篇,PaddleOCR环境搭建好了,并测试通过,接下来训练自己的检测模型和识别模型。

paddleocr检测模型训练
1、准备数据集

在PaddleOCR目录下新建文件夹:train_data, 这个文件夹用于存放数据集的。

使用的是恩培提供的车牌识别数据集,下载car_plate_images.zip后,解压到train_data目录下。

2、配置文件

在PaddleOCR主目录下:configs/det/ch_ppocr_v2.0/下,

复制ch_det_mv3_db_v2.0.yml为ch_det_mv3_db_v2.0.yml_car_plate.yml

打开ch_det_mv3_db_v2.0.yml_car_plate.yml配置文件,修改以下4个内容:

1.训练后模型存储目录;

2.是否训练可视化;

3.训练数据集图片和标注位置;

4.测试数据集图片和标注位置;

其他参数如pretrained_model等可以在训练时在命令行中指定.其它的看官方文档

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

我的电脑没有gpu,所以use_gpu需要修改成false

配置文件完后,创建保存模型目录output/ch_ppocr_mobile_v2.0_det:

3、使用官方的权重文件进行预测

打开PaddleOCR/doc/doc_ch/models_list.md at release/2.6 · PaddlePaddle/PaddleOCR · GitHub

下载权重文件

下载后,解压,把权重文件放到PaddleOCR\pretrain_models\目录下,pretrain_models目录自己创建。

接下来先预测一下:

预测命令:

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

4、训练

训练命令:

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="./pretrain_models/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"
5、測試

使用训练模型–测试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="./train_data/car_plate_images/images_det/test/test_5.jpg" Global.pretrained_model="./output/ch_ppocr_mobile_v2.0_det/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

如有侵权,或需要完整代码,请及时联系博主。

相关文章:

AI项目十三:PaddleOCR训练自定义数据集

若该文为原创文章,转载请注明原文出处。 续上一篇,PaddleOCR环境搭建好了,并测试通过,接下来训练自己的检测模型和识别模型。 paddleocr检测模型训练 1、准备数据集 在PaddleOCR目录下新建文件夹:train_data, 这个…...

你熟悉Docker吗?

你熟悉Docker吗? 文章目录 你熟悉Docker吗?快速入门Docker安装1.卸载旧版2.配置Docker的yum库3.安装Docker4.启动和校验5.配置镜像加速5.1.注册阿里云账号5.2.开通镜像服务5.3.配置镜像加速 部署MySQL镜像和容器命令解读 Docker基础常用命令数据卷数据卷…...

Nodejs错误处理详细指南

Nodejs错误处理详细指南 学习 Node.js 中的高级错误处理技术,以增强应用程序的可靠性和稳定性。 在 Node.js 中,我们可以使用各种技术和方法来处理错误,可以查看这篇文章。错误处理是任何 Node.js 应用程序的一个重要方面。正确管理错误可以…...

软考 系统架构设计师系列知识点之软件架构风格

这个十一注定是一个不能放松、保持“紧”的十一。由于报名了全国计算机技术与软件专业技术资格(水平)考试,11月4号就要考试,因此8天长假绝不能荒废,必须要好好利用起来。现在将各个核心知识点一一进行提炼并做记录。 所…...

一键智能视频语音转文本——基于PaddlePaddle语音识别与Python轻松提取视频语音并生成文案

前言 如今进行入自媒体行业的人越来越多,短视频也逐渐成为了主流,但好多时候是想如何把视频里面的语音转成文字,比如,录制会议视频后,做会议纪要;比如,网课教程视频,想要做笔记&…...

[unity]对象的序列化

序 抽象的图纸叫类,包含具体数据的叫对象。 类的序列化和反序列化 using System.Collections; using System.Collections.Generic; using UnityEngine;using System; using System.IO; using System.Runtime.Serialization.Formatters.Binary; [Serializabl…...

java开发岗位面试

java开发岗位面试 技术栈:springboot框架+redis 个人笔试/技术面问题整理 1、SpringBoot有什么组件? 举例说几个: ①auto-configuration组件:核心特征。其约定大于配置思想,赋予了SpringBoot开箱即用的强…...

坠落防护 挂点装置

声明 本文是学习GB 30862-2014 坠落防护 挂点装置. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了高处坠落防护挂点装置的技术要求、检验方法、检验规则及标识。 本标准适用于防护高处坠落的挂点装置。 本标准不适用于体育及消…...

关于 自定义的RabbitMQ的RabbitMessageContainer注解-实现原理

概述 RabbitMessageContainer注解 的主要作用就是 替换掉Configuration配置类中的各种Bean配置; 采用注解的方式可以让我们 固化配置,降低代码编写复杂度、减少配置错误情况的发生,提升编码调试的效率、提高业务的可用性。 为什么说“降低…...

uniapp快速入门系列(1)- 概述与基础知识

章节三:抖音小程序页面开发 第1章:概述与基础知识1.1 uniapp简介1.1.1 什么是uniapp?1.1.2 为什么选择uniapp?1.1.3 uniapp与微信小程序的关系 1.2 HBuilderX介绍与安装1.2.1 什么是HBuilderX?1.2.2 HBuilderX的安装1.…...

国密国际SSL双证书解决方案,满足企事业单位国产国密SSL证书要求

近年来,为了摆脱对国外技术和产品的依赖,建设安全的网络环境,以及加强我国对网络信息的安全可控能力,我国推出了国密算法。同时,为保护网络通信信息安全,更高级别的安全加密数字证书—国密SSL证书应运而生。…...

LabVIEW开发虚拟与现实融合的数字电子技术渐进式实验系统

LabVIEW开发虚拟与现实融合的数字电子技术渐进式实验系统 数字电子技术是所有电气专业的重要学科基础,具有很强的理论性和实践性。其实验是提高学生分析、设计和调试数字电路能力,培养学生解决实际问题的工程实践能力,激发学生创新意识&…...

机器学习之单层神经网络的训练:增量规则(Delta Rule)

文章目录 权重的调整单层神经网络使用delta规则的训练过程 神经网络以权值的形式存储信息,根据给定的信息来修改权值的系统方法称为学习规则。由于训练是神经网络系统地存储信息的唯一途径,因此学习规则是神经网络研究中的一个重要组成部分 权重的调整 &#xff08…...

C# Task任务详解

文章目录 前言Task返回值无参返回有参返回 async和await返回值await搭配使用Main async改造 Task进阶Task线程取消测试用例超时设置 线程暂停和继续测试用例 多任务等最快多任务全等待 结论 前言 Task是对于Thread的封装,是极其优化的设计,更加方便了我…...

百度网盘的扩容

百度网盘的扩容怎么扩 百度网盘的扩容通常需要购买额外的存储空间。以下是扩容百度网盘存储空间的一般步骤: 登录百度网盘:首先,在您的计算机或移动设备上打开百度网盘,并使用您的百度账号登录。 选择扩容选项:一旦登…...

Android 悬浮窗

本文参考文章地址&#xff1a;https://juejin.cn/post/7009180088310693919 一、申请权限 <uses-permission android:name"android.permission.SYSTEM_ALERT_WINDOW" />二、创建悬浮窗service <serviceandroid:name".FloatingWindowService"an…...

3.物联网射频识别,(高频)RFID应用ISO14443-2协议

一。ISO14443-2协议简介 1.ISO14443协议组成及部分缩略语 &#xff08;1&#xff09;14443协议组成&#xff08;下面的协议简介会详细介绍&#xff09; 14443-1 物理特性 14443-2 射频功率和信号接口 14443-3 初始化和防冲突 &#xff08;分为Type A、Type B两种接口&…...

数据分析笔记1

数据分析概述&#xff1a;数据获取--探索分析与可视化--预处理--分析建模--模型评估 数据分析含义&#xff1a;利用统计与概率的分析方法提取有用的信息&#xff0c;最后进行总结与概括 一、数据获取 实用网站&#xff1a;kaggle 阿里云天池 数据仓库&#xff1a;将所有业务数据…...

paramiko 3

import paramiko import concurrent.futuresdef execute_remote_command(hostname, username, password, command):try:# 创建SSH客户端client paramiko.SSHClient()client.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 使用密码认证连接远程主机client.connect(h…...

基于Dlib训练自已的人脸数据集提高人脸识别的准确率

前言 由于图像的质量、光线、角度等因素影响。这时如果使用官方提供的模型做人脸识别&#xff0c;就会导至识别率不是很理想。人脸识别的准确率与图像的清晰度和质量有关。如果图像模糊、光线不足或者有其他干扰因素&#xff0c;Dlib 可能无法正确地识别人脸。为了确保图像质量…...

Git 详细安装教程(详解 Git 安装过程的每一个步骤

Git 详细安装教程&#xff08;详解 Git 安装过程的每一个步骤&#xff09; 该文章详细具体&#xff0c;值得收藏学习...

kafka伪集群部署,使用KRAFT模式

1:拉去管理kafka界面UI镜像 docker pull provectuslabs/kafka-ui2:拉去管理kafka镜像 docker pull bitnami/kafka3:docker-compose.yml version: 3.8 services:kafka-1:container_name: kafka1image: bitnami/kafka ports:- "19092:19092"- "19093:19093&quo…...

【双指针遍历】N数之和问题

文章目录 二数之和LC1三数之和LC15四数之和LC18最接近的三数之和LC16 二数之和LC1 题目链接 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对…...

Qt的QObject类

文章目录 QObject类如何在Qt中使用QObject的信号与槽机制&#xff1f;如何在Qt中使用QObject的属性系统&#xff1f;QObject的元对象系统如何实现对象的反射功能&#xff1f; QObject类 Qt的QObject类是Qt框架中的基类&#xff0c;它是所有Qt对象的父类。QObject提供了一些常用…...

【图论C++】链式前向星(图(树)的存储)

/*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在竞赛算法学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记&#xff1a;转载需获得博主本人…...

16.PWM输入捕获示例程序(输入捕获模式测频率PWMI模式测频率和占空比)

目录 输入捕获相关库函数 输入捕获模式测频率 PWMI模式测频率和占空比 两个代码的接线图都一样&#xff0c;如下 测量信号的输入引脚是PA6&#xff0c;信号从PA6进来&#xff0c;待测的PWM信号也是STM32自己生成的&#xff0c;输出引脚是PA0。 需要配置电路连接图示如下&…...

pip version 更新

最近报了一个错&#xff1a; 解决办法&#xff1a; 在cmd输入“conda install pip” conda install pip 完了之后再输入&#xff1a; python -m pip install --upgrade pip ok....

Oracle - 多区间按权重取值逻辑

啰嗦: 其实很早就遇到过类似问题&#xff0c;也设想过&#xff0c;不过一致没实际业务需求&#xff0c;也就耽搁了&#xff1b;最近有业务提到了&#xff0c;和同事讨论&#xff0c;各有想法&#xff0c;所以先把逻辑整理出来&#xff0c;希望有更好更优的解决方案&#xff1b;…...

本次CTF·泰山杯网络安全的基础知识部分(二)

简记23年九月参加的泰山杯网络安全的部分基础知识的题目&#xff0c;随时补充 15&#xff08;多选&#xff09;网络安全管理工作必须坚持“谁主管、谁负责&#xff0c;谁运营、谁负责&#xff0c;谁使用、谁负责”的原则&#xff0c;和“属地管理”的原则 谁主管、谁负责&…...

MyBatis 映射文件(Mapper XML):配置与使用

MyBatis 映射文件&#xff08;Mapper XML&#xff09;&#xff1a;配置与使用 MyBatis是一个强大的Java持久化框架&#xff0c;它允许您将SQL查询、插入、更新和删除等操作与Java方法进行映射。这种映射是通过MyBatis的映射文件&#xff0c;通常称为Mapper XML文件来实现的。本…...

网站业务维护/it培训班学出来有用吗

前言 好久没分享工作总结啦&#xff0c;今天来一份代码优化总结。用模板方法策略工厂方法模式优化了代码&#xff0c;耐心点看完&#xff0c;应该对大家有帮助的~ 本文已经收录到github https://github.com/whx123/JavaHome 公众号&#xff1a;捡田螺的小男孩 优化代码前 先…...

wordpress免代码分享到/搜狐综合小时报2022113011

准备 三台虚拟机 创建好ssh链接 主机IP主机名称192.168.218.6yangyangMaster192.168.218.7yangyangNode1192.168.218.5yangyangNode2 zookeeper安装包&#xff1a;zookeeper-3.4.6.tar.gz 安装步骤 一、解压zookeeper 进入存放目录&#xff1a;cd /work/src 解压zookeepe…...

wordpress 用户 评论/nba新闻最新消息

功能参考界面...

仿网站的ppt怎么做/网上有免费的网站吗

不是狗托不是狗托不是狗托&#xff01; 只是用着Nice&#xff0c;推荐一波 这是官网链接&#xff0c;直接点这里 敲黑板&#xff0c;看重点 1、极致的时间管理&#xff0c;值得拥有 2、独立下载安装&#xff0c;没有全家桶的捆绑 先来介绍一下它的主要功能 1、 一键自动文件…...

浙江建设特种证书查询/优化神马排名软件

什么是RootMessageId&#xff1f; 为了理解RootMessageId先简单介绍一下CAT的数据结构设计。CAT客户端会将所有消息都封装为一个完整的消息树&#xff08;MessageTree&#xff09;&#xff0c;消息树可能包括Transaction、Event、Heartbeat、Metric等类型的消息。具体如下&…...

兰甘肃网站建设/googleplay商店

有一个正整数序列&#xff0c;求最短的子序列使得其和大于等于S&#xff0c;并输出最短的长度。 用数组b[i]存放序列的前i项和&#xff0c;所以b[i]是递增的。 遍历终点j&#xff0c;然后在区间[0, j)里二分查找满足b[j]-b[i]≥S的最大的i&#xff0c;时间复杂度为O(nlongn)。 …...