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