前提:nvidia显卡,安装的是nvidia的驱动器,cuda8.0,cudnn5.1,借助的是anaconda(搭建自己需要的环境真的方便很多)然后运行该程序的时候需要找对应的tensorflow-gpu版本为1.2.0版本,还有对应tensorflow的keras版本为2.1.1(本人安装)/2.0.6,这个keras版本查了很多,我的主要环境搭建问题就是这两个的版本对应问题,还有一个是torch的问题(一直按这下载的命令走的),但最后运行程序的时候提醒只是torch对不上,就只安了torch1.5版本。后边查看相关资料才知道可以直接运行setup.md文件。
1、下载整个程序包https://github.com/chineseocr/chineseocr
2、环境搭建(本人):创建一个环境为python3.6的chineseocr## 环境配置,以下命令程序中自带命令
支持linux\macOs
conda create -n chineseocr python=3.6 pip scipy numpy jupyter ipython ##运用conda 创建python环境
source activate chineseocr
git submodule init && git submodule update
pip install easydict opencv-contrib-python==3.4.2.16 Cython h5py lmdb mahotas pandas requests bs4 matplotlib lxml -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install -U pillow -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install keras==2.1.5 tensorflow==1.8 tensorflow-gpu==1.8 (我的cuda为8.0故我的tensorflow为1.2.0,keras为2.1.1)
pip install web.py==0.40.dev0
conda install pytorch torchvision -c pytorch
(这一步我没有运行成功,我只安装了torch1.5版本,是根据后面程序报错之后修改)
## pip install torch torchvision (没有安装torchvision)
## python版本nms无须执行下一步
pushd text/detector/utils && sh make.sh && popd
3、环境基本搭好之后可以准备运行程序(程序出错的时候根据提醒再选择安装还是卸载对应的版本)
4、编译darknet,编译之前先对chineseocr/darknet/python/python.py中的下面一条语句进行修改
lib = CDLL("/自己的文件地址/chineseocr/darknet/libdarknet.so", RTLD_GLOBAL)
然后是/darknet/Makefile文件中的CUDA=1和CUDNN=1进行修改。然后在终端进行make编译
5、## 下载模型文件
模型文件地址:
* [baidu pan](https://pan.baidu.com/s/1gTW9gwJR6hlwTuyB6nCkzQ)
* [google drive](https://drive.google.com/drive/folders/1XiT1FLFvokAdwfE9WSUSS1PnZA34WBzy?usp=sharing)
复制文件夹中的所有文件到models目录
6、我执行命令的命令是python3 app.py 8080,终端显示的网址是http://0.0.0.0:8080,其实应该在浏览器打开http://127.0.0.1:8080/ocr,/ocr很重要,不能省略了https://blog.csdn.net/bcfd_yundou/article/details/86551833
补:
①运行程序时提醒tensorflow中没有模型keras,在text/keras_yolo3.py的代码中修改keras的引用前加contrib
②自己进行train所需要进行的步骤:
## 下载ICDR2019数据集 地址 http://rrc.cvc.uab.es/?ch=14
## 百度云地址:https://pan.baidu.com/s/1fmOpTYFmZ4f2UxGDsmKVJA 密码:sh4e
## 下载 darknet预训练模型
wget https://pjreddie.com/media/files/darknet53.conv.74
## 修改 train/darknet/data-ready.py
line166 ~line 168
dataRoot = '/tmp/ICDR2019/'##icdr2019 数据所在目录
darknetRoot = '/tmp/darknet'##darknet目录
wP = '/tmp/darknet53.conv.74'##darknet 预训练模型权重
执行 python train/darknet/data-ready.py 生成darknet格式训练数据
训练模型 : sh train/darknet/train.sh