我们以python3.7.10为例
paddle官网
python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
然后检查一下
python -c "import paddle;paddle.utils.run_check()"
查看cuda版本和cudnn版本
我们以cuda10.2为例
(这里注意一下,cuDNN版本>=7.6.5,别装cudnn8,因为我曾经没看到前面的7,如果不小心装成8了,记得查看一下8具体有什么,然后删掉,再装7,因为8文件貌似多了不少,不过大部分都是cudnn打头,删起来比较方便)
假设你不想再更换cudnn,建议用conda的方式装
记得cudnn一定要符合要求
python -m pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple
装完了应该是这样
然后检查一下
python -c "import paddle;paddle.utils.run_check()"
新建个环境
conda create -n test_conda python==3.7.10 pip --no-dep
切环境
conda activate test_conda
注意这个有--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()"
这个命令与上面的区别是--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
项目地址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