PyTorch在64位Windows下的Conda包

天好熱啊發表於2017-05-12

昨天發了一篇PyTorch在64位Windows下的編譯過程的文章,有朋友覺得能不能發個包,這樣就不用折騰了。於是,這個包就誕生了。感謝@晴天1494598013779為conda包的安裝做了測試。

更新:已經新增了對所有Compute Capability>=2.0的顯示卡的支援

先別急著激動。如果要直接使用的話,你需要滿足以下條件:

  • Anaconda3 (with Python 3.6)
  • Windows 10 64位系統(其他由於CUDA二進位制檔案不一致所以不行)
  • CUDA 8.0.61
  • cuDNN v5以上(包中已經自帶了v6, cuDNN v5使用者亦可放心使用)

這四個條件個人感覺還算比較OK,如果不想放棄Anaconda2也可以建立虛擬環境來使用。

要安裝的話,如果你不嫌棄anaconda cloud的網速的話,只需鍵入下面一條命令:

conda install -c peterjc123 pytorch=0.1.12複製程式碼

如果不能忍受conda那蝸牛爬般的網速的話,那我為大家將包上傳至公有云中,可以嘗試七牛雲或者百度雲,大家下載之後,鍵入如下幾條指令:

conda install numpy mkl cffi
conda install --offline path/to/tar/pytorch-0.1.12-py36_0.1.12cu80.tar.bz2複製程式碼

安裝之後,也千萬要注意,要在主程式碼的最外層包上

if __name__ == '__main__':複製程式碼

這個判斷,可以參照我昨天文章中的例子,因為PyTorch的多執行緒庫在Windows下工作還不正常。

更新:經網友提醒,若import torch時發生如下錯誤:

Traceback (most recent call last):
  File "test.py", line 2, in <module>
    import torch
  File "C:\Anaconda3\lib\site-packages\torch\__init__.py", line 41, in <module>
    from torch._C import *
ImportError: DLL load failed: The specified module could not be found.複製程式碼

請將Anaconda的Python版本從3.6.0升級至3.6.1。

附一段簡單測試CUDA與cuDNN是否工作正常的程式碼:

# CUDA TEST
import torch
x = torch.Tensor([1.0])
xx = x.cuda()
print(xx)

# CUDNN TEST
from torch.backends import cudnn
print(cudnn.is_acceptable(xx))複製程式碼

如果CUDA工作不正常,那就不能使用.cuda()將模型和資料通過GPU進行加速了。而如果cuDNN不能正常工作,那就使用如下程式碼關掉它:

cudnn.enabled = False複製程式碼

以上,就是文章的全部內容啦,如果感覺還意猶未盡的話,可以給我的Github 主頁或者專案加個watch或者star之類的(滑稽),以後說不定還會再分享一些相關的經驗。

相關文章