在Ubuntu上编译安装PyTorch的详细步骤
编译PyTorch需要基础的编译工具和库支持,首先更新系统包列表并安装必要依赖:
sudo apt update sudo apt install -y build-essential cmake git wget unzip yasm pkg-config \ libopenblas-dev liblapack-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libgif-dev  这些依赖涵盖了编译工具(如gcc)、构建系统(如cmake)和PyTorch所需的线性代数、图像处理库。
PyTorch需要Python 3.6及以上版本,建议使用虚拟环境隔离依赖:
# 安装Python3及pip sudo apt install -y python3 python3-pip python3-dev # 创建并激活虚拟环境 python3 -m venv pytorch_env source pytorch_env/bin/activate # 升级pip并安装Python依赖 pip install --upgrade pip pip install numpy pyyaml mkl mkl-include setuptools cmake cffi typing_extensions future six requests dataclasses  虚拟环境可避免系统Python环境的冲突,numpy、mkl等是PyTorch编译的核心依赖。
从GitHub官方仓库克隆PyTorch源码,并同步子模块(PyTorch的部分功能通过子模块实现):
git clone --recursive https://github.com/pytorch/pytorch.git cd pytorch # 若已克隆但未同步子模块,可执行: # git submodule sync # git submodule update --init --recursive  子模块包含CUDA内核、分布式训练等关键组件,务必确保同步完成。
根据需求配置环境变量,若使用GPU需指定CUDA路径(需提前安装CUDA Toolkit):
# 设置Python路径(指向当前虚拟环境) export PYTHONPATH=$(pwd) # 若使用CUDA,添加CUDA到PATH(根据实际安装路径调整) export PATH=/usr/local/cuda/bin:$PATH # 可选:设置其他编译选项(如启用MKL-DNN、NNPACK) export USE_CUDA=1 # 启用CUDA(1=启用,0=禁用) export USE_CUDNN=1 # 启用cuDNN export USE_MKLDNN=1 # 启用MKL-DNN加速 export USE_NNPACK=1 # 启用NNPACK加速 export BUILD_SHARED_LIBS=1 # 构建共享库(便于动态链接)  环境变量决定了编译后的PyTorch是否支持GPU加速,需根据硬件配置调整。
进入PyTorch源码目录,执行编译和安装命令:
# 编译PyTorch(此步骤耗时较长,取决于硬件性能) python setup.py build # 安装到当前Python环境 python setup.py install  编译过程会生成动态库和Python模块,安装后将PyTorch集成到当前虚拟环境中。
通过Python交互式命令行验证PyTorch是否安装成功及GPU支持情况:
python -c "import torch; print('PyTorch版本:', torch.__version__); print('CUDA可用:', torch.cuda.is_available())"  若输出PyTorch版本号且torch.cuda.is_available()返回True(仅GPU版本),则说明编译安装成功。
cudnn库(可从NVIDIA官网下载),并确保USE_CUDA和USE_CUDNN设置为1。make -j$(nproc))。