stepfile:

step 00 创建数据集
目录结构
yourproject
-data
--myset
---images #存放训练图片
---dev.tsv #测试标签 tsv格式 图片文件名\t内容
---train.tsv #训练标签 tsv格式 图片文件名\t内容
-train_config.json
-train_config_gpu.json
-fix_cnocr_encoding.py
step 01 创建虚拟环境
venv\Scripts\activate
step 02 安装开发包进行模型训练
pip install cnocr[dev]
step 03 更新pyarrow 到18.0.0版本,解决错误显示该版本中没有PyExtensionType属性
pip install --upgrade pyarrow==18.0.0
step 04 安装albumentations==1.3.1版本解决据错误信息, compression_type 参数要求是'jpeg'或'webp'字符串问题
pip install albumentations==1.3.1
step 05 修复gbk编码问题
python -m fix_cnocr_encoding
开始训练:
cnocr train -m densenet_lite_136-gru --index-dir data/myset --train-config-fp train_config.json
step 06 可视化训练结果
wandaAPI:dca541a51e980eea9bb52866363926f5ea6617edwt(请使用自己的API接口,测试发现powershell锁死,无法键入API,结果可视化不可用)

train_config.json

{"vocab_fp": ".venv/label_cn.txt","img_folder": "data/myset/images","devices": 1,"accelerator": "cpu","epochs": 20,"batch_size": 4,"num_workers": 0,"pin_memory": false,"optimizer": "adam","learning_rate": 1e-3,"weight_decay": 0,"metrics": {"complete_match": {},"cer": {}},"lr_scheduler": {"name": "cos_warmup","min_lr_mult_factor": 0.01,"warmup_epochs": 0.2},"precision": 32,"limit_train_batches": 1.0,"limit_val_batches": 1.0,"pl_checkpoint_monitor": "val-complete_match-epoch","pl_checkpoint_mode": "max"
}

train_config_gpu.json

{"vocab_fp": "cnocr/label_cn.txt","img_folder": "/data/jinlong/ocr_data","devices": 1,"accelerator": "gpu","epochs": 30,"batch_size": 32,"num_workers": 8,"pin_memory": true,"optimizer": "adam","learning_rate": 3e-4,"weight_decay": 0,"train_bucket_size": null,"metrics": {"complete_match": {},"cer": {}},"lr_scheduler": {"name": "cos_warmup","min_lr_mult_factor": 0.01,"warmup_epochs": 0.2,"milestones": [5, 10, 16, 22, 30],"gamma": 0.5},"precision": 16,"log_every_n_steps": 200,"limit_train_batches": 1.0,"limit_val_batches": 1.0,"pl_checkpoint_monitor": "val-complete_match-epoch","pl_checkpoint_mode": "max"
}

fix_cnocr_encoding.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
修复CN-OCR库中的编码问题
专门针对utils.py文件中的read_tsv_file函数添加UTF-8编码参数
"""
import os
import fileinput
import shutil# 定义cnocr的utils.py文件路径
cnocr_utils_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),'.venv', 'Lib', 'site-packages', 'cnocr', 'utils.py'
)# 检查文件是否存在
if not os.path.exists(cnocr_utils_path):print(f"错误:找不到cnocr的utils.py文件: {cnocr_utils_path}")print("请检查cnocr是否正确安装在虚拟环境中")exit(1)print(f"找到cnocr的utils.py文件: {cnocr_utils_path}")# 创建备份文件
backup_path = cnocr_utils_path + '.backup'
if not os.path.exists(backup_path):shutil.copy2(cnocr_utils_path, backup_path)print(f"已创建备份文件: {backup_path}")
else:print(f"备份文件已存在: {backup_path}")# 读取文件内容
with open(cnocr_utils_path, 'r', encoding='utf-8') as f:content = f.read()# 检查是否已经修复过
if 'with open(fp, encoding="utf-8")' in content:print("cnocr库的编码问题已经被修复过了!")exit(0)# 查找read_tsv_file函数
if 'def read_tsv_file(' not in content:print("错误:在utils.py文件中找不到read_tsv_file函数")print("cnocr库的版本可能与预期不同")exit(1)print("正在修复read_tsv_file函数中的编码问题...")# 使用fileinput模块修改文件
for line in fileinput.input(cnocr_utils_path, inplace=True, encoding='utf-8'):# 查找并替换open语句,添加encoding='utf-8'if 'with open(fp)' in line and 'encoding=' not in line:line = line.replace('with open(fp)', 'with open(fp, encoding="utf-8")')print(line, end='')print("\n修复完成!")
print(f"已在read_tsv_file函数中添加了encoding='utf-8'参数")
print(f"原始文件已备份到: {backup_path}")
print("现在您可以尝试使用cnocr train命令了。")

step 00 创建数据集
目录结构
-data
--myset
---images #存放训练图片
---dev.tsv #测试标签 tsv格式 图片文件名\t内容
---train.tsv #训练标签 tsv格式 图片文件名\t内容
step 01 创建虚拟环境
venv\Scripts\activate
step 02 安装开发包进行模型训练
pip install cnocr[dev]
step 03 更新pyarrow 到18.0.0版本,解决错误显示该版本中没有PyExtensionType属性
pip install --upgrade pyarrow==18.0.0
step 04 安装albumentations==1.3.1版本解决据错误信息, compression_type 参数要求是'jpeg'或'webp'字符串问题
pip install albumentations==1.3.1
step 05 修复gbk编码问题
python -m fix_cnocr_encoding
开始训练:
cnocr train -m densenet_lite_136-gru --index-dir data/myset --train-config-fp train_config.json
step 06 可视化训练结果
wandaAPI:dca541a51e980eea9bb52866363926f5ea6617edwt

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sklearn(机器学习)实战:鸢尾花数据集处理技巧

1.数据集的使用:先使用load导入鸢尾花数据:from sklearn.datasets import load_iris然后定义一个函数来查看鸢尾花数据集:数据集的获取:iris load_iris()print(鸢尾花的数据集:\n,iris)使用iris[DESCR]来查看数据及里…

【企业微信】接口报错:javax.net.ssl.SSLHandshakeException

详细报错信息 javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target原因 关于qyapi…

光子芯片驱动的胰腺癌早期检测:基于光学子空间神经网络的高效分割方法

光子芯片驱动的胰腺癌早期检测:基于光学子空间神经网络的高效分割方法 1 论文核心概念 本文提出了一种基于集成光子芯片的光学子空间神经网络(Optical Subspace Neural Network, OSNN),用于胰腺癌的早期检测与图像分割。其核心思想是利用光子芯片的高并行性、低延迟和低能…

Scikit-learn Python机器学习 - 特征降维 压缩数据 - 特征提取 - 主成分分析 (PCA)

锋哥原创的Scikit-learn Python机器学习视频教程: 2026版 Scikit-learn Python机器学习 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 课程介绍 本课程主要讲解基于Scikit-learn的Python机器学习知识,包括机器学习概述,特征工程(数据…

【Python】pytorch安装(使用conda)

# 创建 PyTorch 虚拟环境 conda create -n pytorch_env python3.10# 激活环境 conda activate pytorch_env# 安装 PyTorch(CPU版本) conda install pytorch torchvision torchaudio cpuonly -c pytorch# 或者安装 GPU 版本(如果有NVIDIA显卡&…

ThreeJS骨骼示例

<html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>骨骼动画混合演示</title><style>body {margin: 0;padding: …

python + Flask模块学习 1 基础用法

目录 Flask 的主要作用 常用扩展 Flask 基本用法 1. 安装 Flask&#xff08;再安装个postman用来调试测试API哈 2. 最小化应用示例 3. 运行应用 Flask 是一个轻量级的 Python Web 框架&#xff0c;它简洁灵活&#xff0c;适合快速开发 Web 应用和 API。它被称为 "微…

python数据可视化之Matplotlib(8)-Matplotlib样式系统深度解析:从入门到企业级应用

作者&#xff1a;浪浪山齐天大圣 描述&#xff1a;深入探索Matplotlib样式系统的核心机制&#xff0c;掌握从基础样式到企业级样式管理的完整解决方案引言 在数据可视化的世界里&#xff0c;一个优秀的图表不仅要准确传达数据信息&#xff0c;更要具备专业的视觉效果。Matplotl…

3.HTTP/HTTPS:报文格式、方法、状态码、缓存、SSLTLS握手

HTTP/HTTPS&#xff1a;报文格式、方法、状态码、缓存、SSL/TLS握手 1. HTTP报文格式 1.1 HTTP请求报文(Request) GET /api/v1/users HTTP/1.1 // 请求行&#xff1a;方法、URI、协议版本 Host: api.example.com // 请求头 (Headers) User-Agent: Mozil…

【慢教程】Ollama4:ollama命令汇总

ℹ️教程说明 Ollama 是一款轻量级本地大模型部署工具&#xff0c;使用广泛&#xff0c;且容易上手&#xff0c;适合作为AI技术的入门。 &#x1f9e9;教程各部分链接&#xff1a; 第一课&#xff1a;ollama运行原理介绍及同类工具对比 ollama运行原理介绍及同类工具对比&am…

JAVA Predicate

简单来说&#xff0c;当我明确知道此次判断的逻辑时就可以直接使用if&#xff0c;但是我这次的判断逻辑可能会随着某个参数变化的时候使用Predicate比如当我想要判断某长段文字中是否包含list<String> 中的元素&#xff0c;并且包含的元素个数大于 list<String>最后…

什么是PFC控制器

一句话概括PFC控制器是一种智能芯片&#xff0c;它通过控制电路中的电流波形&#xff0c;使其与电压波形保持一致&#xff0c;从而减少电力浪费&#xff0c;提高电能的利用效率。PFC控制器IC的核心作用就是控制一颗功率MOSFET的开关&#xff0c;通过特定的电路拓扑&#xff08;…

【P03_AI大模型测试之_定制化 AI 应用程序开发】

git clone https://gitee.com/winner21/aigc-test.git 类似于joycoder的&#xff0c;可以安装在vscode上的通义灵码&#xff1a;https://lingma.aliyun.com/ 1、VSCODE上配置通义灵码 2、创建前后端文件&#xff0c;并引用AI编码代码 3、指定文件&#xff0c;利用AI进行代码优…

人工智能机器学习——决策树、异常检测、主成分分析(PCA)

一、决策树(Decision Tree) 决策树&#xff1a;一种对实例进行分类的树形结构&#xff0c;通过多层判断区分目标所属类别 本质&#xff1a;通过多层判断&#xff0c;从训练数据集中归纳出一组分类规则 优点&#xff1a; 计算量小&#xff0c;运算速度快易于理解&#xff0c;可…

服务器文件同步用哪个工具?介绍一种安全高效的文件同步方案

服务器作为企业核心数据和应用的载体&#xff0c;服务器文件同步已成为IT运维、数据备份、业务协同中不可或缺的一环。然而&#xff0c;面对多样的场景和严苛的需求&#xff0c;选择一个既高效又安全的服务器文件同步工具并非易事。本文将首先探讨服务器文件同步的常见场景、需…

LeetCode 004. 寻找两个正序数组的中位数 - 二分切分与分治详解

一、文章标题 LeetCode 004. 寻找两个正序数组的中位数 - 二分切分与分治详解 二、文章内容 1. 题目概述 题目描述&#xff1a;给定两个已按非降序排列的整数数组 nums1、nums2&#xff0c;设它们长度分别为 m 和 n&#xff0c;要求返回这两个数组合并后有序序列的中位数。…

预闪为什么可以用来防红眼?

打闪拍照红眼产生的原因 预闪可以用来防红眼&#xff0c;是基于人眼的生理特性和红眼现象的产生原理。在光线较暗时&#xff0c;人眼的瞳孔会放大。当使用闪光灯拍摄时&#xff0c;如果直接进行高强度闪光&#xff0c;由于瞳孔来不及缩小&#xff0c;闪光灯的光线会反射在眼球血…

Python程序使用了Ffmpeg,结束程序后,文件夹中仍然生成音频、视频文件

FFmpeg是一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec&#xff0c;为了保证高可移植性和编解码质量&#xff0…

模块与包的导入

077-模块-06-模块搜索顺序_哔哩哔哩_bilibili 080-包-01-包的概念以及建立包的方式_哔哩哔哩_bilibili 088-文件操作-01-文件操作套路以及Python中的对应函数和方法_哔哩哔哩_bilibili 注&#xff1a; 1.import math和 from math import *区别 2. 模块&#xff08;Module…

Docker Compose 多种安装方式 (Alibaba Cloud Linux 3 环境)

Docker Compose 多种安装方式&#xff0c;适用于不同场景&#xff08;如依赖系统包管理器、使用 Python 工具链、集成 Docker 插件等&#xff09;。以下是常见的方案&#xff0c;尤其针对 Alibaba Cloud Linux 3 环境适配&#xff1a; 一、二进制包安装&#xff08;推荐&#…