PyTorch在64位Windows下的Conda包
昨天發了一篇PyTorch在64位Windows下的編譯過程的文章,有朋友覺得能不能發個包,這樣就不用折騰了。於是,這個包就誕生了。感謝@Jeremy Zhou為conda包的安裝做了測試。
更新:已經添加了對所有Compute Capability>=3.0的顯卡和老版本Windows的支持
更新:已更新為最新的0.3版本。
先別急著激動。如果要直接使用的話,你需要滿足以下條件:
- Anaconda3 x64 (with Python 3.5/3.6)
- Windows 64位系統(Windows 7 或 Windows Server 2008 及以上)
- CUDA 8 / CUDA 9(包中已內置,因此老版本也能用)
- cuDNN v5以上(包中已經自帶了, cuDNN v5用戶亦可放心使用)
這四個條件個人感覺還算比較OK,如果不想放棄Anaconda2也可以創建虛擬環境來使用。
要安裝的話,如果你不嫌棄anaconda cloud的網速的話,只需根據自己的系統鍵入下面的一條命令即可:
# for CPU only packagesconda install -c peterjc123 pytorch# for Windows 10 and Windows Server 2016, CUDA 8conda install -c peterjc123 pytorch cuda80# for Windows 10 and Windows Server 2016, CUDA 9conda install -c peterjc123 pytorch cuda90# for Windows 7/8/8.1 and Windows Server 2008/2012, CUDA 8conda install -c peterjc123 pytorch_legacy cuda80
如果不能忍受conda那蝸牛爬般的網速的話,那我為大家將包上傳至公有雲中,可以嘗試百度雲,大家下載之後,鍵入如下幾條指令:
cd "下載包的路徑"conda install numpy mkl cfficonda install --offline pytorch????.tar.bz2
註:文件名說明:
一般為PACKAGENAME-VERSION-PYTHON_VERSIONcuCUDA_VERSION.tar.bz
PACKAGENAME 分為 pytorch 和 pytorch_legacy, 分別為NT內核版本10和6的兩類系統進行編譯;VERSION 代表 pytorch 的版本;而PYTHON則代表python程序的版本,主要分為3.5和3.6;CUDA_VERSION代表CUDA編譯的版本。請自行選擇合適的版本進行安裝。
安裝之後,也千萬要注意,要在主代碼的最外層包上
if __name__ == __main__:
這個判斷,可以參照我昨天文章中的例子,因為PyTorch的多線程庫在Windows下工作還不正常。
更新:經網友提醒,若import torch時發生如下錯誤:
Traceback (most recent call last): File "test.py", line 2, in <module> import torch File "C:Anaconda3libsite-packages orch\__init__.py", line 41, in <module> from torch._C import *ImportError: DLL load failed: The specified module could not be found.
- 請將Anaconda的Python版本升級至3.5.3/3.6.2及以上。
- 如果安裝了CUDA編譯的包,請確保你的電腦有Nvidia的顯卡。
- 如還不行,試試看創建虛擬環境是否能解決。
附一段簡單測試CUDA與cuDNN是否工作正常的代碼:
# CUDA TESTimport torchx = torch.Tensor([1.0])xx = x.cuda()print(xx)# CUDNN TESTfrom torch.backends import cudnnprint(cudnn.is_acceptable(xx))
如果CUDA工作不正常,那就不能使用.cuda()將模型和數據通過GPU進行加速了。而如果cuDNN不能正常工作,那就使用如下代碼關掉它:
cudnn.enabled = False
以上,就是文章的全部內容啦,如果感覺還意猶未盡的話,可以給我的Github 主頁或者項目加個watch或者star之類的(滑稽),以後說不定還會再分享一些相關的經驗。
推薦閱讀:
※如何評價 Theano?
※訓練集準確率接近100%,驗證集準確率80%但是隨著訓練step增加不增也不降。算是過擬合還是欠擬合?
※國內有哪些大學開了深度學習課程?
※怎麼可視化深層網路的深層權重?
TAG:深度学习DeepLearning | PyTorch | MicrosoftWindows |