$ sudo apt-get install git
# conda remove -n Pix2Pix --all
$ conda create -n Pix2Pix -y python=3.6.8 pip
$ source activate Pix2Pix
$ conda install numpy pyyaml mkl=2019.1 mkl-include=2019.1 setuptools cmake cffi typing pybind11
$ conda install ninja
# magma-cuda90 magma-cuda91 magma-cuda92 会编译失败
$ conda install -c pytorch magma-cuda101
$ git clone https://github.com/pytorch/pytorch
$ cd pytorch
# pytorch 1.0.1 版本支持“Compute Capability” 低于3.0版本的硬件,pytorch 1.2.0需要至少3.5版本的硬件才可以正常运行
# https://github.com/pytorch/pytorch/blob/v1.3.0/torch/utils/cpp_extension.py
$ git checkout v1.0.1 -b v1.0.1
$ git submodule sync
$ git submodule update --init --recursive
$ export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"}
# 如果不需要使用cuda的话,这里还要加上一句:export NO_CUDA=1
$ python setup.py clean
# 卸载以前安装的pytorch
$ conda uninstall pytorch
# 从Nvidia开发网站查询到自己硬件对应的“Compute Capability”
# 比如 “GeForce GTX 760” 对应 “3.0” 计算能力,能力不正确会导致运行异常
# RuntimeError: cuda runtime error (48) : no kernel image is available for execution on the device
$ python setup.py install
# 对于开发者模式,可以使用
# python setup.py build develop
# 一定要退出 pytorch 的编译目录,在pytorch代码目录下执行命令会出现异常
$ cd ..
# 退出环境
$ conda deactivate