热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

OCR训练常见问题(1)

报错图片数量太少Exception:Thenumberofthewholedata(800)issmallerthanthebatch_size*devices_num*num_

报错图片数量太少

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_ !&#61; true, but received killed_:1 &#61;&#61; 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.发现报这个错的还不少。。。我的应该就是因为上面所说的 整体数据量太小了导致的&#xff0c;重新导一遍数据好了&#xff0c;多产一些&#xff0c;产2400张好了。


CPU_NUM设置问题

import ujson error: No module named &#39;ujson&#39; 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&#61;8 # for example, set CPU_NUM as number of physical CPU core which is 8.!!! The default number of CPU_NUM&#61;1.

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

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吧&#xff0c;不然训练太慢了。。。

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

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

提示训练图片集不存在

在这里插入图片描述
解决方法&#xff1a;很容易发现是因为存放图片的文件夹名不一致&#xff0c;修改一下即可。
在这里插入图片描述
在这里插入图片描述


提示缺少yml参数文件

在这里插入图片描述
将缺少的文件夹复制到tools文件夹。

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


训练和评估的效果都特别好&#xff0c;预测的效果却特别差

这个是数据预处理的问题&#xff0c;paddleOCR官方给的推理程序里数据预处理的方式和训练程序里数据预处理的方式不完全一样&#xff0c;导致了训练时输入神经网络的张量维度和预测时输入神经网络的张量维度不一样&#xff0c;所以即使权重训练得很好&#xff0c;预测效果也会出现偏差。更改方式如下。
首先&#xff0c;要确保训练的配置文件里image_shape参数和推理的参数设置里rec_image_shape参数的值要是一样的&#xff0c;训练的配置文件在configs/rec里面&#xff0c;推理的参数设置在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就没有这样的问题&#xff0c;这个问题是由于英伟达CUDA安装不正确导致的
解决方法&#xff1a;
它说缺cublas64_10.dll&#xff0c;我就在英伟达显卡加速包里找&#xff0c;发现这里有cublas64_100.dll,通过修改文件名去让其去被调用。


推荐阅读
  • windows便签快捷键_用了windows十几年,没想到竟然这么好用!隐藏的功能你知道吗?
    本文介绍了使用windows操作系统时的一些隐藏功能,包括便签快捷键、截图功能等。同时探讨了windows和macOS操作系统之间的优劣比较,以及人们对于这两个系统的不同看法。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • express工程中的json调用方法
    本文介绍了在express工程中如何调用json数据,包括建立app.js文件、创建数据接口以及获取全部数据和typeid为1的数据的方法。 ... [详细]
  • python3 nmap函数简介及使用方法
    本文介绍了python3 nmap函数的简介及使用方法,python-nmap是一个使用nmap进行端口扫描的python库,它可以生成nmap扫描报告,并帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。文章详细介绍了python-nmap的几个py文件的功能和用途,包括__init__.py、nmap.py和test.py。__init__.py主要导入基本信息,nmap.py用于调用nmap的功能进行扫描,test.py用于测试是否可以利用nmap的扫描功能。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 摘要: 在测试数据中,生成中文姓名是一个常见的需求。本文介绍了使用C#编写的随机生成中文姓名的方法,并分享了相关代码。作者欢迎读者提出意见和建议。 ... [详细]
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • PL2303HXD电路图(USB转UART)介绍及应用
    本文介绍了PL2303HXD电路图(USB转UART)的特性和应用,该电路图可以实现RS232和USB信号的转换,方便嵌入到手持设备中。PL2303HXD作为USB/RS232双向转换器,可以将USB数据转换为RS232信息流格式发送给外设,并将RS232外设的数据转换为USB数据格式传送回主机。通过利用USB块传输模式和自动流量控制,PL2303HXD能够实现更高的数据传输吞吐量比传统的UART端口。 ... [详细]
  • 其实之前也有下载过完整的android源码,但是从来没有对这个做过一些总结,在加上最近需要经常去看,索性就在从新下载,编译一下,其实这些东西官网上面都有。http:sou ... [详细]
  • macOS命令行创建Android模拟器
    macOS下不安装AndroidStudio使用VSCode来开发Flutter应用使用命令行创建和管理Android模拟器设备avdmanageravdmanager 是一种命令 ... [详细]
  • scrcpy通过adb调试的方式来将手机屏幕投到电脑上,并可以通过电脑控制您的Android设备。它可以通过USB连接,也可以通过Wifi连接(类似于隔空投屏),而且不需要任何ro ... [详细]
  • 这篇文章给大家介绍怎么从源码启动和编译IoTSharp ,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。IoTSharp项目是 ... [详细]
author-avatar
用户d4k2wd8en1
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有