从零搭建深度学习开发环境

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 wandb

2️⃣ 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 ToolkitGPU 编程平台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 / WindsurfAI 辅助编程集成 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"]

🔗 下一篇

数据准备与预处理