报错图片数量太少

Exception: The number of the whole data (800) is smaller than the batch_size * devices_num * num_workers (2048)----------------------
Error Message Summary:
----------------------
FatalError: Blocking queue is killed because the data reader raises an exception.[Hint: Expected killed_ != true, but received killed_:1 == true:1.] (at /paddle/paddle/fluid/operators/reader/blocking_queue.h:154)[operator < read > error]

搜索FatalError: Blocking queue is killed because the data reader raises an exception.发现报这个错的还不少。。。我的应该就是因为上面所说的 整体数据量太小了导致的,重新导一遍数据好了,多产一些,产2400张好了。

CPU_NUM设置问题

import ujson error: No module named 'ujson' use json
2020-09-29 06:24:37,367-INFO: places would be ommited when DataLoader is not iterable
2020-09-29 06:24:37,367-INFO: Distort operation can only support in GPU.Distort will be set to False.
2020-09-29 06:24:37,746-INFO: Loading parameters from ./pretrain_models/rec_mv3_none_bilstm_ctc/best_accuracy...
// 加载预训练模型参数
2020-09-29 06:24:37,821-WARNING: variable ctc_fc_b_attr not used
2020-09-29 06:24:37,821-WARNING: variable ctc_fc_w_attr not used
2020-09-29 06:24:37,878-INFO: Finish initing model from ./pretrain_models/rec_mv3_none_bilstm_ctc/best_accuracy
// 初始化模型完成
W0929 06:24:37.938328 116973 build_strategy.cc:170] fusion_group is not enabled for Windows/MacOS now, and only effective when running with CUDA GPU.
!!! The CPU_NUM is not specified, you should set CPU_NUM in the environment variable list.
CPU_NUM indicates that how many CPUPlace are used in the current task.
And if this parameter are set as N (equal to the number of physical CPU core) the program may be faster.export CPU_NUM=8 # for example, set CPU_NUM as number of physical CPU core which is 8.!!! The default number of CPU_NUM=1.

根据github-issue_Add warning info If CPU_NUM is not set可知,使用之前需要设置一个 CPU_NUM系统变量。
但是这只是一个警告信息,其实不影响程序运行。。。
然后等了很久很久。。。。才出现第一行 训练结果:

2020-09-29 06:30:16,110-INFO: epoch: 1, iter: 10, lr: 0.000500, ‘loss’: 22621.375, ‘acc’: 0.0, time: 30.381

考虑改一下那个CPU_NUM吧,不然训练太慢了。。。

Linux查看物理CPU个数、核数、逻辑CPU个数
ubuntu环境变量的三种设置方法

# 查看物理CPU个数
[root@AAA ~]$ cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
1
#  查看每个物理CPU中core的个数(即核数)
[root@AAA ~]$ cat /proc/cpuinfo| grep "cpu cores"| uniq
8
# 查看逻辑CPU的个数
[root@AAA ~]$ cat /proc/cpuinfo| grep "processor"| wc -l
8
# 逻辑cpu个数=物理cpu个数*每个cpu中core的个数
(py37) root@XX:/home/XXX/paddleOCR/PaddleOCR$ cd
(py37) root@XX:~$ vim ~/etc/profile
(py37) root@XX:~$ cd ../
(py37) root@XX:/$ ls
bin  boot  dev  etc  home  initrd.img  initrd.img.old  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  snap  srv  sys  tmp  usr  var  vmlinuz  vmlinuz.old
(py37) root@XX:/$ vim etc/profile$ vim /etc/profile
在里面加入:
export CPU_NUM=1
使生效
source profile
查看是否生效
echo $CPU_NUM

提示训练图片集不存在


解决方法:很容易发现是因为存放图片的文件夹名不一致,修改一下即可。

提示缺少yml参数文件


将缺少的文件夹复制到tools文件夹。

或者可以使用终端绝对路径直接调用

训练和评估的效果都特别好,预测的效果却特别差

这个是数据预处理的问题,paddleOCR官方给的推理程序里数据预处理的方式和训练程序里数据预处理的方式不完全一样,导致了训练时输入神经网络的张量维度和预测时输入神经网络的张量维度不一样,所以即使权重训练得很好,预测效果也会出现偏差。更改方式如下。
首先,要确保训练的配置文件里image_shape参数和推理的参数设置里rec_image_shape参数的值要是一样的,训练的配置文件在configs/rec里面,推理的参数设置在tools/infer/utility.py文件里面。

RuntimeError : ( PreconditionNotMet ) The third-party dynamic library(cublas64_102.dll;cublas64_10.d11)that Paddle deperon is not configured correctly(error code is 126)

只用cpu就没有这样的问题,这个问题是由于英伟达CUDA安装不正确导致的
解决方法:
它说缺cublas64_10.dll,我就在英伟达显卡加速包里找,发现这里有cublas64_100.dll,通过修改文件名去让其去被调用。

OCR训练常见问题(1)相关推荐

  1. 二、OCR训练时,将txt文件和图片数据转为lmdb文件格式

    文章目录 前言 一.背景? 二.直接上内容 1.代码 2.文件说明 前言 随着人工智能的不断发展,机器学习这门技术也越来越重要,本文就介绍OCR训练前ldmb文件制作的基础内容. 提示:以下是本篇文章 ...

  2. Tesseract OCR 训练字库

    Tesseract OCR是一款由HP实验室开发由Google维护的开源OCR引擎,在字符识别领域发挥着举足轻重的作用.除了使用软件自带的中英文识别库,我们可以使用Tesseract OCR训练属于自 ...

  3. 笔记记录--基于ccpd数据集利用Paddle OCR训练车牌检测模型

    目录 1-- 环境搭建 2-- 数据集划分 3-- 训练模型 4-- 推理测试 1-- 环境搭建 安装Paddle OCR参考 ① 创建环境 conda create -n paddle_env py ...

  4. OCR 训练 中文语言包

    1.下载tesseract安装配置环境变量 环境变量:将OCR根目录配置到环境path里 添加 TESSDATA_PREFIX 为语言包的路径 2.修改tif 文件名称 tif文件命名格式[lang] ...

  5. 机器学习和深度学习训练常见问题

    1. 如何解决正负类不平衡问题 类别不均衡时,不能使用accuracy作为分类器的评价指标.例如:当在对一个类别不均衡的数据集进行分类时得到了90%的准确度(Accuracy).当你进一步分析发现,数 ...

  6. 8.6M超轻量中英文OCR模型开源,训练部署一条龙 | Demo在线可玩

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 要说生活里最常见.最便民的AI应用技术,OCR(光学字符识别)当属其中之一. 寻常到日常办理各种业务时的身份证识别,前沿到自动驾驶车辆的路牌 ...

  7. halcon trainf_ocr_class_svm 训练OCR分类器

    目录 trainf_ocr_class_svm(算子) 描述 参数 trainf_ocr_class_svm(算子) trainf_ocr_class_svm - 训练OCR分类器. trainf_o ...

  8. HALCON示例程序bottle.hdev、bottlet.hdev瓶体字符OCR的训练和检测

    HALCON示例程序bottle.hdev.bottlet.hdev瓶体字符OCR的训练和检测 示例程序源码(加注释) 1.先介绍bottlet.hdev(训练OCR识别文件) *定义一个字符串变量F ...

  9. Halcon学习---光学字符训练、识别(OCR)算子

    1.append_ocr_trainf append_ocr_trainf(Character, // 选中当前目标Image, // 目标对应图片Class, // 字符的类别(名称) Traini ...

最新文章

  1. Python代码高亮显示工具
  2. 快速下载Centos7:Centos镜像地址(阿里云镜像)
  3. Java Web HelloWorld!
  4. 文巾解题 1837. K 进制表示下的各位数字总和
  5. 大数据分析工资单:六大行员工再涨薪 人均年薪超26万
  6. Jquery实现类似百度的搜索框
  7. Bootstrap 插件的选项
  8. 怎样组合数字python_利用python实现数字组合
  9. Tomcat优化之配置NIO运行模式
  10. 一款Mac平台上自带广告拦截功能插件的浏览器软件
  11. 软件测试专业川内大学,四川大学分析测试中心
  12. Python-Pandas-Excel/CSV 数据处理大全整理 (二)
  13. Linux内核移植 part3:Exynos4412 Linux Kernel移植
  14. 超声波传感器(CH101ch201) - Ⅱ
  15. 图像转 ico 图标工具 Any to Icon v3.59
  16. in和exists的区别和使用场景纪要
  17. 2016电商重大并购名单:未来并购会更频繁
  18. 数据挖掘概念与技术13--BUC
  19. k8s之存储抽象nfs挂载
  20. 转贴:网易:联手金算盘IEC,惠普推中小企业“全程助力解决方案”

热门文章

  1. linux7给用户授权,CentOS7 添加新用户并授权
  2. python word模板 图_科学网—Python绘制可插入Word的高清矢量图(SVG转EMF) - 任晓东的博文...
  3. php 转化js数组字符串,js数组怎么转为字符串
  4. python第七章动手试一试_《Python从入门到实践》第八章动手试一试
  5. java哈夫曼树编码_哈夫曼树的编码实验
  6. 计算机管理游戏,网吧游戏管理系统
  7. python列表乘数值_《利用Python进行数据分析》十一章· 时间序列·学习笔记(一)...
  8. 表达式* ptr ++和++ * ptr是否相同?
  9. 如何用iOS工程生成iOS模拟器包
  10. 解决网卡无法自动获取ip的办法