第2章 深度学习环境搭建:Anaconda与Python环境配置、PyTorch与CUDA安装、YOLOv8源码下载与依赖安装
说实话,环境搭建这事儿,看着简单,但坑是真不少。我带过不少新人,第一周全卡在配环境上。我自己也翻过车——有一次急着给客户演示,结果CUDA版本没对上,模型死活跑不起来,现场那个尴尬……
所以这一章,咱们把每一步都走稳。你跟着我来,半小时内搞定。
2.1 整体流程概览
先看下我们要做什么,心里有个谱:
2.2 安装Anaconda
Anaconda 是 Python 环境管理的瑞士军刀。我个人习惯用 Miniconda——轻量,够用,不占空间。但如果你是新手,直接上 Anaconda 也行,省心。
下载地址:官网或清华镜像站(国内快很多)。
安装要点:
- Windows 用户记得勾选「Add Anaconda to PATH」——虽然安装程序会警告,但勾上省事。
- Linux 用户直接 bash 执行 .sh 文件,一路 yes 就行。
- 安装完后打开终端(或 Anaconda Prompt),输入
conda --version验证。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
2.3 创建Python虚拟环境
为什么要用虚拟环境?说白了,就是隔离。你同时做两个项目,一个用 PyTorch 1.13,一个用 2.0,没有虚拟环境就等着冲突吧。
我一般这样创建:
conda create -n yolov8_env python=3.9 -y
conda activate yolov8_env
Python 版本选 3.8-3.11 都行。YOLOv8 官方推荐 3.9 或 3.10,我实测 3.9 最稳。
2.4 安装CUDA与cuDNN
这一步是很多人的噩梦。其实没那么玄乎,核心就一句话:你的显卡驱动决定了你能装什么版本的CUDA。
先查驱动:
- Windows:命令行输入
nvidia-smi,看右上角「CUDA Version」。 - Linux:同样
nvidia-smi,或者nvcc --version。
比如你看到 CUDA Version: 12.1,那你就装 CUDA 12.x 系列的版本。
CUDA 安装步骤:
- 去 NVIDIA 官网下载对应版本的 CUDA Toolkit。
- Windows 选 exe (local) 版本,Linux 选 runfile 或 deb。
- 安装时注意:Windows 默认路径别改,Linux 记得加环境变量。
cuDNN 安装:
cuDNN 是 CUDA 的神经网络加速库。下载需要注册 NVIDIA 账号,但免费。
- 下载对应 CUDA 版本的 cuDNN。
- 解压后把 bin、include、lib 文件夹复制到 CUDA 安装目录下。
- Windows 默认路径:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.x\
nvcc --version
# 应该显示你的CUDA版本号
2.5 安装PyTorch
PyTorch 安装是环境搭建中最爽的一步——因为就一行命令。但前提是你前面 CUDA 装对了。
去 PyTorch 官网(pytorch.org),选择你的配置:
| 配置项 | 推荐选择 | 说明 |
|---|---|---|
| PyTorch Build | Stable (2.x) | 稳定版,别追最新 |
| Your OS | Windows/Linux/Mac | 按实际选 |
| Package | pip 或 conda | 我习惯用 pip,更快 |
| Compute Platform | CUDA 11.8 / 12.1 | 和你装的CUDA版本一致 |
比如我装 CUDA 12.1,命令就是:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
验证安装:
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"
如果输出 True,恭喜你,GPU 环境通了!
torch.cuda.is_available() 返回 False。查了半天,发现是 CUDA 版本和 PyTorch 不匹配。记住:PyTorch 的 CUDA 版本 ≤ 你驱动的 CUDA 版本。
2.6 下载YOLOv8源码
YOLOv8 是 Ultralytics 公司开源的。下载方式有两种:
方式一:git clone(推荐)
git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
方式二:直接下载 ZIP
去 GitHub 页面点「Code」→「Download ZIP」,解压就行。
我个人习惯用 git clone,方便后续更新:git pull 一下就同步最新代码了。
2.7 安装依赖
YOLOv8 的依赖都写在 requirements.txt 里。安装命令:
pip install -r requirements.txt
核心依赖包括:
- torch:我们已经装过了,但 requirements 里会再确认版本。
- opencv-python:图像处理必备。
- matplotlib:画图用。
- numpy:科学计算基础库。
- pillow:图像读写。
- tqdm:进度条,训练时看着舒服。
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
2.8 验证环境
最后一步,跑个简单的测试,确保一切正常:
# 在 ultralytics 目录下
python -c "from ultralytics import YOLO; model = YOLO('yolov8n.pt'); print('环境配置成功!')"
如果没报错,说明环境搭建完成。如果报错,别慌——
常见问题排查:
| 报错信息 | 可能原因 | 解决方法 |
|---|---|---|
| ModuleNotFoundError: No module named 'torch' | PyTorch 没装或没激活环境 | 检查 conda activate 了没 |
| RuntimeError: CUDA out of memory | 显存不够 | 换小模型或减小 batch size |
| ImportError: libcudart.so.x.x: cannot open shared object file | CUDA 环境变量没配好 | 检查 LD_LIBRARY_PATH |
| AttributeError: module 'numpy' has no attribute 'int' | numpy 版本太高 | 降级:pip install numpy==1.23.5 |