在阿里云 ECS(CentOS 系统)上搭建机器学习环境,推荐采用 Anaconda/Miniconda + PyTorch/TensorFlow 的组合方案。以下是详细步骤:
一、基础准备
-
登录 ECS 实例
ssh -i your-key.pem root@your-ecs-ip -
更新系统并安装必要工具
sudo yum update -y sudo yum install -y wget curl git vim gcc make cmake python3-devel -
安装 NVIDIA 驱动(如需 GPU)
- 确认显卡型号:
nvidia-smi - 若未安装驱动,前往 NVIDIA 官网 下载对应 CentOS 版本的驱动,或使用阿里云镜像源提速:
sudo yum install -y akmod-nvidia kernel-devel-$(uname -r) sudo reboot
- 确认显卡型号:
-
安装 CUDA Toolkit(GPU 必需)
- 根据
nvidia-smi显示的 CUDA 版本选择对应安装包(例如 CUDA 12.1) - 下载地址:CUDA Toolkit Archive
- 示例安装流程(以本地下载的
.run文件为例):chmod +x cuda_12.1.x_linux.run sudo ./cuda_12.1.x_linux.run --toolkit --silent echo "export PATH=/usr/local/cuda/bin:$PATH" >> ~/.bashrc echo "export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc source ~/.bashrc
- 根据
二、安装 Conda 环境管理工具
# 安装 Miniconda(轻量版,推荐)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# 按提示完成安装,重启 shell: source ~/.bashrc
# 创建隔离的 ML 环境
conda create -n ml_env python=3.10 -y
conda activate ml_env
三、安装深度学习框架
方案 A:PyTorch(推荐)
# 通过 conda 安装(自动处理依赖)
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
# 验证安装
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"
方案 B:TensorFlow(GPU 支持)
pip install tensorflow-gpu==2.15.0 # 或指定版本
# 注意:TF2.15+ 需 CUDA 11.8 或 12.1,请确保版本匹配
四、常用辅助工具安装
# 数据科学栈
conda install numpy pandas scikit-learn matplotlib seaborn jupyterlab -y
# Jupyter Notebook 配置(可选)
jupyter lab --generate-config
echo "# 添加以下内容到 ~/.jupyter/jupyter_lab_config.py"
echo "c.ServerApp.ip = '0.0.0.0'"
echo "c.ServerApp.port = 8888"
echo "c.ServerApp.open_browser = False"
echo "c.ServerApp.allow_remote_access = True"
# 启动 Jupyter(需先放行安全组端口 8888)
jupyter lab --no-browser --port=8888
五、安全组配置(关键!)
- 登录阿里云控制台 → ECS 实例 → 安全组规则
- 添加入方向规则:
- 协议:TCP
- 端口:
8888(Jupyter)、22(SSH)、自定义端口等 - 授权对象:
0.0.0.0/0(生产环境建议限制 IP)
⚠️ 注意:首次使用 Jupyter 时,务必设置强密码或改用 SSH 隧道访问。
六、验证环境
# 测试脚本 test_ml.py
import torch, tensorflow as tf, numpy as np
print(f"PyTorch: {torch.__version__}, CUDA: {torch.version.cuda}")
print(f"TensorFlow: {tf.__version__}")
print("All dependencies installed successfully!")
运行:
python test_ml.py
七、优化建议
- 磁盘扩容:ML 项目需要大量存储,可通过阿里云控制台扩容云盘(无需重装)。
- 快照备份:定期创建系统盘快照,防止环境损坏。
- 使用容器化:复杂场景可考虑 Docker + Kubernetes(阿里云 ACK)。
- 监控资源:安装
nvidia-smi定时脚本或 Prometheus 监控 GPU 使用情况。
如有特定需求(如多卡训练、分布式部署、预装模型库),可进一步说明,我会提供针对性方案。
CLOUD云枢