Mac下Pytorch-GPU 0.3源码编译安装

虽然pytorch官方有一个mac下的编译指南,但是还是不是很详细,一路过来我也遇到了许多问题。

网上虽然有一些mac 下pytorch-gpu版,但是别人编译的有的时候和自己机器不是很兼容。所以需要自己来编译一下。

因为我正好需要用gpu版的pytorch 0.3版,python 2.7,但是在网上找了半天都没找到,所以只能自己动手了。

如果不需要gpu版的小伙伴安装pytorch那是非常简单的,可以看一下我写的这个教程mac下安装pytorch,几条命令就ok。

1. Conda安装python环境

假设已经安装好了anconda,这里我需要的是python2.7,所以直接conda一个环境就可以了。

conda create -n pytorch_gpu_0.3 python=2.7

环境创建好之后,激活一下环境,在这个环境下进行操作。

source activate pytorch_gpu_0.3

2. 下载pytorch源码

是需要下载自己需要版本的pytorch源码,这里我需要的是0.3版的,所以把0.3版的clone下来。

git clone --branch v0.3.1 https://github.com/pytorch/pytorch.git

然后进入到文件夹里,

cd <你自己的目录>/pytorch

最开始clone的时候,submodule的内容并不会自动下载下来,如果不下载下来子模块的文件的话,会缺少相应的文件。

此时,只需执行如下命令:

git submodule update --init

然后稍微等一会就下完了。

3. 检查Clang版本

我的Clang版本是9.0,但是当前的CUDA与Clang版本中的CommandLineTools不兼容。我们需要使用XCODE 8.2的CommandLineTools。通过这条命令查看clang版本

clang --version 

要是和上面这个图显示的不一样的话,那么就需要下载了。

步骤如下:

 

  1. 登录 https://developer.apple.com/downloads/
  2. 下载Xcode CLT (Command Line Tools) 8.2  (不方便下载的同学,我下好了传到了百度云上,需要自取 https://pan.baidu.com/s/1troDTmqM8X_ibV0a7h7nNA 密码: ucmd)
  3. 安装 CLT
  4. 执行 
    sudo xcode-select --switch /Library/Developer/CommandLineTools
  5. 再次输入命令行查看clang版本,按理说现在应该就是对的了

4. 编译Pytorch

然后开始编译GPU版的pytorch,这里我假设你的CUDA之类的已经都安装好了。

还有一个需要注意的是,需要安装一下依赖包:

conda install numpy pyyaml mkl mkl-include setuptools cmake cffi typing

然后直接运行下面这些命令,

export CMAKE_PREFIX_PATH=<换成你的anconda根目录 >,下面的命令是我的,那个CUDNN的目录可能你也需要根据你自己的进行调整。

export CMAKE_PREFIX_PATH=/Users/ray/anaconda2

CUDNN_LIB_DIR="/Developer/cudnn/lib/"

CUDNN_INCLUDE_DIR="/Developer/cudnn/include/"

MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python setup.py install

然后等啊等啊等,编译的时候cpu应该占用率差不多要100%了,在我的电脑上面大概是花了1个小时的样子。

 

安装完成之后,然后就赶紧来测试一下吧。这里有一个坑

熟练地python,import torch,然后就会报错,差不多都这种的

ModuleNotFoundError: No module named 'torch._C'

查了下pytorch repo的issues,果然很多人遇到

作者淡定说,不要在pytorch项目根目录下导入torch,非常的神奇!!!所以cd ..一下在import torch,一般就可以了

 

需要注意的是,使用源码安装 pytorch的时候,是没有安装 torchvision的。所以也需要使用

pip install torchvision

,或者从源码安装。

 

5. 打包生成whl

cd 到pytorch项目中,然后和安装的时候差不多的,

MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python setup.py bdist_wheel

不过目前我生成的不好用,不知道为什么

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值