安装paddlepaddle与PaddleOCR

我们以python3.7.10为例

paddle官网

CPU版

python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

然后检查一下

python  -c "import paddle;paddle.utils.run_check()"

GPU版 

gpu要求

  • CUDA 工具包10.1/10.2 配合 cuDNN 7 (cuDNN版本>=7.6.5)
  • CUDA 工具包11.0配合cuDNN v8.0.4
  • CUDA 工具包11.2配合cuDNN v8.1.1

查看cuda版本和cudnn版本

 我们以cuda10.2为例

(这里注意一下,cuDNN版本>=7.6.5,别装cudnn8,因为我曾经没看到前面的7,如果不小心装成8了,记得查看一下8具体有什么,然后删掉,再装7,因为8文件貌似多了不少,不过大部分都是cudnn打头,删起来比较方便)

假设你不想再更换cudnn,建议用conda的方式装

pip

记得cudnn一定要符合要求

python -m pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple

装完了应该是这样 

安装paddlepaddle与PaddleOCR_第1张图片

 然后检查一下

python  -c "import paddle;paddle.utils.run_check()"

安装paddlepaddle与PaddleOCR_第2张图片

conda

新建个环境

conda create -n test_conda python==3.7.10 pip --no-dep

切环境

conda activate test_conda

cudnn符合要求

注意这个有--no-dep,作用是会少一些依赖,整个环境会小一点,所以要用pip把依赖补上 

conda install paddlepaddle-gpu==2.1.0 cudatoolkit=10.2 --channel https://mirrors.bfsu.edu.cn/anaconda/cloud/Paddle/ --no-dep -y

pip install astor decorator==4.4.2 gast==0.3.3 numpy==1.19.3 pillow protobuf requests six

检查一下

python  -c "import paddle;paddle.utils.run_check()"

安装paddlepaddle与PaddleOCR_第3张图片

cudnn不符合要求

这个命令与上面的区别是--no-dep,作用是会少一些依赖

conda install paddlepaddle-gpu==2.1.0 cudatoolkit=10.2 --channel https://mirrors.bfsu.edu.cn/anaconda/cloud/Paddle/ -y

 检查一下

python  -c "import paddle;paddle.utils.run_check()"

优化

其实你会发现,paddle其实会疯狂调用子线程

修改python的Lib/site-packages/paddle/dataset/image.py 的代码,屏蔽subprocess调用

if six.PY3:
    import subprocess
    import sys
    import_cv2_proc = subprocess.Popen(
        [sys.executable, "-c", "import cv2"],
        stdout=subprocess.PIPE,
        stderr=subprocess.PIPE)
    out, err = import_cv2_proc.communicate()
    retcode = import_cv2_proc.poll()
    if retcode != 0:
        cv2 = None
    else:
        import cv2
else:
    try:
        import cv2
    except ImportError:
        cv2 = None

改成

# if six.PY3:
#     import subprocess
#     import sys
#     import_cv2_proc = subprocess.Popen(
#         [sys.executable, "-c", "import cv2"],
#         stdout=subprocess.PIPE,
#         stderr=subprocess.PIPE)
#     out, err = import_cv2_proc.communicate()
#     retcode = import_cv2_proc.poll()
#     if retcode != 0:
#         cv2 = None
#     else:
#         import cv2
# else:
#     try:
#         import cv2
#     except ImportError:
#         cv2 = None
try:
    import cv2
except ImportError:
    cv2 = None

PaddleOCR

项目地址https://github.com/PaddlePaddle/PaddleOCR

这个项目其实教程里都是python3打头,但是小心python3调用的不是你的python,建议改成python

先安装shapely

从https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely下自己对应的版本

然后pip install 文件名,比如下面这样

 接着

pip install imgaug pyclipper pyaml lmdb Levenshtein pyqt5 tqdm

测试

cd ./PPOCRLabel
python PPOCRLabel.py --lang ch

安装paddlepaddle与PaddleOCR_第4张图片

 

你可能感兴趣的:(安装与配置)