加油
努力

ECS服务器安装GPU驱动做机器学习训练怎么操作?

在阿里云ECS服务器上安装GPU驱动并进行机器学习训练,主要适用于配备了GPU的实例类型(如GN系列:gn6i、gn6v、gn7等)。以下是详细的操作步骤:


一、准备工作

  1. 选择支持GPU的ECS实例

    • 购买时选择带有GPU的实例规格,例如:
      • ecs.gn6i-c4g1.xlarge(T4 GPU)
      • ecs.gn6v-c8g1.8xlarge(V100 GPU)
      • ecs.gn7e-c16g1.8xlarge(A10 GPU)
  2. 操作系统建议

    • 推荐使用 Ubuntu 18.04/20.04/22.04CentOS 7/8
    • 确保系统为64位
  3. 远程连接ECS

    • 使用SSH登录(Linux)或远程桌面(Windows)

二、安装GPU驱动

方法一:自动安装(推荐)

阿里云提供了 GPU驱动自动化安装脚本,可一键安装驱动、CUDA、cuDNN。

# 下载脚本
wget https://image-offline.oss-cn-hangzhou.aliyuncs.com/gpu/NVIDIA-Linux-x86_64.run

# 赋予执行权限
chmod +x NVIDIA-Linux-x86_64.run

# 执行安装(根据提示操作)
sudo ./NVIDIA-Linux-x86_64.run

更推荐使用阿里云官方提供的自动化工具:

# 安装阿里云GPU驱动工具(支持自动检测和安装)
curl -O http://image-offline.oss-cn-hangzhou.aliyuncs.com/gpu/linux_install_gpu_driver.sh
sudo sh linux_install_gpu_driver.sh

该脚本会自动:

  • 检测GPU型号
  • 安装对应版本的NVIDIA驱动
  • 安装CUDA Toolkit(可选)
  • 安装cuDNN(需手动配置或额外脚本)

方法二:手动安装

  1. 禁用nouveau驱动(仅Ubuntu/CentOS)
# 编辑黑名单文件
sudo vim /etc/modprobe.d/blacklist-nouveau.conf

添加以下内容:

blacklist nouveau
options nouveau modeset=0

更新initramfs:

sudo update-initramfs -u  # Ubuntu
# 或
sudo dracut --force       # CentOS

重启系统:

sudo reboot
  1. 下载NVIDIA驱动

前往 NVIDIA官网 选择对应GPU型号下载驱动(.run 文件),或使用wget:

wget https://us.download.nvidia.com/tesla/xxx/NVIDIA-Linux-x86_64-xxx.run
  1. 安装驱动
# 停止图形界面(如果有的话)
sudo telinit 3

# 安装驱动
sudo chmod +x NVIDIA-Linux-x86_64-xxx.run
sudo ./NVIDIA-Linux-x86_64-xxx.run

# 按提示完成安装(建议不安装OpenGL,避免冲突)
  1. 验证驱动安装
nvidia-smi

成功后应显示GPU信息,如显存、温度、驱动版本等。


三、安装CUDA和cuDNN

  1. 安装CUDA Toolkit

推荐通过NVIDIA官方仓库安装:

# 添加CUDA仓库(以Ubuntu为例)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get install -y cuda

# 添加环境变量
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
  1. 安装cuDNN
  • 登录 NVIDIA cuDNN官网
  • 下载与CUDA版本匹配的cuDNN(需注册账号)
  • 解压并复制文件:
tar -xzvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

四、安装深度学习框架(如PyTorch / TensorFlow)

安装PyTorch(支持CUDA)

# 创建虚拟环境(推荐)
python3 -m venv ml-env
source ml-env/bin/activate

# 安装PyTorch(根据CUDA版本选择命令)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

验证GPU是否可用:

import torch
print(torch.cuda.is_available())        # 应输出 True
print(torch.cuda.get_device_name(0))    # 显示GPU型号

安装TensorFlow-GPU

pip install tensorflow[and-cuda]

验证:

import tensorflow as tf
print(tf.config.list_physical_devices('GPU'))

五、开始机器学习训练

  1. 准备数据集和模型代码(如ResNet、BERT等)
  2. 使用GPU进行训练:
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
data = data.to(device)

六、常见问题排查

问题 解决方案
nvidia-smi 命令未找到 驱动未安装或未加入PATH
CUDA_ERROR_NO_DEVICE GPU未识别,检查实例类型和驱动
训练速度慢 检查是否真正在使用GPU(nvidia-smi查看使用率)
内存不足 减小batch size或升级实例规格

七、优化建议

  • 使用 阿里云容器服务 + GPU节点 运行训练任务(更高效)
  • 结合 NAS/OSS 存储大规模数据集
  • 使用 AutoML 工具(如PAI-EAS、Deep Learning Studio)

✅ 总结:
在阿里云ECS上做GPU机器学习训练的关键是:

  1. 选择正确的GPU实例
  2. 正确安装驱动(推荐使用阿里云脚本)
  3. 配置CUDA/cuDNN
  4. 安装支持GPU的深度学习框架

完成以上步骤后,即可高效运行PyTorch/TensorFlow等训练任务。

如有具体实例型号或框架需求,可进一步提供帮助。

云服务器