如何用阿里云服务器跑深度学习代码?

云计算

在阿里云服务器上运行深度学习代码需要经过环境配置、代码部署和任务执行等步骤。以下是详细的操作指南:


1. 选择适合的云服务器实例

  • GPU实例推荐:深度学习依赖GPU提速,建议选择阿里云GPU实例(如gn6ign7i等),具体型号根据预算和需求选择(如NVIDIA T4/V100/A10等)。
  • 配置建议
    • 训练任务:选择高性能GPU(如V100/A100)+ 高内存配置(如16GB以上)。
    • 推理任务:中等GPU(如T4)即可。
  • 地域选择:靠近用户的地理位置以减少延迟。

2. 购买和连接服务器

  • 购买步骤
    1. 登录阿里云ECS控制台。
    2. 选择“实例” > “创建实例”,选择GPU实例规格、镜像(建议Ubuntu 20.04/22.04或CentOS 7/8)。
    3. 配置存储(建议至少50GB系统盘,数据盘按需挂载)。
    4. 设置安全组(开放SSH端口22、Jupyter Notebook端口8888等)。
    5. 创建并启动实例。
  • 连接服务器
    ssh root@<你的服务器公网IP>

3. 配置深度学习环境

安装基础工具

# 更新系统
apt-get update && apt-get upgrade -y

# 安装常用工具
apt-get install -y git wget curl unzip python3-pip

安装GPU驱动和CUDA

  • 方法1(推荐):使用阿里云预装镜像(如“GPU提速镜像”已包含驱动和CUDA)。
  • 方法2(手动安装)
    1. 安装NVIDIA驱动:
      sudo apt-get install -y nvidia-driver-510  # 根据GPU型号选择版本
      reboot
    2. 安装CUDA Toolkit(如CUDA 11.7):
      wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda_11.7.1_515.65.01_linux.run
      sudo sh cuda_11.7.1_515.65.01_linux.run
    3. 添加环境变量:
      echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
      echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
      source ~/.bashrc

安装深度学习框架

# 安装PyTorch(示例)
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117

# 或安装TensorFlow
pip3 install tensorflow-gpu

验证GPU是否可用

import torch
print(torch.cuda.is_available())  # 输出应为True

4. 部署和运行代码

上传代码到服务器

  • 方式1:直接上传
    使用scp命令从本地传输代码:

    scp -r /本地/代码路径 root@<服务器IP>:/root/code
  • 方式2:Git克隆
    git clone <你的代码仓库URL>

安装依赖库

cd /path/to/your/code
pip install -r requirements.txt

运行代码

# 示例:运行Python训练脚本
python train.py --batch_size 32 --epochs 10

后台运行(避免SSH断开终止任务)

nohup python train.py > log.txt 2>&1 &
# 查看日志
tail -f log.txt

5. 高级配置(可选)

使用Jupyter Notebook远程访问

  1. 安装Jupyter:
    pip install jupyterlab
  2. 生成配置文件并设置密码:
    jupyter notebook --generate-config
    jupyter notebook password
  3. 启动Jupyter:
    nohup jupyter lab --ip=0.0.0.0 --port=8888 --allow-root > jupyter.log 2>&1 &
  4. 访问:http://<服务器IP>:8888,输入密码登录。

数据存储方案

  • OSS挂载:将阿里云OSS挂载到服务器,适合大规模数据:
    apt-get install -y s3fs
    s3fs <Bucket名称> /mnt/oss -o url=http://oss-cn-hangzhou.aliyuncs.com -o passwd_file=/etc/passwd-ossfs

监控GPU使用情况

nvidia-smi  # 实时查看GPU状态
watch -n 1 nvidia-smi  # 每秒刷新

6. 成本优化建议

  • 按量付费:短时间任务选择按量计费。
  • 抢占式实例:训练任务可选用低价抢占式实例(但可能被回收)。
  • 自动关机脚本:训练完成后自动关闭实例:
    echo "halt" | at now + 2 hours  # 2小时后关机

常见问题

  • CUDA版本不匹配:确保框架版本与CUDA版本兼容(如PyTorch官网提供对应版本)。
  • GPU驱动失败:尝试重启实例或联系阿里云技术支持。

通过以上步骤,你可以高效地在阿里云服务器上运行深度学习任务。如需更复杂的分布式训练,可参考阿里云提供的AI提速器解决方案。

未经允许不得转载:CLOUD云枢 » 如何用阿里云服务器跑深度学习代码?