在 CentOS 上用 PyTorch 训练模型,整体流程和 Ubuntu 等 Linux 系统基本一致,只是系统环境配置稍有差异。下面我按从零开始给你一个完整、可操作的步骤指南。
sudo yum update -y
sudo yum install -y \
gcc \
gcc-c++ \
make \
cmake \
git \
wget
CentOS 7 自带 Python 2,不建议直接用。
sudo yum install -y python3 python3-devel
python3 --version
pip3 install virtualenv
virtualenv venv
source venv/bin/activate
pip install torch torchvision torchaudio
先确认你有没有 NVIDIA 显卡:
nvidia-smi
如果有,例如 CUDA 11.8:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
⚠️ CentOS 需要单独安装 NVIDIA 驱动 + CUDA Toolkit,不在 pip 范围内
# 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
device = "cuda" if torch.cuda.is_available() else "cpu"
model.to(device)
x, y = x.to(device), y.to(device)
nohup python train.py > train.log 2>&1 &
tail -f train.log
ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found
解决:
sudo yum install -y devtoolset-9
scl enable devtoolset-9 bash
sudo yum install -y libgomp
torch.nn.DataParallel / DistributedDataParallel如果你愿意,可以告诉我:
我可以给你 定制训练代码 + 环境配置方案。