温馨提示×

centos如何用pytorch训练

小樊
44
2026-10-12 05:38:20
栏目: 智能运维

在 CentOS 上使用 PyTorch 进行训练,一般流程如下(以 CentOS 7/8 为例):


一、系统准备

1. 更新系统

sudo yum update -y

2. 安装基础依赖

sudo yum install -y gcc gcc-c++ make wget git python3 python3-devel

CentOS 7 默认 Python 可能是 2.x,建议用 python3


二、安装 Python 虚拟环境(推荐)

pip3 install virtualenv
virtualenv pytorch_env
source pytorch_env/bin/activate

三、安装 PyTorch

1. CPU 版本

pip install torch torchvision torchaudio

2. GPU 版本(CUDA)

先确认显卡驱动和 CUDA:

nvidia-smi

然后在 PyTorch 官网 选择对应命令,例如 CUDA 11.8:

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

四、验证 PyTorch

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

七、常见问题

1. GLIBC 版本过低(CentOS 7)

使用较老 PyTorch 版本:

pip install torch==1.13.1

2. 没有 sudo 权限

使用 conda:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

如果你有 CentOS 版本 / 是否有 GPU / 训练任务类型(CV、NLP),我可以给你更具体的配置方案。

0 踩