加油
努力

在阿里云服务器上如何部署Pytorch进行训练?

在阿里云服务器上部署 PyTorch 进行深度学习训练是一个常见需求。以下是详细的步骤指南,帮助你从零开始配置并运行 PyTorch 训练任务。


一、准备工作

1. 购买和登录阿里云服务器

  • 登录 阿里云控制台
  • 创建一台 ECS 实例(推荐选择 GPU 型实例如 gn6ign7 系列,用于深度学习训练)
  • 操作系统建议:Ubuntu 20.04 / 22.04 LTS
  • 安全组配置:开放 SSH(22端口),若需远程访问 Jupyter 可开放 8888 端口等

使用 SSH 登录服务器:

ssh root@your_server_ip

二、环境配置

1. 更新系统包

sudo apt update && sudo apt upgrade -y

2. 安装 NVIDIA 驱动(GPU 实例必需)

方法一:使用阿里云自动安装脚本(推荐)

阿里云提供了便捷的驱动安装工具:

wget https://ecs-image-utils.oss-cn-hangzhou.aliyuncs.com/install_gpu_driver_ubuntu.sh --no-check-certificate
chmod +x install_gpu_driver_ubuntu.sh
sudo ./install_gpu_driver_ubuntu.sh

方法二:手动安装(可选)

# 添加显卡驱动 PPA
sudo add-apt-repository ppa:graphics-drivers/ppa -y
sudo apt update

# 安装最新稳定版驱动(例如 nvidia-driver-535)
sudo apt install nvidia-driver-535 -y

重启服务器:

sudo reboot

验证驱动是否安装成功:

nvidia-smi

应能看到 GPU 信息和驱动版本。


3. 安装 CUDA 和 cuDNN(可选:PyTorch 可自带 CUDA)

注意:PyTorch 官方预编译包已包含 CUDA 运行时,通常无需单独安装完整 CUDA Toolkit。

但如果你需要开发或调试,可以安装:

# 添加 NVIDIA 包仓库
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda

安装后添加环境变量到 ~/.bashrc

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

执行 source ~/.bashrc 生效。


4. 安装 Anaconda/Miniconda(推荐管理环境)

下载并安装 Miniconda:

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

按提示完成安装,然后重新登录或运行:

source ~/.bashrc

5. 创建虚拟环境并安装 PyTorch

# 创建环境
conda create -n pytorch python=3.9
conda activate pytorch

# 安装 PyTorch(以 CUDA 11.8 为例,请根据实际情况调整)
# 查看官方命令:https://pytorch.org/get-started/locally/
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

✅ 验证安装:

python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"

输出应为 True 表示 GPU 可用。


三、上传代码与数据

方法一:使用 SCP 上传本地文件

scp -r your_project root@your_server_ip:/root/

方法二:使用 Git

git clone https://github.com/yourname/your-project.git

数据存储建议

  • 小数据:放在 ECS 本地磁盘
  • 大数据:使用 阿里云 OSS,通过 ossfs 挂载为本地目录,或使用 SDK 下载

安装 ossfs 示例:

sudo apt install ossfs
echo "your-access-key-id:your-access-key-secret" > ~/.passwd-ossfs
chmod 600 ~/.passwd-ossfs
mkdir /mnt/oss-data
ossfs your-bucket-name /mnt/oss-data -ourl=https://oss-cn-beijing.aliyuncs.com

四、运行训练任务

1. 后台运行训练脚本(防止断开连接中断)

使用 nohupscreen

方式一:nohup

nohup python train.py > train.log 2>&1 &

查看日志:

tail -f train.log

方式二:使用 screen

screen -S training
python train.py
# 按 Ctrl+A, 再按 D 脱离会话
# 恢复:screen -r training

2. 使用 Jupyter Notebook(可选)

安装:

pip install jupyter

启动并设置远程访问:

jupyter notebook --generate-config

生成密码:

from notebook.auth import passwd
passwd()

编辑配置文件 ~/.jupyter/jupyter_notebook_config.py

c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.port = 8888
c.NotebookApp.allow_remote_access = True
c.NotebookApp.password_required = True
c.NotebookApp.open_browser = False

启动:

jupyter notebook --no-browser

通过浏览器访问:http://your_server_ip:8888

🔐 注意:建议配合 Nginx + HTTPS 或 SSH 隧道提高安全性。


五、监控资源使用情况

  • GPU 使用:nvidia-smi(每秒刷新)
    watch -n 1 nvidia-smi
  • CPU/内存:htop
    sudo apt install htop
    htop

六、进阶建议

功能 推荐方案
分布式训练 使用多卡 torch.nn.DataParallelDistributedDataParallel
自动化训练 使用 tmux, supervisor, 或 Kubernetes
模型保存 定期备份到 OSS 或云盘快照
成本优化 使用抢占式实例 + 自动快照恢复

七、常见问题排查

问题 解决方法
torch.cuda.is_available() 返回 False 检查 nvidia-smi 是否正常,CUDA 版本与 PyTorch 是否匹配
安装慢 更换 conda 源为清华源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
显存不足 减小 batch size,启用梯度累积,使用混合精度(amp

✅ 总结:
在阿里云 ECS 上部署 PyTorch 的关键步骤是:

  1. 选择合适的 GPU 实例
  2. 正确安装 NVIDIA 驱动
  3. 使用 Conda 创建隔离环境
  4. 安装匹配版本的 PyTorch(含 CUDA 支持)
  5. 安全地运行和监控训练任务

如有具体项目结构或框架(如 Detectron2、Hugging Face),可进一步定制部署流程。

需要我为你生成一键部署脚本吗?

云服务器