在阿里云服务器上运行深度学习代码需要经过环境配置、代码部署和任务执行等步骤。以下是详细的操作指南:
1. 选择适合的云服务器实例
- GPU实例推荐:深度学习依赖GPU提速,建议选择阿里云GPU实例(如
gn6i
、gn7i
等),具体型号根据预算和需求选择(如NVIDIA T4/V100/A10等)。 - 配置建议:
- 训练任务:选择高性能GPU(如V100/A100)+ 高内存配置(如16GB以上)。
- 推理任务:中等GPU(如T4)即可。
- 地域选择:靠近用户的地理位置以减少延迟。
2. 购买和连接服务器
- 购买步骤:
- 登录阿里云ECS控制台。
- 选择“实例” > “创建实例”,选择GPU实例规格、镜像(建议Ubuntu 20.04/22.04或CentOS 7/8)。
- 配置存储(建议至少50GB系统盘,数据盘按需挂载)。
- 设置安全组(开放SSH端口22、Jupyter Notebook端口8888等)。
- 创建并启动实例。
- 连接服务器:
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(手动安装):
- 安装NVIDIA驱动:
sudo apt-get install -y nvidia-driver-510 # 根据GPU型号选择版本 reboot
- 安装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
- 添加环境变量:
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc
- 安装NVIDIA驱动:
安装深度学习框架
# 安装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远程访问
- 安装Jupyter:
pip install jupyterlab
- 生成配置文件并设置密码:
jupyter notebook --generate-config jupyter notebook password
- 启动Jupyter:
nohup jupyter lab --ip=0.0.0.0 --port=8888 --allow-root > jupyter.log 2>&1 &
- 访问:
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提速器解决方案。