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

虽然pytorch官方有一个mac下的编译指南,但是还是不是很详细,一路过来我也遇到了许多问题。网上虽然有一些mac 下pytorch-gpu版,但是别人编译的有的时候和自己机器不是很兼容。所以需要自己来编译一下。因为我正好需要用gpu版的pytorch 0.3版,python 2.7,但是在网上找了半天都没找到,所以只能自己动手了。如果不需要gpu版的小伙伴安装pytorch那是非常简单的,可以

虽然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

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


作者:wolf_ray
原文链接:https://blog.csdn.net/wz22881916/article/details/81225282

  • 发表于 2019-11-05 18:41
  • 阅读 ( 36 )
  • 分类:pytorch

0 条评论

请先 登录 后评论
不写代码的码农
wolf_ray_csdn

0 篇文章

作家榜 »

  1. AI君 10 文章
  2. Tzung-Wen Liau 0 文章
  3. blairan 0 文章
  4. rookie 0 文章
  5. 陈凯 0 文章
  6. huanxue 0 文章
  7. admin 0 文章
  8. Lzs1998_csdn 0 文章