美文网首页
CV学习笔记(十六):Windows环境复现ChineseOCR

CV学习笔记(十六):Windows环境复现ChineseOCR

作者: 云时之间 | 来源:发表于2020-04-21 17:34 被阅读0次

    项目地址:https://github.com/xiaofengShi/CHINESE-OCR

    为了方便下载:https://gitee.com/yunshizhijian/CHINESE-OCR

    因为项目中推荐使用的环境为MAC和Linux,因此迁移到Windows上仍需要一些改动,但是在网上的资料很少,并且处理报错不够全面,踩了一路坑,因此写一篇博客记录一下。

    系统要使用的环境如下:

    特别建议使用虚拟环境,特别是现在tensorflow已经更新到2.0,而项目中仍在使用1.8,有很多的差别。

    因为我这里使用的是CPU环境,这里仅举例CPU安装所需的库:

    Python 3.6

    scipy numpy jupyter ipython

    opencv-contrib-python==4.0.0.21

    keras==2.1.5 ,tensorflow==1.8

    剩余的一些不太关键包需要啥就装啥

    项目下载好后,pycharm打开,首先运行项目中的demo.py

    出现没有 No module named 'lib.utils',但是我们目录中是有utils这个包的,我们需要使用Cpython来编译,打开ctpn/lib/utils/setup_cpu.py,将里面的代码全部删掉,用下面代码替换:

    importosfromdistutils.coreimportsetupfromdistutils.extensionimportExtensionfromos.pathimportjoinaspjoinimportnumpyasnpfromCython.Distutilsimportbuild_extfromCython.Buildimportcythonizetry:numpy_include=np.get_include()exceptAttributeError:numpy_include=np.get_numpy_include()setup(ext_modules=cythonize(["bbox.pyx","cython_nms.pyx"]),)

    在控制台进入到setup_cpu.py这个文件的目录,输入python setup_cpu.py build,大概率出现

    这时候将替换为

    setup(

    ext_modules=cythonize(["bbox.pyx","cython_nms.pyx"],include_dirs=[numpy_include]),

    )

    继续编译,直至生成:

    到下图路径下,找到这两个文件:

    复制移动到:D:\chinese_ocr\ctpn\lib\utils目录下,再运行demo.py,继续报错

    ModuleNotFoundError: No module named 'lib.utils'

    继续修改:

    分析文件路径,我们可以发现lib的文件夹是在上一层目录下的,所以这里需要对python的查找目录中加入查找路径

    类似的错误:ModuleNotFoundError: No module named 'lib.fast_rcnn'。

    修改如下:

    继续运行demo.py,继续出现错误:

    UnicodeDecodeError: 'gbk' codec can't decode byte 0xa3 in position 389: illegal multibyte sequence。

    定位到config.py:更改为UTF-8编码:

    再运行demo.py,还会接着报错:

    ValueError: Buffer dtype mismatch, expected 'int_t' but got 'long long'

    这个报错处理起来比较麻烦:

    打开ctpn/ctpn/text.yml脚本,修改以下代码,即取消GPU

    打开 ctpn/lib/fast_rcnn/config.py脚本,修改一下代码:

    打开ctpn/lib/fast_rcnn/nms_wrapper.py ,删掉以下代码:

    打开ctpn/ lib/utils/__init__.py,删掉以下代码

    打开ctpn\lib\utils\cython_nms.pyx,更改这一行代码

    这时候再运行demo.py,依旧报错,这时候再重复刚开始的操作,再去编译一下,刚才的问题解决,再运行demo.py,继续运行失败:

    此时修改demo.py的文件存储路径即可,再运行:

    运行成功。

    相关文章

      网友评论

          本文标题:CV学习笔记(十六):Windows环境复现ChineseOCR

          本文链接:https://www.haomeiwen.com/subject/ggjpihtx.html