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

折腾了一周多,踩了好多坑,终于搞定了。步骤如下:
安装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
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib/libcudnn

注意:/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

原文地址:https://blog.51cto.com/leesbing/2357358

时间: 2024-07-30 21:13:26

macos+xcode9+cuda10+anaconda+pytorch+torchvision安装的相关文章

[Python[Anaconda &amp; PyTorch]] -- 使用conda 安装 Torch 出现错误 --Windows

... (⊙o⊙)… ... 当时具体的错误我没有截图, 用这个命令时 , conda 会报无法在源中找到PyTorch, 还是什么的错误 有很大的一个可能是, 安装的Anaconda 是32 位的, 我换成64 位的之后就可以安装了 (安装得慢的话, 试试 conda install pytorch torchvision cudatoolkit=10.0 #cuda 10 或 conda install pytorch torchvision cudatoolkit=9.2 -c defau

anaconda+pytorch安装(无GPU版本)

anaconda+pytorch安装(无GPU版本) 待办 https://blog.csdn.net/nnUyi/article/details/78471326 原文地址:https://www.cnblogs.com/lishikai/p/12345395.html

Linux服务器配置GPU版本的pytorch Torchvision TensorFlow

最近在Linux服务器上配置项目,项目需要使用GPU版本的pytorch和TensorFlow,而且该项目内会同时使用TensorFlow的GPU和CPU. 在服务器上装环境,如果重新开始,就需要下载很多依赖包,而且如果直接在系统上安装包,可能会和服务器上的其他包发生冲突,因此使用Anaconda创建虚拟环境来管理项目的依赖包.Anaconda的安装可以去清华大学的镜像下载,速度比较快,选择对应的版本就可以了 https://mirrors.tuna.tsinghua.edu.cn/anacon

[pytorch学习]1.pytorch ubuntu安装

看完了Deep Learning with Python,尝试了部分Keras的demo代码. 感觉Keras虽然容易上手,能够快速搭建出一个通用的模型,但是缺乏对底层的控制. 同时,在使用了自己编译的支持CUDA 10的tensorflow之后,总感觉有些不可控的bug出现:即使仅仅只是把demo代码改为自己的小工程,也有诸如load_model不能放在循环外(否则cudnn报错),第一次model.predict正确,但是循环做第二个predict就出错.在网上搜索了好几天,也没有找到问题的

pytorch之安装踩坑

Conda换源 1.清华源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge conda config --add channels https://mirrors.tuna.tsinghua.e

anaconda在本地安装软件conda install

安装完anaconda后,想在mac下安装pytorch,但是在用官网提供的安装方法一直安装不上pytorch和torchvision,估计是被墙了 conda install pytorch torchvision -c pytorch 所以我用到清华的镜像站找到了pytorch和torchvision相应的版本并下载下来 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/osx-64/ 我下载了mac版本的pytorch-

Anaconda介绍、安装及使用教程

Anaconda介绍.安装及使用教程 〇.序 Python是一种面向对象的解释型计算机程序设计语言,其使用,具有跨平台的特点,可以在Linux.macOS以及Windows系统中搭建环境并使用,其编写的代码在不同平台上运行时,几乎不需要做较大的改动,使用者无不受益于它的便捷性. 此外,Python的强大之处在于它的应用领域范围之广,遍及人工智能.科学计算.Web开发.系统运维.大数据及云计算.金融.游戏开发等.实现其强大功能的前提,就是Python具有数量庞大且功能相对完善的标准库和第三方库.通

Python IDE ——Anaconda+PyCharm的安装与配置

一 前言 最近莫名其妙地想学习一下Python,想着利用业余时间学习一下机器学习(或许仅仅是脑子一热吧).借着研究生期间对于PyCharm安装的印象,在自己的电脑上重新又安装了一遍.利用周末的一点时间,将安装与首次使用流程做个简单总结. PyCharm是我用过的Python编辑器中,比较方便好用的一个,可以跨平台,在macos和windows下面都可以用. 在学习推荐系统.机器学习.数据挖掘时,python是非常强大的工具,也有很多很强大的模块,但是模块的安装却是一件令人头疼的事情. 现在有个工

windows 如何将安装Anaconda之前已经安装的python版本(中已安装的库)移动到 Anaconda中

题目]如何将安装Anaconda之前已经安装的python版本(中已安装的库)移动到 Anaconda中 一.概述 之前安装tensorflow的安装了anaconda并用它进行安装,anaconda安装后里面也带有一个python的版本,之后我发现在cmd中运行时使用的的原来的python版本,并且此版本的python与anaconda中的是相互隔离的,我在原有的python下安装的库,激活tensorflow后是没有的. 所以就想将两个python版本进行合并. 在网上查找了好久,保留原有p