在 CentOS 上使用 PyTorch 进行模型训练,一般流程如下。下面从环境准备 → 安装 PyTorch → 编写训练代码 → 启动训练逐步说明,适用于服务器(无 GUI)环境。
sudo yum update -y
sudo yum install -y \
gcc gcc-c++ make \
wget curl git \
python3 python3-devel
python3 -m ensurepip --upgrade
python3 -m pip install --upgrade pip
python3 -m venv pytorch_env
source pytorch_env/bin/activate
pip install torch torchvision torchaudio
先确认 CUDA 版本:
nvidia-smi
例如 CUDA 12.1:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
train.pyimport torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import DataLoader, TensorDataset
# 构造假数据
x = torch.randn(1000, 10)
y = torch.randn(1000, 1)
dataset = TensorDataset(x, y)
loader = DataLoader(dataset, batch_size=32, shuffle=True)
# 定义模型
model = nn.Sequential(
nn.Linear(10, 64),
nn.ReLU(),
nn.Linear(64, 1)
)
criterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)
# 训练
for epoch in range(10):
for bx, by in loader:
optimizer.zero_grad()
loss = criterion(model(bx), by)
loss.backward()
optimizer.step()
print(f"Epoch {epoch+1}, Loss: {loss.item():.4f}")
python train.py
device = "cuda" if torch.cuda.is_available() else "cpu"
model.to(device)
nohup python train.py > train.log 2>&1 &
screen -S train
python train.py
# Ctrl+A+D 退出
升级 CentOS 或使用 conda:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
model = nn.DataParallel(model)
如果你有 具体任务(如图像分类 / NLP / 目标检测) 或 CentOS 版本 / GPU 型号,我可以给你更精准的训练示例。