paddleocr使用GPU报错

1、如果安装paddlepaddle-gpu==2.0.0,然后启动,可能会出现如下问题

python3.6 tools/infer/predict_system.py  --image_dir "big.png" --det_model_dir "inference/ch_ppocr_server_v2.0_det_infer" --rec_model_dir "inference/ch_ppocr_server_v2.0_rec_infer" --cls_model_dir "inference/ch_ppocr_mobile_v2.0_cls_infer" --use_gpu True
Traceback (most recent call last):
  File "tools/infer/predict_system.py", line 187, in <module>
    main(utility.parse_args())
  File "tools/infer/predict_system.py", line 156, in main
    dt_boxes, rec_res = text_sys(img)
  File "tools/infer/predict_system.py", line 89, in __call__
    dt_boxes, elapse = self.text_detector(img)
  File "/home/mkd/tools/infer/predict_det.py", line 163, in __call__
    self.input_tensor.copy_from_cpu(img)
RuntimeError: (PreconditionNotMet) Cannot load cudnn shared library. Cannot invoke method cudnnGetVersion.
  [Hint: cudnn_dso_handle should not be null.] (at /paddle/paddle/fluid/platform/dynload/cudnn.cc:76)

上面这个问题主要是cudnn库存在问题,解决办法如下

(1)找一下,libcudnn.so这个库文件在哪

locate libcudnn.so
/home/kds/PaddleClas/libcudnn.so
/usr/lib/libcudnn.so

(2)进入cuda的安装目录,然后将该文件复制或者链接过去

cd /usr/local/cuda/lib64
ls 
(base) [root@localhost lib64]# pwd
/usr/local/cuda/lib64
cp /usr/lib/libcudnn.so /usr/local/cuda/lib64/

(3) 直接通过python命令判断cudn是否可以用

(base) [root@localhost lib64]# python3.7
Python 3.7.6 (default, Jan  8 2020, 19:59:22) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import paddle
>>> paddle.c
paddle.callbacks          paddle.ceil(              paddle.chunk(             paddle.common_ops_import  paddle.concat(            paddle.cos(               paddle.create_parameter(  paddle.cross(             
paddle.cast(              paddle.cholesky(          paddle.clip(              paddle.compat             paddle.conj(              paddle.cosh(              paddle.crop(              paddle.cumsum(            
>>> paddle.c
paddle.callbacks          paddle.ceil(              paddle.chunk(             paddle.common_ops_import  paddle.concat(            paddle.cos(               paddle.create_parameter(  paddle.cross(             
paddle.cast(              paddle.cholesky(          paddle.clip(              paddle.compat             paddle.conj(              paddle.cosh(              paddle.crop(              paddle.cumsum(            
>>> paddle.fl
paddle.flatten(       paddle.flip(          paddle.floor(         paddle.floor_divide(  paddle.floor_mod(     paddle.flops(         paddle.fluid          
>>> paddle.fl
paddle.flatten(       paddle.flip(          paddle.floor(         paddle.floor_divide(  paddle.floor_mod(     paddle.flops(         paddle.fluid          
>>> paddle.fluid.c
paddle.fluid.clip                          paddle.fluid.contrib                       paddle.fluid.core_avx                      paddle.fluid.cpu_places(                   paddle.fluid.create_random_int_lodtensor(  paddle.fluid.cuda_places(                  
paddle.fluid.compiler                      paddle.fluid.core                          paddle.fluid.core_suffix                   paddle.fluid.create_lod_tensor(            paddle.fluid.cuda_pinned_places(           
>>> paddle.fluid.c
paddle.fluid.clip                          paddle.fluid.contrib                       paddle.fluid.core_avx                      paddle.fluid.cpu_places(                   paddle.fluid.create_random_int_lodtensor(  paddle.fluid.cuda_places(                  
paddle.fluid.compiler                      paddle.fluid.core                          paddle.fluid.core_suffix                   paddle.fluid.create_lod_tensor(            paddle.fluid.cuda_pinned_places(           
>>> paddle.fluid.install_check.run_check()
Running Verify Fluid Program ... 
W0329 17:41:56.791076 29595 device_context.cc:362] Please NOTE: device: 0, GPU Compute Capability: 6.1, Driver API Version: 10.2, Runtime API Version: 10.2
W0329 17:41:56.794332 29595 device_context.cc:372] device: 0, cuDNN Version: 7.6.
Your Paddle Fluid works well on SINGLE GPU or CPU.
Your Paddle Fluid works well on MUTIPLE GPU or CPU.
Your Paddle Fluid is installed successfully! Let's start deep Learning with Paddle Fluid now
>>> 

只要是显示如上,就可以用了

2、如果安装出现Please compile with gpu to EnableGpu()问题,则你安装应该有问题

问题如下:

E0517 16:44:40.199975 11424 analysis_config.cc:73] Please compile with gpu to EnableGpu()

出现如上问题,说明你的paddlepaddle并没有安装gpu版本,或gpu版本压根没启用,通过如下步骤处理:

(1)查看安装的版本

(base) [root@localhost]# pip3.6 list|grep paddle
paddlehub              2.0.4
paddlenlp              2.0.0rc14
paddlepaddle           2.0.0

(2)安装gpu的版本

pip3.6 uninstall paddlepaddle==2.0.0
pip3.6 install paddlepaddle-gpu==2.0.0

(3)安装后

(base) [root@localhost]# pip3.6 install paddlepaddle-gpu==2.0.0 -i https://mirror.baidu.com/pypi/simple
Looking in indexes: https://mirror.baidu.com/pypi/simple
Collecting paddlepaddle-gpu==2.0.0
  Downloading https://mirror.baidu.com/pypi/packages/90/8a/ed8a0348cb87900203c4067570da4f2307e88ce6380a2b8fb9c565f7629c/paddlepaddle_gpu-2.0.0-cp36-cp36m-manylinux1_x86_64.whl (689.6 MB)
     |████████████████████████████████| 689.6 MB 18 kB/s 
Requirement already satisfied: Pillow in /usr/local/lib64/python3.6/site-packages (from paddlepaddle-gpu==2.0.0) (8.1.0)
Requirement already satisfied: decorator in /usr/local/lib/python3.6/site-packages (from paddlepaddle-gpu==2.0.0) (4.4.2)
Requirement already satisfied: gast==0.3.3 in /usr/local/lib/python3.6/site-packages (from paddlepaddle-gpu==2.0.0) (0.3.3)
Requirement already satisfied: protobuf>=3.1.0 in /usr/local/lib64/python3.6/site-packages (from paddlepaddle-gpu==2.0.0) (3.14.0)
Requirement already satisfied: requests>=2.20.0 in /usr/local/lib/python3.6/site-packages (from paddlepaddle-gpu==2.0.0) (2.25.1)
Requirement already satisfied: numpy>=1.13 in /usr/local/lib64/python3.6/site-packages (from paddlepaddle-gpu==2.0.0) (1.19.5)
Requirement already satisfied: six in /usr/local/lib/python3.6/site-packages (from paddlepaddle-gpu==2.0.0) (1.15.0)
Requirement already satisfied: astor in /usr/local/lib/python3.6/site-packages (from paddlepaddle-gpu==2.0.0) (0.8.1)
Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.6/site-packages (from requests>=2.20.0->paddlepaddle-gpu==2.0.0) (4.0.0)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.6/site-packages (from requests>=2.20.0->paddlepaddle-gpu==2.0.0) (1.26.2)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/site-packages (from requests>=2.20.0->paddlepaddle-gpu==2.0.0) (2020.12.5)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/site-packages (from requests>=2.20.0->paddlepaddle-gpu==2.0.0) (2.10)
Installing collected packages: paddlepaddle-gpu
  Attempting uninstall: paddlepaddle-gpu
    Found existing installation: paddlepaddle-gpu 2.0.1.post100
    Uninstalling paddlepaddle-gpu-2.0.1.post100:
      Successfully uninstalled paddlepaddle-gpu-2.0.1.post100
Successfully installed paddlepaddle-gpu-2.0.0

(base) [root@localhost]# pip3.6 list|grep paddle
paddlehub              2.0.4
paddlenlp              2.0.0rc14
paddlepaddle-gpu       2.0.1.post100

(4)再次启动即可,后面可能还会出现cudnn库文件没有的问题,则直接参考前面讲的即可

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ITIRONMAN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值