PyTorch在Linux上的使用教程是什么
Linux 上使用 PyTorch 的完整教程
一 环境准备与系统依赖
- 更新系统并安装基础工具(以发行版为准):
- Debian/Ubuntu:
- sudo apt update & & sudo apt upgrade -y
- sudo apt install -y build-essential cmake git libopenblas-dev liblapack-dev libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev python3-dev python3-pip
- CentOS/RHEL:
- sudo yum update -y
- sudo yum groupinstall -y “Development Tools”
- sudo yum install -y cmake3 git wget python3 python3-devel python3-pip
- Debian/Ubuntu:
- 确认 Python ≥ 3.6 与 pip 可用:python3 --version、pip3 --version;必要时执行 pip3 install --upgrade pip。
二 创建虚拟环境与安装 PyTorch
- 强烈建议使用虚拟环境隔离依赖(任选其一):
- venv(轻量):
- python3 -m venv pytorch_env
- source pytorch_env/bin/activate
- Conda(依赖管理更强):
- conda create -n pytorch_env python=3.8
- conda activate pytorch_env
- venv(轻量):
- 安装命令(按硬件选择其一,优先从官网获取与你环境匹配的命令):
- CPU 版:
- pip:pip3 install torch torchvision torchaudio
- conda:conda install pytorch torchvision torchaudio cpuonly -c pytorch
- GPU 版(示例为 CUDA 11.8,请将 cu118 替换为你的 CUDA 大版本):
- pip:pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118
- conda:conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch -c nvidia
- CPU 版:
- 说明:GPU 版本需确保系统已安装与所选 PyTorch 版本匹配的 CUDA/cuDNN;若使用 conda,常用做法是让 conda 管理 cudatoolkit,避免与系统 CUDA 冲突。
三 GPU 支持与驱动检查
- 查看驱动与 CUDA 运行时版本:
- nvidia-smi(右上显示 Supported/Runtime CUDA)
- 安装与配置要点(仅当使用 NVIDIA GPU 时):
- 安装与驱动匹配的 CUDA Toolkit 与 cuDNN,并设置环境变量(示例路径,按实际版本调整):
- echo ‘export PATH=/usr/local/cuda-11.7/bin:$PATH’ > > ~/.bashrc
- echo ‘export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH’ > > ~/.bashrc
- source ~/.bashrc
- 选择与 nvidia-smi 显示的 CUDA 大版本一致 的 PyTorch 版本(例如 11.7/11.8),避免不兼容导致 torch.cuda.is_available() 为 False。
- 安装与驱动匹配的 CUDA Toolkit 与 cuDNN,并设置环境变量(示例路径,按实际版本调整):
四 验证安装与常见问题
- 基础验证(在激活的虚拟环境中执行):
- python3 - < < ‘PY’ import torch, torchvision, torchaudio print(“torch:”, torch.version, “torchvision:”, torchvision.version, “torchaudio:”, torchaudio.version) print(“cuda available:”, torch.cuda.is_available()) if torch.cuda.is_available(): print(“device count:”, torch.cuda.device_count()) print(“current device:”, torch.cuda.current_device()) print(“device name:”, torch.cuda.get_device_name()) PY
- 常见问题与处理:
- 网络慢/超时:使用国内镜像(如清华源)pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名;或 conda 配置清华通道(注意与默认通道的兼容性)。
- CUDA 不可用:核对 nvidia-smi 与 PyTorch 的 CUDA 大版本一致;如使用 conda 安装 GPU 版,优先使用 cudatoolkit 而非系统 CUDA;必要时重装驱动/cuDNN 并重启。
- 依赖缺失:按第一节补齐系统库与 Python 开发包;编译/安装额外包时确保已安装 cmake、gcc/g++ 等工具。
五 快速上手示例与常用工具
- 训练一个最小二乘线性模型(验证环境可用):
-
python3 - < < ‘PY’ import torch import torch.nn as nn import torch.optim as optim
class LinearModel(nn.Module): def init(self): super().init() self.linear = nn.Linear(1, 1) def forward(self, x): return self.linear(x)
model = LinearModel() criterion = nn.MSELoss() optimizer = optim.SGD(model.parameters(), lr=0.01)
inputs = torch.tensor([[1.0], [2.0], [3.0]]) targets = torch.tensor([[2.0], [4.0], [6.0]])
for epoch in range(100): outputs = model(inputs) loss = criterion(outputs, targets) optimizer.zero_grad() loss.backward() optimizer.step() if (epoch + 1) % 10 == 0: print(f’Epoch [{ epoch+1} /100], Loss: { loss.item():.4f} ') PY
-
- 常用工具与 IDE:
- Jupyter Notebook:pip install notebook;jupyter notebook
- PyCharm:设置 Project Interpreter 为虚拟环境的解释器(如 pytorch_env/bin/python)
- VS Code:选择虚拟环境解释器(which python 应指向 venv 或 conda env)
- 常用加速与调试建议:
- 优先使用 conda 管理二进制依赖,避免 pip 与系统库冲突
- 固定版本:在 requirements.txt 或 environment.yml 中锁定 torch/torchvision/torchaudio 与 python 版本,便于复现实验。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: PyTorch在Linux上的使用教程是什么
本文地址: https://pptw.com/jishu/783933.html
