tqyaaaaang's Blog

Install PyTorch from source

Install PyTorch from source

由于 CentOS 6 下 GLIBC 的版本不支持的原因,预编译的 PyTorch 无法正确被安装,需要从源码手动编译 PyTorch。目标机器为 CentOS 6.8,没有网络连接,没有 Python \(\ge\) 3.5,没有 root 权限,编译到当且用户。以下为编译的流程。

编译 Python

由于 Python \(\ge\) 3.7 需要有 libffi 的依赖,因此这里编译 Python 3.6.8。

获取 Python

首先从 www.python.org 获取对应版本的源码,例如 Python 3.6.8 即为 https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz

解压 tgz 压缩包:

tar zxvf Python-3.6.8.tgz

编译安装

然后 cdPython-3.6.8,执行:

./configure --prefix=$HOME/.local --exec_prefix=$HOME/.local
make
make install

编译安装 Python

修改环境变量

修改 .bashrc,增加如下几行:

PATH=~/.local/bin:$PATH
LD_LIBRARY_PATH=~/.local/lib64:~/.local/lib:$LD_LIBRARY_PATH

修改 .bash_profile,增加如下几行:

export PKG_CONFIG_PATH="/home/ytq/.local/lib/pkgconfig"
export LDFLAGS="-L/home/ytq/.local/lib"

重启终端,输入 python3 应当就能找到正确的版本了。如果没有找到 python3 但是找到 python3.6 的话则可以手动执行符号链接:

cd ~/.local/bin
ln -s python3.6 python3

Python-pip

如果安装完成后没有自动安装 Python-pip,则需要手动安装 pip。

按照 https://pip.pypa.io/en/stable/ 中的指示,首先需要下载 get-pip.pyhttps://bootstrap.pypa.io/get-pip.py

然后执行

python3 get-pip.py

即可。

安装 PyTorch 依赖包

从下载相关依赖包

PyPI 下载依赖包的 wheel,需要的依赖包,以及常用模块如下:

tqdm
six
pillow
python-dateutil
pytz
pandas
scikit-learn
PyYAML
numpy
scipy
intel-openmp
mkl
mkl-include
ninja
typing
cffi

用 Python-pip 安装

pip3 install xxx.wheel

即可安装相应的模块。

安装 PyTorch

下载源码

按如下方式克隆源码:

git clone --recursive https://github.com/pytorch/pytorch
cd pytorch
git submodule sync
git submodule update --init --recursive

编译安装

export NO_CUDA=1
python3 setup.py install

安装 PyTorch-vision

下载源码

按同样的方式克隆 vision:

git clone https://github.com/pytorch/vision

编译安装

python3 setup.py install

测试

打开 python3,尝试:

import torch
import torchvision

如不报错则表示成功。

Tianqi Yang

View Comments
Navigation