Ubuntu 18.04 解决pytorch 无法使用GPU问题


本教程介绍了如何解决pytorch 无法使用GPU 的问题,

问题描述:

之前我电脑已经安装好CUDA 10.1 的环境,驱动也是安装好的,安装了tensorflow-gpu ,并且可以正常使用tensorflow gpu 版来训练。今天有同学问我一些pytorch 的安装问题,我之前没有安装过,所以实践了一下,安装过程很顺利,找到官方网站,找到安装的地方,复制命令,使用anconda 进行了安装:
在这里插入图片描述
安装完成之后,我迫不及待的测试了一下是否安装成功和能否使用GPU:

import torch
print(torch.cuda.is_available())

结果返回的结果是False,也就是不可以使用GPU版本的pytorch,这让人很烦。

问题解决思路

根据以往tensorflow安装时候的问题解决思路,我猜测可能是cuda版本和pytorch 的版本对不上,我仔细对照了半天,发现不是这里的问题。所以问题可能出在cuda 和 显卡驱动上面。
我输入命令:nvidia-smi,正常的话会输出显卡驱动的相关信息,但是这里报错了,报错信息为:
NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver
显卡驱动出问题了? 那重装一下驱动应该就可以解决问题,但是在ubuntu上安装驱动有点繁琐,所以我又测试了一下tensorflow-gpu 版本是否可以使用,输入一下代码:

import tensorflow as tf

发现竟然没有报错,陷入僵局了,这一句话没报错驱动应该没问题啊,我开始查找问题的答案,百度搜索了一下这个报错:NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver
最终得出的结论是就是显卡驱动坏了,我参考网上的解决办法,执行了以下命令,成功的解决了问题。

  • 首先安装 dkms

    sudo apt-get install dkms
    
  • 然后查看自己驱动的版本

    ls /usr/local
    

    输出结果如下:
    在这里插入图片描述

  • 执行以下命令:

    sudo dkms install -m nvidia -v 418.43
    

    注意命令后的版本要和上图中的版本一致!

验证是否生效

nvidia-smi 命令执行正常了。
在这里插入图片描述
验证pytorch:
在这里插入图片描述
问题成功解决了

后记

刚刚提到了一个奇怪的现象,显卡驱动不正常,tensorflow-gpu 竟然可以成功的import,但是后来经过测试发现,虽然没有报错,但是训练过程使用了CPU,没有使用GPU,运行的时候会报错说 GPU驱动没有运行之类的错误,然后使用CPU进行了训练(直观感觉就是慢了很多)。

为什么会出现显卡驱动坏了的情况?猜测是系统更新造成的,因为之前我使用tensorflow-gpu的时候是正常的,并且没有做任何的改动,所以很有可能是更新造成的损坏。

发布了45 篇原创文章 · 获赞 20 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_38863413/article/details/102940867