在阿里云服务器上进行深度学习是一个非常常见且高效的方案,尤其适合本地设备算力不足(如没有高性能 GPU)的开发者或研究人员。以下是详细的指南,帮助你在阿里云服务器上部署和运行深度学习任务:
一、准备工作
1. 注册阿里云账号
- 访问 阿里云官网
- 注册账号并完成实名认证。
2. 购买合适的ECS实例
推荐配置:
| 配置项 | 推荐规格 |
|---|---|
| 实例类型 | GPU型(如 ecs.gn6i-c8g1.xlarge 或更高) |
| 操作系统 | Ubuntu 20.04/22.04 LTS(推荐)或 CentOS |
| GPU型号 | NVIDIA Tesla V100 / T4 / A10 等 |
| 存储 | 至少 100GB SSD(建议挂载 NAS 或使用 OSS) |
| 网络带宽 | 公网带宽建议选择按固定带宽(如 5Mbps) |
提示:新用户可以尝试“试用中心”获取免费GPU资源。
二、连接服务器
使用 SSH 连接你的 ECS 实例:
ssh root@你的公网IP
如果使用密钥登录:
ssh -i /path/to/your/private_key.pem root@你的公网IP
三、安装必要的软件环境
1. 安装 CUDA 和 cuDNN(根据GPU型号)
# 查看显卡型号
lspci | grep -i nvidia
# 安装 NVIDIA 驱动
sudo apt update
sudo apt install nvidia-driver-535
# 重启后查看驱动是否生效
nvidia-smi
安装 CUDA Toolkit(以 12.1 为例)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
安装 cuDNN(需要注册NVIDIA账号下载)
从 NVIDIA cuDNN 下载页面 下载对应版本并解压安装。
2. 安装 Python 和虚拟环境
sudo apt install python3-pip python3-venv
python3 -m venv dl_env
source dl_env/bin/activate
3. 安装 PyTorch / TensorFlow
安装 PyTorch(支持CUDA):
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118
安装 TensorFlow(支持GPU):
pip install tensorflow-gpu==2.12.0
注意:版本必须与 CUDA 和 cuDNN 版本兼容。
四、上传数据 & 编写训练代码
方法一:本地上传文件到服务器
使用 scp 命令上传代码和数据集:
scp -r your_local_folder root@your_ip:/root/path/on/server
方法二:使用 Git 同步代码
git clone https://github.com/yourname/yourproject.git
五、远程开发工具推荐
1. VS Code + Remote – SSH 插件
- 可以直接编辑服务器上的代码
- 支持断点调试、终端操作等
2. Jupyter Notebook
你可以安装 Jupyter 并通过浏览器访问:
pip install jupyter
jupyter notebook --ip=0.0.0.0 --port=8888 --no-browser --allow-root
然后在安全组开放 8888 端口,并访问:
http://你的公网IP:8888
六、使用OSS存储大数据集(可选)
如果你的数据集较大,可以考虑将数据上传到阿里云OSS,再通过SDK读取:
pip install oss2
Python 示例:
import oss2
auth = oss2.Auth('<your-access-key-id>', '<your-access-key-secret>')
bucket = oss2.Bucket(auth, 'https://oss-cn-beijing.aliyuncs.com', 'your-bucket-name')
# 下载文件
bucket.get_object_to_file('remote/path/to/file', 'local/path/to/save')
七、优化与注意事项
1. 安全组设置
- 开放端口:SSH(22), HTTP(80), HTTPS(443), Jupyter(8888)
- 建议设置白名单 IP 访问限制
2. 使用 Screen/Tmux 防止断开连接中断训练
screen -S train
# 开始训练
python train.py
# 按 Ctrl+A+D 挂起
screen -r train # 重新连接
3. 监控 GPU 使用情况
nvidia-smi
watch -n 1 nvidia-smi
八、计费与节省成本技巧
- 按量付费 vs 包年包月:短期训练建议按量付费;长期使用可购买包年包月。
- 抢占式实例:价格便宜但可能被回收,适合容错训练任务。
- 自动关机脚本:训练完成后自动关闭服务器防止浪费资源。
九、进阶:使用 PAI 平台(阿里云机器学习平台)
如果你不想自己搭建环境,可以直接使用阿里云的 PAI平台,提供可视化建模、AutoML、模型部署等功能。
十、总结
| 步骤 | 内容 |
|---|---|
| 1 | 购买 GPU 实例 |
| 2 | 安装操作系统和依赖(CUDA、cuDNN、Python) |
| 3 | 安装深度学习框架(PyTorch/TensorFlow) |
| 4 | 上传数据 & 编写训练代码 |
| 5 | 使用远程开发工具(VSCode/Jupyter) |
| 6 | 监控 & 优化训练过程 |
| 7 | 控制成本 & 自动化运维 |
如果你告诉我你使用的具体框架(比如 PyTorch 还是 TensorFlow)、模型类型(图像分类、NLP等),我可以为你定制更详细的部署流程或脚本模板。欢迎继续提问!
ECLOUD博客