2019 Mac13.6安裝cuda+cudnn+pytorch

我的原文:https://www.hijerry.cn/p/49582.html

本次主要記錄一些自己遇到的問題的解決方案

CUDA、cuDNN

大致流程參照 2018 MAC安裝CUDA、cuDNN(Gaming Box1070)

順序是:GPU Driver、CUDA Driver、CUDA Toolkit、cuDNN

安裝驅動時要注意:

MacOS與NVIDIA GPU Driver的版本要匹配,才能驅動顯卡
CUDA Driver與NVIDIA GPU Driver的版本要一致,CUDA才能找到顯卡

關鍵地址:

我自己安裝好後的配置是:

  • GPU Driver Version: 387.10.10.10.40.105
  • CUDA Driver Version: 418.105
  • CUDA:10.1.105
  • cuDNN:7.4.2

版本查看方式:

cat $CUDA_HOME/version.txt # CUDA
cat $CUDA_HOME/include/cudnn.h | grep CUDNN_MAJOR -A 2 #cuDNN

Pytorch with CUDA

Pytorch官方 說的很清楚:

MacOS Binaries dont support CUDA, install from source if CUDA is needed

目前要with CUDA有兩個方式:從源碼安裝、安裝第三方pip包

從源碼安裝

參照:https://github.com/pytorch/pytorch#from-source

這條路我沒走通。雖然成功編譯了pytorch,但執行import torch時遇到了錯誤:

ModuleNotFoundError: No module named 'torch._C'

按照google結果,我應該在 torch 目錄的以下兩個文件複製:

cp _C.cpython-37m-darwin.so _C.so
cp _dl.cpython-37m-darwin.so _dl.so

但我的 torch 目錄下沒有這兩個文件

第三方pip包

參照:https://github.com/TomHeaven/pytorch-osx-build

我下載的是:pytorch-1.0-py27-py37-cuda10-cudnn74

這是別人編譯好的pip包,下載後用pip安裝即可:

pip install torch-1.0-cp37-cp37m-macosx_10_13_x86_64.whl

No module named ‘torch._C’

Library not loaded: @rpath/xxxx.10.0.dylib

在運行 import torch 時報的錯,比如:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/jerry/anaconda3/lib/python3.7/site-packages/torch/__init__.py", line 84, in <module>
    from torch._C import *
ImportError: dlopen(/Users/jerry/anaconda3/lib/python3.7/site-packages/torch/_C.cpython-37m-darwin.so, 9): Library not loaded: @rpath/libcufft.10.0.dylib
  Referenced from: /Users/jerry/anaconda3/lib/python3.7/site-packages/torch/lib/libtorch_python.dylib
  Reason: image not found

libcufft是cuda的庫,這裏只是文件名沒找到而已,而庫文件其實是在 $CUDA_HOME/lib下的,所以手動鏈接一下就行,下面是對同類錯誤的庫進行統一處理:

sudo ln -s $CUDA_HOME/lib/libcufft.10.dylib $CUDA_HOME/lib/libcufft.10.0.dylib
sudo ln -s $CUDA_HOME/lib/libcurand.10.dylib $CUDA_HOME/lib/libcurand.10.0.dylib
sudo ln -s $CUDA_HOME/lib/libcublas.10.dylib $CUDA_HOME/lib/libcublas.10.0.dylib
sudo ln -s $CUDA_HOME/lib/libcudart.dylib $CUDA_HOME/lib/libcudart.10.0.dylib
sudo ln -s $CUDA_HOME/lib/libnvrtc.dylib $CUDA_HOME/lib/libnvrtc.10.0.dylib
sudo ln -s $CUDA_HOME/lib/libcusparse.10.dylib $CUDA_HOME/lib/libcusparse.10.0.dylib

參考引用

[1] 2018 MAC安裝CUDA、cuDNN(Gaming Box1070), 2019-04-12.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章