温馨提示×

centos pytorch怎么训练模型

小樊
35
2026-09-27 14:17:16
栏目: 智能运维

在 CentOS 上用 PyTorch 训练模型,整体流程和 Ubuntu 等 Linux 系统基本一致,只是系统环境配置稍有差异。下面我按从零开始给你一个完整、可操作的步骤指南。


一、准备 CentOS 环境

1. 更新系统

sudo yum update -y

2. 安装基础依赖

sudo yum install -y \
    gcc \
    gcc-c++ \
    make \
    cmake \
    git \
    wget

3. 安装 Python(推荐 3.9+)

CentOS 7 自带 Python 2,不建议直接用。

sudo yum install -y python3 python3-devel
python3 --version

二、创建虚拟环境(强烈推荐)

pip3 install virtualenv
virtualenv venv
source venv/bin/activate

三、安装 PyTorch

1. CPU 版本

pip install torch torchvision torchaudio

2. GPU 版本(CUDA)

先确认你有没有 NVIDIA 显卡:

nvidia-smi

如果有,例如 CUDA 11.8:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

⚠️ CentOS 需要单独安装 NVIDIA 驱动 + CUDA Toolkit,不在 pip 范围内


四、编写一个简单训练示例

示例:用 PyTorch 训练一个简单的线性回归

# train.py
import torch
import torch.nn as nn

# 数据
x = torch.randn(100, 1)
y = 3 * x + 2 + 0.1 * torch.randn(100, 1)

# 模型
model = nn.Linear(1, 1)

# 损失 & 优化器
criterion = nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=0.1)

# 训练
for epoch in range(100):
    pred = model(x)
    loss = criterion(pred, y)

    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

    if epoch % 10 == 0:
        print(f"Epoch {epoch}, Loss: {loss.item():.4f}")

运行:

python train.py

五、使用 GPU 训练(如有)

device = "cuda" if torch.cuda.is_available() else "cpu"
model.to(device)
x, y = x.to(device), y.to(device)

六、后台训练(常用)

nohup

nohup python train.py > train.log 2>&1 &

查看日志

tail -f train.log

七、常见问题(CentOS 特有)

1. GLIBCXX 错误

ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found

解决:

sudo yum install -y devtoolset-9
scl enable devtoolset-9 bash

2. 缺少共享库

sudo yum install -y libgomp

八、进阶建议

  • 使用 Jupyter / VSCode Remote
  • 使用 torch.utils.data.DataLoader
  • 使用 tensorboard
  • 多卡训练:torch.nn.DataParallel / DistributedDataParallel

如果你愿意,可以告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 是否使用 GPU
  • 训练什么模型(图像 / NLP / 自定义)

我可以给你 定制训练代码 + 环境配置方案。

0 踩