ValueError: The device should not be ‘gpu‘, since PaddlePaddle is not compiled with CUDA问题解决(Paddle)

36 篇文章 14 订阅
20 篇文章 0 订阅

一、问题描述

两个问题一并解决:

<1>

Traceback (most recent call last):
  File "run_trainer_ernie_gen.py", line 120, in <module>
    paddle.set_device(trainer_params.get("PADDLE_PLACE_TYPE", "cpu"))
  File "/opt/conda/envs/ERNIE-GEN/lib/python3.7/site-packages/paddle/device/__init__.py", line 204, in set_device
    place = _convert_to_place(device)
  File "/opt/conda/envs/ERNIE-GEN/lib/python3.7/site-packages/paddle/device/__init__.py", line 127, in _convert_to_place
    raise ValueError("The device should not be 'gpu', "
ValueError: The device should not be 'gpu', since PaddlePaddle is not compiled with CUDA

 <2>

RuntimeError: (PreconditionNotMet) Cannot load cudnn shared library. Cannot invoke method cudnnGetVersion.
  [Hint: cudnn_dso_handle should not be null.] (at /paddle/paddle/phi/backends/dynload/cudnn.cc:59)

 问题总结:paddlepaddle调用不了GPU

二、问题解决

很多博客说安装cudatoolkit=10.2就可以解决,但是我不行(可能因为我是用的docker 容器)

如果在本机上安装,可以直接conda安装:

conda install cudatoolkit=10.2

而docker中我选择直接去官网下载:

https://developer.nvidia.com/rdp/cudnn-archive

下载内容为: 

 切记!一定要选用这个!

下载完毕,移动到/usr/local/目录下:

tar -xvf cudnn-10.2-linux-x64-v7.6.5.32.tgz
sudo cp cuda/lib64/* /usr/local/cuda-10.2/lib
sudo cp cuda/lib64/* /usr/local/cuda-10.2/lib64/

解压好CUDA后,下面配置path:

export  PATH=/usr/local/cuda-10.2/bin:$PATH
export  LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64$LD_LIBRARY_PATH

这时候已经大功告成了!

但是我这时候报这个错误:

检查一圈发现需要安装 paddlepaddle-gpu:

pip install paddlepaddle-gpu

大功告成!

成功的样子:

 

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值