文章主要是为了说明在windows平台下调试遇到的问题。
代码地址:/Aurora11111/chinese-ocr-pytorch
按照相关说明,安装相关的pytorch和tensorflow,我使用的是python3.7
下载代码后,需要进行修改才能在windows上运行。
1.修改cython_nms.pyx文件中的第25行,修改为如下
cdef np.ndarray[np.int_t, ndim=1] order = scores.argsort()[::-1].astype('int32')
2.新建一个python文件,假如为T.py,内容如下,主要为了解决pyx文件无法在windows下调用的问题。
import sysimport numpy as npA = sys.path.insert(0, "..")from distutils.core import setupfrom distutils.extension import Extensionfrom Cython.Build import cythonizefrom Cython.Distutils import build_ext# ext_module = cythonize("TestOMP.pyx")ext_module = Extension("cython_nms",["cython_nms.pyx"],extra_compile_args=["/openmp"],extra_link_args=["/openmp"],)setup(cmdclass={'build_ext': build_ext},ext_modules=[ext_module],# 注意这一句一定要有,不然只编译成C代码,无法编译成pyd文件include_dirs=[np.get_include()])
3.在cmd命令行下,进入该目录,执行python T.py build_ext --inplace
该工程中,需要将两个pyx文件转换,分别是bbox和cython_nms,在以上代码中修改为相应的文件名称即可。
在该目录下会生成两个文件。如图前两个文件为新生成的。
4.修改demo.py中24行
output_file = os.path.join(result_dir, image_file.split('\\')[-1])
因为在windows平台下,路径为反斜杠
运行demo.py,即可。
如果觉得《基于CTPN(tensorflow)+CRNN(pytorch)+CTC的不定长文本检测和识别》对你有帮助,请点赞、收藏,并留下你的观点哦!