在安装任何依赖前,先更新Ubuntu的软件包列表,确保获取最新版本:
sudo apt update
PyTorch的编译和运行需要一些基础系统库,用于线性代数计算、图像处理、编译工具等:
sudo apt install -y build-essential cmake git wget unzip yasm pkg-config \
libopenblas-dev liblapack-dev libjpeg-dev libpng-dev libtiff-dev \
libavcodec-dev libavformat-dev libswscale-dev python3-dev python3-pip
build-essential:包含gcc/g++等编译工具,用于编译PyTorch的C++扩展;libopenblas-dev/liblapack-dev:线性代数计算库,支持PyTorch的张量运算;libjpeg-dev/libpng-dev:图像编解码库,用于处理图像数据;python3-dev/python3-pip:Python开发工具和包管理器,用于安装PyTorch。Ubuntu 20.04及以上版本默认安装Python3,但需确认pip是否可用:
python3 --version # 检查Python3版本(需≥3.6)
pip3 --version # 检查pip3版本(需≥20.0)
若未安装,可通过以下命令安装:
sudo apt install -y python3 python3-pip
为避免项目依赖冲突,建议使用虚拟环境隔离PyTorch及其依赖:
# 使用venv创建虚拟环境(Python内置工具)
python3 -m venv pytorch_env
source pytorch_env/bin/activate # 激活环境(激活后终端提示符会显示环境名)
# 或使用conda创建虚拟环境(需提前安装conda,如Miniconda)
# conda create -n pytorch_env python=3.8
# conda activate pytorch_env
提示:虚拟环境激活后,后续所有安装命令均在环境内执行,卸载时只需删除环境目录即可。
PyTorch的Python依赖主要包括torch(核心框架)、torchvision(图像处理扩展)、torchaudio(音频处理扩展)。根据是否使用GPU加速,选择以下安装方式:
直接通过pip安装PyTorch的CPU版本,无需额外配置:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
若使用GPU加速,需安装对应CUDA版本的PyTorch(以CUDA 11.7为例):
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
注意:
- 需提前安装NVIDIA显卡驱动(版本≥CUDA Toolkit版本要求,如CUDA 11.7需驱动≥515.65.01);
- 可选安装CUDA Toolkit(通过
conda install cudatoolkit=11.7 -c pytorch或官网下载.run文件安装),但pip安装PyTorch时会自动匹配兼容的CUDA库。
安装完成后,通过Python代码验证PyTorch是否正常工作及GPU是否可用:
import torch
print("PyTorch版本:", torch.__version__) # 输出版本号(如2.1.0)
print("CUDA可用性:", torch.cuda.is_available()) # GPU版本应返回True,CPU版本返回False
若输出版本号且CUDA可用性为True,则说明安装成功。
根据项目需求,可安装NumPy(数值计算)、Matplotlib(数据可视化)、Scikit-learn(机器学习)等库:
pip3 install numpy pandas matplotlib scikit-learn
pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple
venv模块是否安装(sudo apt install python3-venv),或conda环境是否初始化(conda init bash)。通过以上步骤,即可在Ubuntu上完成PyTorch及其依赖库的安装,并根据需求选择CPU或GPU版本。安装过程中如遇问题,建议参考PyTorch官方文档或社区论坛获取最新支持。