在 CentOS 上使用 PyTorch 进行训练,一般流程如下(以 CentOS 7/8 为例):
sudo yum update -y
sudo yum install -y gcc gcc-c++ make wget git python3 python3-devel
CentOS 7 默认 Python 可能是 2.x,建议用
python3
pip3 install virtualenv
virtualenv pytorch_env
source pytorch_env/bin/activate
pip install torch torchvision torchaudio
先确认显卡驱动和 CUDA:
nvidia-smi
然后在 PyTorch 官网 选择对应命令,例如 CUDA 11.8:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
import torch
print(torch.__version__)
print(torch.cuda.is_available())
输出 True 表示 GPU 可用。
import torch
import torch.nn as nn
from torch.utils.data import DataLoader, TensorDataset
# 假数据
x = torch.randn(100, 10)
y = torch.randn(100, 1)
dataset = TensorDataset(x, y)
loader = DataLoader(dataset, batch_size=16, shuffle=True)
model = nn.Linear(10, 1)
loss_fn = nn.MSELoss()
optimizer = torch.optim.Adam(model.parameters(), lr=0.01)
device = "cuda" if torch.cuda.is_available() else "cpu"
model.to(device)
for epoch in range(10):
for bx, by in loader:
bx, by = bx.to(device), by.to(device)
pred = model(bx)
loss = loss_fn(pred, by)
optimizer.zero_grad()
loss.backward()
optimizer.step()
print(f"Epoch {epoch}, Loss {loss.item():.4f}")
nohup python train.py > train.log 2>&1 &
查看日志:
tail -f train.log
使用较老 PyTorch 版本:
pip install torch==1.13.1
使用 conda:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
如果你有 CentOS 版本 / 是否有 GPU / 训练任务类型(CV、NLP),我可以给你更具体的配置方案。