完美解決torch.cuda.is_available()一直返回False的玄學(xué)方法
一直用的TensorFlow(keras)來完成一些工作,因許多論文中的模型用pytorch來實(shí)現(xiàn),代碼看不懂實(shí)在是不太應(yīng)該。正好趁此假期,疫情原因無法出去浪,在家學(xué)一下pytorch。
游戲用筆記本自帶GeForce 1050顯卡,可用GPU,想著不用白不用,先裝一個(gè)GPU版本再說。但是我按照網(wǎng)上的所有方法,torch.cuda.is_available()總是返回False。有輕微強(qiáng)迫癥的我,不解決掉是睡不好的。
首先說一下我所做的工作順序。說不定能有參考。(系統(tǒng):WIN10)
1.安裝CUDA
此處有其他大量且優(yōu)質(zhì)的帖,故不在此詳述。我自己的機(jī)器支持CUDA10.2,但是我安裝的是CUDA10,按理說應(yīng)該版本是向下支持的。安裝正確在cmd中敲nvcc -V能顯示即可。

NVIDIA-smi命令截圖如下。感覺是沒什么問題的,驅(qū)動(dòng)版本也挺高。

2.安裝對(duì)應(yīng)版本的pytorch
首先想到的肯定是官網(wǎng)安裝。conda+重新開放的清華源=神速。此處是我自己的一個(gè)大坑。

3.安裝cudnn等
同樣,有大量帖子教學(xué)。我是在一直失敗,走投無路,抱著安裝一下試試的想法,結(jié)果并無卵用。
玄學(xué)解決
網(wǎng)上的攻略說產(chǎn)生此類問題的主要原因在于驅(qū)動(dòng)安裝的不正確。但我自己的情況并不符合。
在搜了大量的帖子無果后。偶然發(fā)現(xiàn),使用官網(wǎng)conda命令下載的,居然全是CPU版本。

無論我怎么嘗試使用conda下載任何版本,都是cpu版本的??赡苁乔迦A源的問題??
既然conda無法用,那就用pip。官網(wǎng)的pip命令,不知道是不是我的問題,就算使用各種源,速度也超級(jí)慢,還會(huì)中斷,700M+硬是下不下來。無奈使用本地下載方法。
在此處尋找符合自己版本的pytorch-cuda版本,torchvision版本下載。
https://download.pytorch.org/whl/torch_stable.html
(速度同樣極慢!但是不會(huì)斷了。。。。勉強(qiáng)能下)
下載后pip install xxx(下載下來的文件名) 安裝即可。

接下來就見證奇跡了。但是奇跡是怎么發(fā)生的,conda為什么只能下cpu版本,我一直沒有搞明白。
補(bǔ)充:記錄下pytorch安裝中一個(gè)比較隱蔽的坑,torch.cuda.is_available()返回false的一個(gè)原因
如題,想要安裝GPU版,一開始從網(wǎng)上找了教程,顯卡驅(qū)動(dòng)、CUDA、cuDNN挨個(gè)更新安裝,都選擇了10.1版本,安裝完后在anaconda中按照官網(wǎng)提示輸入下面的代碼,可以看到cudatoolkit即GPU版
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
然后發(fā)現(xiàn)基本上大一點(diǎn)的包都下載不下來,包括pytorch、cudatoolkit等等,遂又從網(wǎng)上找教程,加清華源,加了幾個(gè)之后下載很快,下載下來也可以用,以為已經(jīng)成功了,但是torch.cuda.is_available()返回就是False。
最開始以為是開始安裝的版本不匹配,然后又嘗試了10.2版本的CUDA,結(jié)果還是一模一樣,最后輸入conda list后終于發(fā)現(xiàn)了問題所在:

可以看到第三列版本號(hào)前面的cpu,后來上清華源的網(wǎng)站上看了下,可能是清華源沒有對(duì)應(yīng)cuda版本的pytorch,所以會(huì)裝cpu版的。
目前的解決方法有兩個(gè),可以去清華源網(wǎng)站上找對(duì)應(yīng)的版本,https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/,安裝輸入命令行時(shí)將cuda版本改掉。也可以科學(xué)上網(wǎng),直接從官網(wǎng)安裝。
相關(guān)文章
使用grpc實(shí)現(xiàn)golang后端和python服務(wù)間通信
gRPC是Google 開發(fā)的高性能、開源的遠(yuǎn)程過程調(diào)用(RPC)框架,本文主要為大家詳細(xì)介紹了如何使用grpc實(shí)現(xiàn)golang后端和python服務(wù)間通信,感興趣的可以了解下2024-03-03
使用setup.py安裝python包和卸載python包的方法
這篇文章主要介紹了使用setup.py安裝python包和卸載python包的方法,大家參考使用吧2013-11-11
Python與Appium實(shí)現(xiàn)手機(jī)APP自動(dòng)化測(cè)試的示例代碼
本文主要介紹了Python與Appium實(shí)現(xiàn)手機(jī)APP自動(dòng)化測(cè)試的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
解決PIP安裝第三方庫報(bào)錯(cuò)SSL: CERTIFICATE_VERIFY_FAILED問題
這篇文章主要介紹了解決PIP安裝第三方庫報(bào)錯(cuò)SSL: CERTIFICATE_VERIFY_FAILED問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
OpenCV+python3實(shí)現(xiàn)視頻分解成圖片
這篇文章主要為大家詳細(xì)介紹了OpenCV+python3實(shí)現(xiàn)視頻分解成圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
Python pytest裝飾器總結(jié)(實(shí)例詳解)
這篇文章主要介紹了Python pytest裝飾器總結(jié),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
Python實(shí)現(xiàn)FTP文件傳輸?shù)膶?shí)例
在本篇文章里小編給各位分享的是關(guān)于Python實(shí)現(xiàn)FTP文件傳輸?shù)膶?shí)例以及相關(guān)代碼,需要的朋友們學(xué)習(xí)下。2019-07-07

