pytorch無法使用GPU問題的解決方法
本教程介紹了如何解決pytorch 無法使用GPU 的問題,
問題描述:
之前我電腦已經(jīng)安裝好CUDA 10.1 的環(huán)境,驅(qū)動(dòng)也是安裝好的,安裝了tensorflow-gpu ,并且可以正常使用tensorflow gpu 版來訓(xùn)練。今天有同學(xué)問我一些pytorch 的安裝問題,我之前沒有安裝過,所以實(shí)踐了一下,安裝過程很順利,找到官方網(wǎng)站,找到安裝的地方,復(fù)制命令,使用anconda 進(jìn)行了安裝:

安裝完成之后,我迫不及待的測(cè)試了一下是否安裝成功和能否使用GPU:
import torch print(torch.cuda.is_available())
結(jié)果返回的結(jié)果是False,也就是不可以使用GPU版本的pytorch,這讓人很煩。
問題解決思路
根據(jù)以往tensorflow安裝時(shí)候的問題解決思路,我猜測(cè)可能是cuda版本和pytorch 的版本對(duì)不上,我仔細(xì)對(duì)照了半天,發(fā)現(xiàn)不是這里的問題。所以問題可能出在cuda 和 顯卡驅(qū)動(dòng)上面。
我輸入命令:nvidia-smi,正常的話會(huì)輸出顯卡驅(qū)動(dòng)的相關(guān)信息,但是這里報(bào)錯(cuò)了,報(bào)錯(cuò)信息為:
NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver
顯卡驅(qū)動(dòng)出問題了? 那重裝一下驅(qū)動(dòng)應(yīng)該就可以解決問題,但是在ubuntu上安裝驅(qū)動(dòng)有點(diǎn)繁瑣,所以我又測(cè)試了一下tensorflow-gpu 版本是否可以使用,輸入一下代碼:
import tensorflow as tf
發(fā)現(xiàn)竟然沒有報(bào)錯(cuò),陷入僵局了,這一句話沒報(bào)錯(cuò)驅(qū)動(dòng)應(yīng)該沒問題啊,我開始查找問題的答案,百度搜索了一下這個(gè)報(bào)錯(cuò):NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver
最終得出的結(jié)論是就是顯卡驅(qū)動(dòng)壞了,我參考網(wǎng)上的解決辦法,執(zhí)行了以下命令,成功的解決了問題。
首先安裝 dkms
sudo apt-get install dkms
然后查看自己驅(qū)動(dòng)的版本
ls /usr/local
輸出結(jié)果如下:

執(zhí)行以下命令:
sudo dkms install -m nvidia -v 418.43
注意命令后的版本要和上圖中的版本一致!
驗(yàn)證是否生效
nvidia-smi 命令執(zhí)行正常了。

驗(yàn)證pytorch:

問題成功解決了
后記
剛剛提到了一個(gè)奇怪的現(xiàn)象,顯卡驅(qū)動(dòng)不正常,tensorflow-gpu 竟然可以成功的import,但是后來經(jīng)過測(cè)試發(fā)現(xiàn),雖然沒有報(bào)錯(cuò),但是訓(xùn)練過程使用了CPU,沒有使用GPU,運(yùn)行的時(shí)候會(huì)報(bào)錯(cuò)說 GPU驅(qū)動(dòng)沒有運(yùn)行之類的錯(cuò)誤,然后使用CPU進(jìn)行了訓(xùn)練(直觀感覺就是慢了很多)。
為什么會(huì)出現(xiàn)顯卡驅(qū)動(dòng)壞了的情況?猜測(cè)是系統(tǒng)更新造成的,因?yàn)橹拔沂褂胻ensorflow-gpu的時(shí)候是正常的,并且沒有做任何的改動(dòng),所以很有可能是更新造成的損壞。
以上就是pytorch無法使用GPU問題的解決方法的詳細(xì)內(nèi)容,更多關(guān)于pytorch無法使用GPU的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Django 實(shí)現(xiàn)對(duì)已存在的model進(jìn)行更改
這篇文章主要介紹了Django 實(shí)現(xiàn)對(duì)已存在的model進(jìn)行更改,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python實(shí)現(xiàn)讀取機(jī)器硬件信息的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)讀取機(jī)器硬件信息的方法,涉及Python針對(duì)計(jì)算機(jī)注冊(cè)表、操作系統(tǒng)、處理器、網(wǎng)絡(luò)等常見硬件信息讀取操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-06-06
Python 圖形界面框架TkInter之在源碼中找pack方法
這篇文章主要介紹了Python 圖形界面框架TkInter之在源碼中找pack方法,根據(jù)不同的需求,選擇對(duì)應(yīng)的布局方式,每個(gè)控件都可以使用pack作為布局管理,下面我們就來看看從源碼中找pack()在哪里,需要的朋友可以參考下2022-03-03
Python人工智能之路 之PyAudio 實(shí)現(xiàn)錄音 自動(dòng)化交互實(shí)現(xiàn)問答
關(guān)于音頻, PyAudio 這個(gè)庫, 可以實(shí)現(xiàn)開啟麥克風(fēng)錄音, 可以播放音頻文件等等。文章介紹了如何使用Python第三方庫PyAudio進(jìn)行麥克風(fēng)錄音然后自動(dòng)播放已經(jīng)合成的語音實(shí)現(xiàn)語音交互回答,需要的朋友可以參考下2019-08-08
Python使用translate庫實(shí)現(xiàn)多語種互相翻譯
文章介紹Python的translate庫,支持40+語言互譯,可指定全稱或代碼進(jìn)行翻譯,能處理文本文件,自動(dòng)分割超500字符行并逐段翻譯,結(jié)果保存至新文件,需先通過pip安裝,用戶需提供文件路徑并檢查存在性,翻譯成功后顯示結(jié)果文件路徑2025-07-07

