在阿里云服务器上部署 PyTorch 进行深度学习训练是一个常见需求。以下是详细的步骤指南,帮助你从零开始配置并运行 PyTorch 训练任务。
一、准备工作
1. 购买和登录阿里云服务器
- 登录 阿里云控制台
- 创建一台 ECS 实例(推荐选择 GPU 型实例如
gn6i或gn7系列,用于深度学习训练) - 操作系统建议: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. 后台运行训练脚本(防止断开连接中断)
使用 nohup 或 screen:
方式一: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/内存:
htopsudo apt install htop htop
六、进阶建议
| 功能 | 推荐方案 |
|---|---|
| 分布式训练 | 使用多卡 torch.nn.DataParallel 或 DistributedDataParallel |
| 自动化训练 | 使用 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 的关键步骤是:
- 选择合适的 GPU 实例
- 正确安装 NVIDIA 驱动
- 使用 Conda 创建隔离环境
- 安装匹配版本的 PyTorch(含 CUDA 支持)
- 安全地运行和监控训练任务
如有具体项目结构或框架(如 Detectron2、Hugging Face),可进一步定制部署流程。
需要我为你生成一键部署脚本吗?
云小栈