在阿里云服务器上部署深度学习环境是许多AI开发者和研究人员的常见选择。以下是详细的部署步骤和推荐配置,帮助你快速搭建一个高效的深度学习开发环境。
一、准备工作
1. 选择合适的ECS实例
-
推荐实例类型:
- GPU实例(用于训练):
ecs.gn6i-c8g1.2xlarge、ecs.gn6v-c8g1.2xlarge、ecs.gn7i-c16g1.4xlarge等。 - GPU型号:NVIDIA T4、V100、A10等。
- 适合大规模模型训练(如BERT、ResNet、YOLO等)。
- CPU实例(用于推理或小规模实验):
ecs.c7.large、ecs.g7.large。
- GPU实例(用于训练):
-
操作系统:推荐 Ubuntu 20.04 LTS 或 Ubuntu 22.04 LTS。
-
存储:建议系统盘 ≥ 40GB,数据盘可挂载SSD云盘(100GB以上,视数据集大小而定)。
-
网络:确保带宽足够(如5Mbps以上),用于上传数据或远程访问。
二、远程连接服务器
使用SSH连接到ECS实例:
ssh root@<你的公网IP>
建议创建普通用户并配置sudo权限,提高安全性。
三、安装驱动和深度学习环境
1. 安装NVIDIA驱动
# 添加显卡驱动源(Ubuntu)
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
# 安装推荐版本的驱动(如nvidia-driver-535)
sudo apt install nvidia-driver-535
# 重启
sudo reboot
验证驱动安装:
nvidia-smi
应能看到GPU信息和驱动版本。
2. 安装CUDA和cuDNN
推荐通过NVIDIA官方 .run 文件或阿里云镜像快速安装。
方法一:使用阿里云AI镜像(推荐)
阿里云提供预装CUDA、cuDNN、TensorFlow/PyTorch的AI镜像:
- 在创建ECS时选择:
- 镜像 > 公共镜像 > Ubuntu > 搜索“AI”或“深度学习”
- 例如:“Ubuntu 20.04 with NVIDIA Driver, CUDA 11.8, cuDNN 8”
这样可省去手动安装的麻烦。
方法二:手动安装CUDA
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run
安装时取消勾选驱动(已安装),仅安装CUDA Toolkit和cuDNN。
配置环境变量:
echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
验证:
nvcc --version
3. 安装深度学习框架
安装Anaconda(推荐)
wget https://repo.anaconda.com/archive/Anaconda3-2023.09-Linux-x86_64.sh
bash Anaconda3-2023.09-Linux-x86_64.sh
source ~/.bashrc
创建虚拟环境并安装PyTorch(GPU版)
conda create -n dl python=3.9
conda activate dl
# 安装PyTorch(根据CUDA版本选择)
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
或安装TensorFlow
pip install tensorflow[and-cuda]
验证GPU是否可用:
import torch
print(torch.cuda.is_available()) # 应输出 True
print(torch.cuda.get_device_name(0))
四、数据与模型管理
-
数据上传:
- 使用
scp或rsync上传本地数据:scp -r ./data root@<IP>:/root/data/ - 或挂载NAS/OSS(适合大规模数据集)。
- 使用
-
OSS工具安装:
pip install oss2
五、远程开发与调试
1. 安装Jupyter Notebook/Lab
pip install jupyterlab
jupyter lab --generate-config
修改配置文件 ~/.jupyter/jupyter_lab_config.py:
c.ServerApp.ip = '0.0.0.0'
c.ServerApp.allow_origin = '*'
c.ServerApp.open_browser = False
c.ServerApp.port = 8888
c.ServerApp.password_required = True
生成密码:
jupyter lab password
启动:
nohup jupyter lab --no-browser --port=8888 > jupyter.log 2>&1 &
通过 http://<公网IP>:8888 访问。
⚠️ 注意:建议配合Nginx + HTTPS + 防火墙(安全组)提升安全性。
2. 使用VS Code Remote-SSH
- 安装VS Code插件:Remote – SSH
- 直接连接服务器,进行远程开发,体验本地编码。
六、优化建议
| 项目 | 建议 |
|---|---|
| 环境管理 | 使用Conda或Docker |
| 镜像选择 | 使用阿里云AI镜像节省时间 |
| 数据存储 | 大数据集使用NAS或OSS |
| 安全 | 配置安全组(仅开放必要端口)、使用密钥登录 |
| 成本 | 使用抢占式实例(Spot Instance)降低费用 |
七、使用Docker部署(高级)
FROM nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu20.04
RUN apt-get update && apt-get install -y python3-pip
COPY requirements.txt .
RUN pip3 install -r requirements.txt
WORKDIR /app
COPY . .
CMD ["python3", "train.py"]
构建并运行:
docker build -t dl-app .
docker run --gpus all -d dl-app
八、监控与维护
- 使用
nvidia-smi监控GPU使用率。 - 使用
htop查看CPU/内存。 - 配置日志记录和自动备份。
总结
阿里云服务器部署深度学习的关键步骤:
- 选GPU实例 + Ubuntu系统
- 安装NVIDIA驱动、CUDA、cuDNN
- 配置Python环境(Anaconda + PyTorch/TensorFlow)
- 远程访问(Jupyter或VS Code)
- 数据管理与安全优化
如果你有具体需求(如部署YOLO、Stable Diffusion、BERT等),可以告诉我,我可以提供更具体的部署脚本和优化建议。
CDNK博客