从零搭建深度学习开发环境
Miniconda、PyTorch、CUDA 配置、IDE 选择,一步步带你配好训练环境。
环境搭建与工具链
🛠️ 完整工具链概览
硬件 (GPU/CPU) → 驱动 (NVIDIA Driver)
→ CUDA Toolkit → cuDNN → Python
→ PyTorch / TensorFlow → 训练脚本
→ 监控工具 (TensorBoard/WandB)
1️⃣ Python 环境管理
推荐方式:Miniconda / Conda
# 安装 Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# 创建环境
conda create -n ml_env python=3.10
conda activate ml_env# 或者用 venv (轻量)
python -m venv ml_env
source ml_env/bin/activate必备 Python 包
# 核心
pip install numpy pandas matplotlib scikit-learn
# 深度学习框架(选一)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install tensorflow
# 辅助
pip install jupyter notebook tqdm
pip install tensorboard wandb2️⃣ NVIDIA GPU 环境(强烈推荐)
检查硬件
# 查看 GPU 型号
nvidia-smi
# 输出示例:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 545.23.08 Driver Version: 545.23.08 CUDA Version: 12.3 |
|-------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 NVIDIA RTX 4090 WDDM | 00000000:01:00.0 On | Off |
| 30% 45C P0 85W / 450W | 1234MiB / 24564MiB | 0% Default |
+-------------------------------+----------------------+----------------------+关键要点
| 组件 | 说明 | 检查命令 |
|---|---|---|
| NVIDIA Driver | 显卡驱动 | nvidia-smi |
| CUDA Toolkit | GPU 编程平台 | nvcc --version |
| cuDNN | 深度学习加速库 | import torch; print(torch.backends.cudnn.version()) |
💡 技巧:用
nvidia-smi显示的 CUDA Version 是驱动支持的最高版本,实际使用 PyTorch 自带的 CUDA 即可,不一定要装完整的 CUDA Toolkit。
3️⃣ PyTorch vs TensorFlow 怎么选
| 维度 | PyTorch 🔥 | TensorFlow |
|---|---|---|
| 上手难度 | 更 Pythonic,容易上手 | 较复杂 |
| 灵活性 | 动态图,调试方便 | 静态图为主 (2.x 也有 eager) |
| 工业部署 | 逐渐追赶 | 更成熟 (TF Serving, TFLite) |
| 研究界 | ⭐ 主流选择 | 使用减少 |
| LLM 生态 | HuggingFace 全系 PyTorch | 支持但少 |
✅ 新手推荐 PyTorch,当前学术界和工业界主流。
4️⃣ 快速验证环境
# test_env.py
import torch
import torchvision
import numpy as np
import pandas as pd
import sklearn
print(f"PyTorch version: {torch.__version__}")
print(f"CUDA available: {torch.cuda.is_available()}")
if torch.cuda.is_available():
print(f"CUDA device: {torch.cuda.get_device_name(0)}")
print(f"CUDA version: {torch.version.cuda}")
# 简单 tensor 计算
x = torch.randn(3, 3)
print(f"Random tensor:\n{x}")
print(f"Device: {x.device}")
# GPU 测试
if torch.cuda.is_available():
x_gpu = x.cuda()
print(f"GPU tensor device: {x_gpu.device}")
print("✅ GPU 正常工作!")
else:
print("⚠️ 未检测到 GPU,将使用 CPU")5️⃣ IDE 推荐
| 工具 | 用途 | 推荐理由 |
|---|---|---|
| VS Code | 日常编码 | 轻量 + 插件生态丰富 |
| Jupyter Notebook | 探索实验 | 交互式,适合初学者 |
| PyCharm | 大型项目 | 专业 Python IDE |
| Cursor / Windsurf | AI 辅助编程 | 集成 AI 助手 |
6️⃣ Docker 环境(进阶)
# Dockerfile
FROM pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime
RUN pip install numpy pandas matplotlib scikit-learn jupyter tqdm wandb
WORKDIR /workspace
CMD ["jupyter", "notebook", "--ip=0.0.0.0", "--port=8888", "--no-browser", "--allow-root"]🔗 下一篇
→ 数据准备与预处理