macos+xcode9+cuda10+anaconda+pytorch+torchvision安装

栏目: 编程工具 · IOS · 发布时间: 5年前

内容简介:折腾了一周多,踩了好多坑,终于搞定了。步骤如下:安装NIVIDIA的GPU web驱动程序cuda不推荐使用苹果的系统自带驱动,所以安装NIVIDIA出的GPU型号(GeForce GT 650M)对应的WebDriver-387.10.10.10.40.118。

折腾了一周多,踩了好多坑,终于搞定了。步骤如下:

安装NIVIDIA的GPU web驱动程序

cuda不推荐使用苹果的系统自带驱动,所以安装NIVIDIA出的GPU型号(GeForce GT 650M)对应的WebDriver-387.10.10.10.40.118。

下载地址 https://www.nvidia.com/download/driverResults.aspx/142160/en-us

安装NIVIDIA的CudaDriver

从这里下载 https://www.nvidia.com/object/mac-driver-archive.html

安装xcode

因为当前最新版cuda10.0不支持最新的xcode10,所以必须安装xcode9.4

我把两个版本都安装了,用如下命令可以切换使用不同版本的xcode:

sudo xcode-select -s /Applications/xcode10.1.app 或者 sudo xcode-select -s /Applications/xcode9.4.1.app

实际只需要安装xcode9.4即可

旧版本xcode需要下载之后才能安装,下载地址https://download.developer.apple.com/Developer_Tools/Xcode_9.4.1/Xcode_9.4.1.xip 需要注册账号才能下载

安装CUDA

因为NIVIDIA网站下载速度慢,不稳定,建议用如下命令下载CUDA和CUDNN安装包

aria2c -c https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_mac

aria2c -c https://developer.download.nvidia.com/compute/cuda/10.0/secure/Prod/local_installers/cuda_10.0.130_mac.dmg

aria2c -c https://developer.nvidia.com/compute/cuda/9.1/Prod/local_installers/cuda_9.1.128_mac

aria2c -c https://developer.nvidia.com/compute/cuda/9.1/Prod/local_installers/cuda_9.1.128_mac

aria2c -c https://developer.download.nvidia.cn/compute/cuda/9.1/secure/Prod/local_installers/cuda_9.1.128_mac.dmg

打开下载的安装包安装结束后,cuda的安装目录缺省是/Developer/NVIDIA/CUDA-10.0

设置cuda相关的环境变量

打开~/.bash_profile文件,输入以下内容,设置cuda相关的环境变量:

export CUDA_ROOT=/Developer/NVIDIA/CUDA-10.0

export CUDA_HOME=/Developer/NVIDIA/CUDA-10.0

export PATH=$CUDA_ROOT/bin${PATH:+:${PATH}}

export DYLD_LIBRARY_PATH=$CUDA_ROOT/lib${DYLD_LIBRARY_PATH:+:${DYLD_LIBRARY_PATH}}

export LD_LIBRARY_PATH=$CUDA_ROOT/lib:$LD_LIBRARY_PATH

其中,环境变量CUDA_ROOT给Theano指定了CUDA的安装目录,也可以被设置为/usr/local/cuda(这两个路径下的文件均通过软链接被link到了一起)。

配置完成后,退出编辑器,执行以下命令使环境变量生效。

source ~/.bash_profile

安装CUDA samples 文件

CUDA samples 文件安装目录: /Developer/NVIDIA/CUDA-10.0/samples

cuda-install-samples-10.0.sh /usr/local/cuda/samples #安装samples文件

sudo chown -R admin123 /Developer/NVIDIA/CUDA-10.0/samples #修改目录权限和属主,非常重要!

验证安装cuda 的时候,执行命令

nvcc -V

/Developer/NVIDIA/CUDA-10.0/samples/bin/x86_64/darwin/release/deviceQuery

第二个程序会显示使用的NIVIDIA显卡信息,如果deviceQuery这个命令不存在(初次安装需要编译生成),进入CUDA的samples安装目录,然后执行如下命令生成它

cd /Developer/NVIDIA/CUDA-10.0/samples

make -C 0_Simple/vectorAdd

#如果执行报错unable to open output file 'vectorAdd.o': 'Permission denied',执行sudo chown -R admin123 /Developer/NVIDIA/CUDA-10.0/samples

make -C 0_Simple/vectorAddDrv

make -C 1_Utilities/deviceQuery

make -C 1_Utilities/bandwidthTest

安装CUDNN

CUDNN实际就是几个库文件,下载后解压,然后拷贝到CUDA安装目录的对应子目录即可

下载 cuDNN at https://developer.nvidia.com/cudnn 或者执行如下命令下载

aria2c -c https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.5.0.56/prod/10.0_20190219/cudnn-10.0-osx-x64-v7.5.0.56.tgz

拷贝下载文件到自己创建的cudnn目录,解压文件,把解压的文件拷贝到cuda安装目录下的对应子目录

sudo mkdir /Developer/NVIDIA/cudnn

mv /Users/admin123/Downloads/cudnn-10.0-osx-x64-v7.5.0.56.tar /Developer/NVIDIA/cudnn

sudo tar -xzvf cudnn-10.0-osx-x64-v7.5.0.56.tar

sudo cp cuda/include/cudnn.h $CUDA_ROOT/include

sudo cp cuda/lib/libcudnn

$CUDA_ROOT/lib

sudo chmod a+r $CUDA_ROOT/include/cudnn.h $CUDA_ROOT/lib/libcudnn

我的实际操作步骤是:

sudo mkdir /usr/local/cudnn

mv /Users/admin123/Downloads/cudnn-10.0-osx-x64-v7.5.0.56.tar /usr/local/cudnn

sudo tar -xzvf cudnn-10.0-osx-x64-v7.5.0.56.tar

sudo cp cuda/include/cudnn.h /usr/local/cuda/include

sudo cp cuda/lib/libcudnn

/usr/local/cuda/lib

注意:/usr/local/cuda下的目录和文件应该都链接到/Developer/NVIDIA/CUDA-10.0下对应的目录和文件。但是我的mac上有一个lib子目录没有链接,估计是安装过程中出了问题。

验证安装 CUDNN

$ echo -e '#include"cudnn.h"\n void main(){}' | nvcc -x c - -o /dev/null -I/usr/local/cuda/include -L/usr/local/cuda/lib -lcudnn

If no error occurs, both the header and library are installed and can be located by the nvcc compiler.

安装最新版的Anaconda 2018.12 for macOS

#安装最新版非常重要,否则后面会遇到很多问题

#使用官方源,不要使用清华源,清华源问题多。官方源已经不被墙了。

选择的 python 版本是3.7.1

conda -V 命令显示版本是conda 4.6.7

安装pytorch

从源代码build pytorch(这是我唯一测试成功的支持cuda的方法)

一直遇到各种问题,最后发现:安装最新版的anaconda 2018.12 for MacOS(内部版本号4.6.7) ,并配置好前面的所有环境变量才行

conda install numpy pyyaml mkl mkl-include setuptools cmake cffi typing #安装依赖包

cd /Developer #这里是建在/Developer目录下

sudo git clone --recursive https://github.com/pytorch/pytorch #sudo 才能有权限在macos上建立目录pytorch

cd /Developer/pytorch

export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"}

sudo MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python setup.py install #可以在不使用NIVIDIA卡的情况下编译

这个build过程时间较长,build过程中还会从网上下载需要的文件

从conda安装preview版(因为正式版1.0不支持cuda)

环境:conda 4.6.7,python 3.7.1 CUDA 10.0

conda install pytorch-nightly -c pytorch #这一条命令搞定安装,但是安装后发现没有激活cuda支持,最后从源代码安装才搞定cuda

检查pytorch安装结果

启动python,注意之前设置的环境变量一定要生效状态

键入下面的命令

from future import print_function

import torch

x = torch.rand(5, 3)

print(x)

输出应该类似为:

tensor([[0.3380, 0.3845, 0.3217],

[0.8337, 0.9050, 0.2650],

[0.2979, 0.7141, 0.9069],

[0.1449, 0.1132, 0.1375],

[0.4675, 0.3947, 0.1426]])

检查pytorch是否可以通过cuda使用GPU加速

import torch

torch.cuda.is_available() #返回结果应该是 true。测试中发现用旧版本anaconda(python3.6)编译pytorch成功后,执行这个命令时,macos自动激活使用NIVIDIA GT650M显卡。但是因为cmake的版本依赖问题,使用新版本anaconda(python3.7)编译后,没有这个行为.

print(torch.cuda.get_device_name(0)) #测试返回结果如下

/Applications/anaconda3/lib/python3.7/site-packages/torch/cuda/ init .py:118: UserWarning:

Found GPU0 GeForce GT 650M which is of cuda capability 3.0.

PyTorch no longer supports this GPU because it is too old.

The minimum cuda capability that we support is 3.5.

####说明这个版本的cuda10.1不支持GT650M显卡,认为它太旧了####

安装torchvision模块

安装好pytorch之后,还要安装torchvision模块

方法一,用 conda 安装

#方法来自https://github.com/pytorch/vision官方文档,但是会强制安装pytorch-1.0.1,导致不支持cuda

conda install torchvision -c pytorch

安装时提示:

The following packages will be downloaded:

package                    |            build
---------------------------|-----------------
pytorch-1.0.1              |          py3.7_2        25.7 MB  pytorch          #源代码安装的是1.0版本,这里要做升级,升级却后不支持cuda
torchvision-0.2.2          |             py_3          44 KB  pytorch
------------------------------------------------------------
                                       Total:        25.7 MB

方法二, 从源代码安装

方法来自https://github.com/pytorch/vision官方文档,测试下来没问题,支持cuda

cd /Developer

sudo git clone --recursive https://github.com/pytorch/vision

验证torchvision的安装是否成功:

import torchvision

遇到的常见问题

torch._C问题

在python里面执行以下命令

>> import torch

报错如下:

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

File "/pytorch/torch/ init .py", line 97, in <module>

from torch._C import *

ModuleNotFoundError: No module named 'torch._C'

原因是:

the problem is that you have a folder called torch in the same directory which is being picked up. Do this: cd .. (to change directory), and then start python and import torch, it should work.

用户启动python时所在的目录下有同名的torch目录,这导致程序错误的使用了这个目录。换一个目录,重启python即可。

xcode版本选择和developer tools

Use sudo xcode-select --switch path/to/Xcode.app to specify the Xcode that you wish to use for command line developer tools, or use xcode-select --install to install the standalone command line developer tools.

参考文档

下载旧版本cuda的网址 https://developer.nvidia.com/cuda-toolkit-archive

NVIDIA CUDA Drivers for MAC Archive https://www.nvidia.com/object/mac-driver-archive

NVIDIA CUDA Installation Guide for Mac OS X https://docs.nvidia.com/cuda/cuda-installation-guide-mac-os-x/index.html

NVIDIA CUDA INSTALLATION GUIDE FOR MAC OS X https://developer.download.nvidia.cn/compute/cuda/9.2/Prod/docs/sidebar/CUDA_Installation_Guide_Mac.pdf

CUDA toolkid v10.1.105 Quick Start Guide https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html#mac

CUDA Drivers for MAC Archive https://www.nvidia.com/object/mac-driver-archive.html

CUDA、CUDNN在Mac Book Pro上安装的问题 https://www.cnblogs.com/didda/p/9065387.html

Mac下CUDA开启及Tensorflow-gpu 1.4安装 https://blog.csdn.net/wz22881916/article/details/78807993

CUDA-Z 就是gpu-z,具体参数就变成了针对cuda应用方面的信息,支持cuda信息查询,可以测试电脑cuda的速度。 https://sourceforge.net/projects/cuda-z/

深度学习开发环境搭建教程(Mac篇) http://www.cnblogs.com/iloveai/p/shen-du-xue-xi-kai-fa-huan-jing-da-jian-jiao-cheng.html

《深度学习框架PyTorch:入门与实践》 https://github.com/chenyuntc/pytorch-book

各个版本的anaconda官方下载地址 https://repo.anaconda.com/archive/

在macOS上安装nVidia驱动程序的最简单的方法 https://www.ctolib.com/Benjamin-Dobell-nvidia-update.html

macOS Sierra (10.12.3)利用aria2解决CUDA下载失败问题 http://www.mobibrw.com/2017/6723

Mac下CUDA开启及Tensorflow-gpu 1.4 安装 https://blog.csdn.net/liujiandu101/article/details/80566071


以上所述就是小编给大家介绍的《macos+xcode9+cuda10+anaconda+pytorch+torchvision安装》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C语言程序设计

C语言程序设计

K. N. King / 吕秀锋、黄倩 / 人民邮电出版社 / 2010-4 / 79.00元

时至今日, C语言仍然是计算机领域的通用语言之一,但今天的 C语言已经和最初的时候大不相同了。本书最主要的一个目的就是通过一种“现代方法”来介绍 C语言,书中强调标准 C,强调软件工程,不再强调“手工优化”。这一版中紧密结合了 C99标准,并与 C89标准进行对照,补充了 C99中的最新特性。本书分为 C语言的基础特性、 C语言的高级特性、 C语言标准库和参考资料 4个部分。每章末尾都有一个“问与......一起来看看 《C语言程序设计》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试