折腾 | pytoch、cuda版本问题
凡是寫代碼的人,基本上都去過(guò)博客、簡(jiǎn)書、github等網(wǎng)站,實(shí)際上跑別人的代碼也是一種學(xué)習(xí),會(huì)遇到?jīng)]有見過(guò)的函數(shù)、別人的編碼風(fēng)格、同樣的功能別人一句話,自己寫要十來(lái)句,都是通過(guò)看別人的東西,慢慢積累的一些經(jīng)驗(yàn)。
最近我也下載了一個(gè)代碼,據(jù)介紹說(shuō)很牛逼,忍不住好奇去跑一下。
但是大多數(shù)情況下,自己的電腦環(huán)境和別人的環(huán)境是不一樣的,于是就出現(xiàn)了一個(gè)問(wèn)題:需要將本地環(huán)境配置為和別人要求的環(huán)境一致。越一致,越容易運(yùn)行起來(lái),也不會(huì)出什么幺蛾子。
你是不是也是這么想的,并且是這么做的,我也是。
但是今天,我覺得可能要優(yōu)化一下。
下載的項(xiàng)目使用的pytorch是1.3.1版本,我本地安裝的是pytorch版本是0.4.0,cuda是11.0,于是先把pytorch版本改為1.3.1。
運(yùn)行的時(shí)候沒有什么問(wèn)題,但是使用的是cpu跑。
這就尷尬了,需要等很久才能看到一個(gè)結(jié)果。
于是我就檢查為啥不是GPU在跑程序,最后發(fā)現(xiàn)gpu都不可用了
上網(wǎng)一查,原來(lái)是torch的版本和cuda的版本不匹配。
那怎么辦?查cuda11.0應(yīng)該對(duì)應(yīng)的版本是多少,最后在官網(wǎng)看到對(duì)應(yīng)的是1.7.1.
這下目標(biāo)明確了,把torch改為1.7.1,那就可以使用gpu了。
接下來(lái)就是卸載原有的torch和下載安裝新的torch,卸載沒有什么問(wèn)題,麻煩的是安裝,速度慢啊,總得想辦法解決啊
有人推薦豆瓣、清華鏡像等,其實(shí)速度都慢,最快的方法是:將下載時(shí)離線的whl文件,直接本地安裝,下載whl的時(shí)候使用迅雷下載,一般幾分鐘就下載好了,速度是真的快。
安裝好了就測(cè)gpu是否可用,然后接著跑程序
原本要求1.3.1的torch現(xiàn)在使用1.7.1依然可以跑,向下兼容可能會(huì)有一些警告,但是結(jié)果基本上都不影響
所以得出一個(gè)經(jīng)驗(yàn):拿到別人的代碼的時(shí)候,先別著急把所有環(huán)境都改成人家要求的那樣,這個(gè)項(xiàng)目一個(gè)環(huán)境,那個(gè)項(xiàng)目又是一個(gè)環(huán)境,那每換一個(gè)項(xiàng)目就要重新弄環(huán)境,比較麻煩
其次,經(jīng)過(guò)一番折騰,發(fā)現(xiàn)需要測(cè)很多版本號(hào),比如:python、cuda、torch等,也記錄一下如何快速測(cè):
python版本:安裝好了python后,最好加入到環(huán)境變量中,然后測(cè)試非常方便:
cuda版本也是很好測(cè)的:
torch版本稍微復(fù)雜一點(diǎn):
多測(cè)一點(diǎn),檢查下gpu是否可用
cuda11.0與torch1.7.1匹配,所以才能順利使用gpu。
總結(jié)
以上是生活随笔為你收集整理的折腾 | pytoch、cuda版本问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 剖析 | torch.nn.functi
- 下一篇: 深度之眼 | 《如何高效度论文》笔记