一直用的TensorFlow(keras)來完成一些工作,因許多論文中的模型用pytorch來實現(xiàn),代碼看不懂實在是不太應(yīng)該。正好趁此假期,疫情原因無法出去浪,在家學(xué)一下pytorch。
游戲用筆記本自帶GeForce 1050顯卡,可用GPU,想著不用白不用,先裝一個GPU版本再說。但是我按照網(wǎng)上的所有方法,torch.cuda.is_available()總是返回False。有輕微強迫癥的我,不解決掉是睡不好的。
首先說一下我所做的工作順序。說不定能有參考。(系統(tǒng):WIN10)
1.安裝CUDA
此處有其他大量且優(yōu)質(zhì)的帖,故不在此詳述。我自己的機器支持CUDA10.2,但是我安裝的是CUDA10,按理說應(yīng)該版本是向下支持的。安裝正確在cmd中敲nvcc -V能顯示即可。
![](/d/20211017/8d98e0d0968cefce9b96b09fd6254a88.gif)
NVIDIA-smi命令截圖如下。感覺是沒什么問題的,驅(qū)動版本也挺高。
![](/d/20211017/ea6cad5d9a2fd3520ba88ec14681f9e7.gif)
2.安裝對應(yīng)版本的pytorch
首先想到的肯定是官網(wǎng)安裝。conda+重新開放的清華源=神速。此處是我自己的一個大坑。
![](/d/20211017/339d76d77d31568e4f0d582c971cb85d.gif)
3.安裝cudnn等
同樣,有大量帖子教學(xué)。我是在一直失敗,走投無路,抱著安裝一下試試的想法,結(jié)果并無卵用。
玄學(xué)解決
網(wǎng)上的攻略說產(chǎn)生此類問題的主要原因在于驅(qū)動安裝的不正確。但我自己的情況并不符合。
在搜了大量的帖子無果后。偶然發(fā)現(xiàn),使用官網(wǎng)conda命令下載的,居然全是CPU版本。
![](/d/20211017/3dcda9e236bd5975672a255f3a2ef485.gif)
無論我怎么嘗試使用conda下載任何版本,都是cpu版本的。可能是清華源的問題??
既然conda無法用,那就用pip。官網(wǎng)的pip命令,不知道是不是我的問題,就算使用各種源,速度也超級慢,還會中斷,700M+硬是下不下來。無奈使用本地下載方法。
在此處尋找符合自己版本的pytorch-cuda版本,torchvision版本下載。
https://download.pytorch.org/whl/torch_stable.html
(速度同樣極慢!但是不會斷了。。。。勉強能下)
下載后pip install xxx(下載下來的文件名) 安裝即可。
![](/d/20211017/e90d196e104531cffb053341a0482cd7.gif)
接下來就見證奇跡了。但是奇跡是怎么發(fā)生的,conda為什么只能下cpu版本,我一直沒有搞明白。
補充:記錄下pytorch安裝中一個比較隱蔽的坑,torch.cuda.is_available()返回false的一個原因
如題,想要安裝GPU版,一開始從網(wǎng)上找了教程,顯卡驅(qū)動、CUDA、cuDNN挨個更新安裝,都選擇了10.1版本,安裝完后在anaconda中按照官網(wǎng)提示輸入下面的代碼,可以看到cudatoolkit即GPU版
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
然后發(fā)現(xiàn)基本上大一點的包都下載不下來,包括pytorch、cudatoolkit等等,遂又從網(wǎng)上找教程,加清華源,加了幾個之后下載很快,下載下來也可以用,以為已經(jīng)成功了,但是torch.cuda.is_available()返回就是False。
最開始以為是開始安裝的版本不匹配,然后又嘗試了10.2版本的CUDA,結(jié)果還是一模一樣,最后輸入conda list后終于發(fā)現(xiàn)了問題所在:
![](/d/20211017/b9523e8ea93df5e1b18a1ee04bf2a01c.gif)
可以看到第三列版本號前面的cpu,后來上清華源的網(wǎng)站上看了下,可能是清華源沒有對應(yīng)cuda版本的pytorch,所以會裝cpu版的。
目前的解決方法有兩個,可以去清華源網(wǎng)站上找對應(yīng)的版本,https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/,安裝輸入命令行時將cuda版本改掉。也可以科學(xué)上網(wǎng),直接從官網(wǎng)安裝。
您可能感興趣的文章:- 粗暴解決CUDA out of memory的問題
- PyTorch CUDA環(huán)境配置及安裝的步驟(圖文教程)
- 解決PyTorch與CUDA版本不匹配的問題
- 詳解win10下pytorch-gpu安裝以及CUDA詳細安裝過程
- 如何解決.cuda()加載用時很長的問題