有keras环境吗_CV学习笔记(十六):Windows环境复现ChineseOCR

项目地址: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

a28e8ae5330b7790517677475adb4f4b.png

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

import os
from distutils.core import setup
from distutils.extension import Extension
from os.path import join as pjoin
import numpy as np
from Cython.Distutils import build_ext
from Cython.Build import cythonize
try:
numpy_include = np.get_include()
except AttributeError:
numpy_include = np.get_numpy_include()
setup(
ext_modules=cythonize(["bbox.pyx","cython_nms.pyx"]),)

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

9cb2f72bb1618cc85586220d1de8aafa.png

这时候将替换为

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

继续编译,直至生成:

9285ea2483395b8bc7eeb17427e1bd2e.png

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

26a9bd56c1a8a594c412ec4a5b3bfa26.png

复制移动到:D:chinese_ocrctpnlibutils目录下,再运行demo.py,继续报错

ModuleNotFoundError: No module named 'lib.utils'

继续修改:

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

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

修改如下:

730d4e6bfba5fb933abc9c9fc600e04a.png

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

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

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

3acc48a25321f349c56a5495122b5df3.png

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

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

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

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

0e445ae4ee151ed71a1718fd1e621c47.png

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

7ca02f6ec1287140551f62135d26fbe7.png

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

6766fb4bedd7169747613a2fcec6a1c1.png

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

5e9f2884f552e805fb514eb6a8ee24ef.png

打开ctpnlibutilscython_nms.pyx,更改这一行代码

5728791d54a061b56b5ef06c5956428a.png

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

0e7388300de7994566827c003258ee1b.png

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

ecc1238b104b7c2088c0d4ab44ae07fe.png

运行成功。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值