AstarLight / Lets_OCR

A repository for OCR, which inlcudes some classical OCR algorithms Pytorch implementation such as CTPN, EAST and CRNN.
MIT License
656 stars 327 forks source link

ctpn跑了两天 终于跑通代码了,太难了,把跑代码过程遇到问题都给整合,希望能帮到大家 #94

Open CHENG-EMMA1 opened 3 years ago

CHENG-EMMA1 commented 3 years ago

一、在运行CTPN之前,可以发现其实作者ctpn文件夹中缺失了一些文件 但是在easy中其实有类似的文件,所以把easy中的make.sh、setup.py、nms.pyx 复制到ctpn/lib文件下

二、运行test之前,应该把cd到ctpn/lib中。运行以下代码生成.so文件 sudo chmod +x make.sh ./make.sh

三、可以使用两种模式进行test: ①直接运行test.sh。使用命令sh test.sh来启动文本检测。

②“ python infer.py random cpu”意味着我们将在file中提供的特定目录路径中推断出一批图片。 “ python infer.py your_pic_path cpu”表示我们将仅使用cpu根据您的图片路径推断一张图片。

test.py运行时,报错 ①如果出现头文件错误,可能是你当前运行代码的路径没办法搜索到对于的头文件 例如:dataset_handler.py中No module named 'draw_image' 将import draw_image 改为import lib.draw_image

②运行test.py时候,会出现没有lib.nms.cpu_nms 只需要把脚本文件中的lib.nms.cpu_nms改成lib.nms.nms就可以运行了

train.py运行时,报错 ① No module named 'ConfigParser' 可能是因为python更新迭代,目前python下的包是小写的,所以改成import configparser即可,同理74行也要改configparser.ConfigParser() ② File "train.py", line 118, in os.mkdir(MODEL_SAVE_PATH) 这个问题是路径问题,路径下没有model文件夹,所以需要自己创建 同理,train.py 22 23 25行,路径问题都需要修改成你的本地文件夹 ③ File "/home/others/storage/xiaoyi/Lets_OCR-master/detector/ctpn/lib/generate_gt_anchor.py", line 45 SyntaxError: Non-ASCII character '\xe5' in file /home/others/storage/xiaoyi/Lets_OCR-master/detector/ctpn/lib/generate_gt_anchor.py on line 45, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 这个问题是因为没有中文utf-8头文件。在generate_gt_anchor.py的最前面加入

!/usr/bin/python # -- coding: UTF-8 --

④ No module named lmdb 解决:conda install -c conda-forge python-lmdb ⑤try 部分出现error 原因:generate_gt_anchor.py中的draw_image 全部改成 lib.draw_image tag_anchor.py中 68行'cal_IoU' 改成 'cal_IoU2' create_config_file.py中 import ConFigparser 改成 import configparser

maggie-c1523 commented 3 years ago

感谢,请问你有infer吗?make顺利吗?我看到了你MAKE的指南,请问easy这个文件夹在哪里?你指的是east文件夹吗?但是我没有找到setup.py这个文件,能够再详细分享一下吗

CHENGHUIYI commented 3 years ago

感谢,请问你有infer吗?make顺利吗?我看到了你MAKE的指南,请问easy这个文件夹在哪里?你指的是东部文件夹吗?但是我没有找到setup.py这个文件,能够再详细分享一下吗 是的,是east文件,笔误。谢谢提醒,缺失的文件已经打包,下载即可。 need.zip

Yaoxingtian commented 3 years ago

您好,方便加个微信请教一下吗 请问这个环境配置是什么样的,我好像一直有问题。 还有这个make 的时候报错 build//.so ./ 没有这个文件

XHQC commented 3 years ago

@Yaoxingtian @ @CHENGHUIYI @maggie-c1523 @CHENG-EMMA1 在这里我分享下我的成功运行方法,按照作者的源码除了函数库import导入存在问题,需要修改下,其他地方没遇到问题的,关键的地方是在一个文件的参数上,Makefile 这个文件修改下参数,-I/usr/include/python2.7 ,这个地址比较眼熟吧,这是你系统自带的python 2.7,你环境里用的肯定不是这个版本的python吧,找到它,把它的路径复制到这里来,然后按作者的方法,进行下去不会遇到太难的问题的

distance-nayuta commented 3 years ago

训练出现这种错误怎么办?大佬求教 Traceback (most recent call last): File "D:/test/CTPN-master/ctpn/infer1.py", line 416, in random_test(net) File "D:/test/CTPN-master/ctpn/infer1.py", line 350, in random_test nms_result = lib.nms.cpu_nms(for_nms, NMS_THRESH)#这里是非极大值抑制得到唯一的一个候选框 File "D:\test\CTPN-master\ctpn\lib\nms.py", line 5, in cpu_nms x1 = dets[:, 0] IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed

2291754463 commented 3 years ago

可以加微信交流一下吗? 我训练CTPN的时候正样本的loss始终下不去,或者您能否开源您的数据集&CTPN源代码 我自己训练看看

CHENG-EMMA1 commented 3 years ago

Can you add wechat for communication? When I train ctpn, the loss of positive samples is always unable to go down, or can you open source your dataset & ctpn source code? I will train and see for myself

可以加微信交流一下吗? 我训练CTPN的时候正样本的loss始终下不去,或者您能否开源您的数据集&CTPN源代码 我自己训练看看

你好,方便给我QQ号码吗?我加你,打包给你吧。

leahyyy commented 3 years ago

您好,方便加个微信请教一下吗 请问这个环境配置是什么样的,我好像一直有问题。 还有这个make 的时候报错 build//.so ./ 没有这个文件

2291754463 commented 3 years ago

我也好久没跑深度学习了,感觉有点记不清啦

@.***

发件人: leahyyy 发送时间: 2021-09-22 20:53 收件人: AstarLight/Lets_OCR 抄送: 2291754463; Comment 主题: Re: [AstarLight/Lets_OCR] ctpn跑了两天 终于跑通代码了,太难了,把跑代码过程遇到问题都给整合,希望能帮到大家 (#94) 您好,方便加个微信请教一下吗 请问这个环境配置是什么样的,我好像一直有问题。 还有这个make 的时候报错 build//.so ./ 没有这个文件 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

leahyyy commented 3 years ago

make.sh的复制路径少写了一层星号 所以没找到.os

2291754463 commented 3 years ago

加油!

@.***

发件人: leahyyy 发送时间: 2021-09-22 21:26 收件人: AstarLight/Lets_OCR 抄送: 2291754463; Comment 主题: Re: [AstarLight/Lets_OCR] ctpn跑了两天 终于跑通代码了,太难了,把跑代码过程遇到问题都给整合,希望能帮到大家 (#94) make.sh的复制路径少写了一层星号 所以没找到.os — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

alan3w commented 2 years ago

你好 请问可以打包发我一份么,我在训练时时也遇到了各种不顺

SuanNaiJiang98 commented 1 year ago

你好 请问可以打包发我一份么,我在训练时时也遇到了各种不顺

您好,这个您复现成功了吗

CyberAI-XDU commented 1 year ago

说一下我最近又配置成功: 1、先在前面的回答中下载安装lib中所需的文件 2、进入ctpn/lib文件夹后 python3 setup.py build_ext --inplace 3、然后修改一下make.sh,这一步卡了好久,将原文件里的mv build//.so ./修改为mv build///*.so ./,多加一层,然后./make.sh,然后sh test.sh就成功了。

啊 配置环境真的好难

thenonetime commented 6 months ago

这是最近的配置成功s的 就是现问题: for_nms = np.array(for_nms, dtype=np.float32) nms_result = lib.nms.nms(for_nms, NMS_THRESH) 出现需要long输入的情况,这个时候要改前面那个nms.pyx文件 25-29行 要改成 cdef np.ndarray[np.int64_t, ndim=1] order = scores.argsort()[::-1] cdef int ndets = dets.shape[0] cdef np.ndarray[np.int64_t, ndim=1] suppressed = \ np.zeros((ndets), dtype=np.int64)