2. 环境搭建

说实话,环境搭建是很多同学入门深度学习的第一道坎。我见过太多人卡在这一步,代码写好了,结果跑不起来,最后发现是CUDA版本没对上。这一章,咱们就把这些坑一个个填平。

本章核心目标:搭建一个能跑YOLOv8的完整深度学习环境。说白了,就是让你的电脑能调用GPU加速,能运行PyTorch,能顺利跑通YOLOv8的demo。

2.1 Python环境配置

我个人习惯用Anaconda来管理Python环境。为什么?因为项目多了,依赖冲突是家常便饭。Anaconda能帮你隔离环境,互不干扰。

2.1.1 安装Anaconda

  1. 去Anaconda官网下载对应系统的安装包(我建议选Python 3.9+版本)
  2. 安装时记得勾选"Add Anaconda to my PATH environment variable"
  3. 安装完成后,打开终端(Windows用cmd或PowerShell,Mac/Linux用bash)
  4. 输入 conda --version 验证安装成功

2.1.2 创建YOLOv8专用环境

# 创建一个名为yolov8的环境,指定Python版本为3.9
conda create -n yolov8 python=3.9 -y

# 激活环境
conda activate yolov8

# 验证Python版本
python --version

小技巧:环境名最好和项目相关。我之前有个项目叫了"test",结果三个月后自己都忘了里面装了什么。yolov8、detection这种名字一目了然。

2.2 PyTorch安装

PyTorch是YOLOv8的底层框架。安装前,你得先搞清楚一件事:你的电脑有没有NVIDIA显卡?

场景 安装命令 说明
有NVIDIA显卡(推荐) pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 CUDA 11.8版本,兼容性好
无NVIDIA显卡(CPU模式) pip install torch torchvision torchaudio 只能跑CPU,速度慢很多
Mac M1/M2芯片 pip install torch torchvision torchaudio PyTorch已原生支持MPS加速

注意:千万不要直接 pip install torch 完事。默认安装的是CPU版本,你显卡再好也用不上。我曾经帮一个学员排查了三天,最后发现他装的就是CPU版PyTorch……

安装完成后,验证一下:

python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"

如果输出 True,恭喜你,GPU加速已经就绪。如果是 False,别急,往下看CUDA配置。

2.3 CUDA与cuDNN配置

CUDA是NVIDIA的并行计算平台,cuDNN是深度神经网络的加速库。说白了,CUDA是高速公路,cuDNN是跑车——两者配合才能跑得快。

2.3.1 检查显卡驱动与CUDA版本

# Windows
nvidia-smi

# Linux/Mac
nvidia-smi

你会看到类似这样的输出:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.105.17   Driver Version: 525.105.17   CUDA Version: 12.0     |
+-----------------------------------------------------------------------------+

重点关注 CUDA Version。这个数字决定了你能安装哪个版本的PyTorch。

2.3.2 安装CUDA Toolkit

如果 nvidia-smi 显示的CUDA版本低于11.8,你需要手动安装:

  1. 访问NVIDIA CUDA Toolkit存档页面
  2. 选择CUDA 11.8(与PyTorch匹配)
  3. 根据你的操作系统选择安装包
  4. 安装完成后,重启终端,再次运行 nvidia-smi 确认版本

2.3.3 配置cuDNN

cuDNN的安装其实很简单:

  1. 去NVIDIA cuDNN页面下载对应CUDA 11.8的cuDNN
  2. 解压后,把bin、include、lib文件夹复制到CUDA安装目录
  3. Windows默认路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8

避坑指南:我曾经因为cuDNN版本不对,训练速度只有正常的一半。检查方法很简单:python -c "import torch; print(torch.backends.cudnn.version())"。如果报错,说明cuDNN没配置好。

2.4 YOLOv8源码下载与依赖安装

环境搭好了,现在来拉取YOLOv8的代码。我建议直接从官方仓库拉,别去第三方下载——你永远不知道别人改了什么。

2.4.1 克隆源码

# 进入你的工作目录
cd ~/projects

# 克隆YOLOv8官方仓库
git clone https://github.com/ultralytics/ultralytics.git

# 进入项目目录
cd ultralytics

# 查看分支(建议用main分支)
git branch -a

2.4.2 安装依赖

YOLOv8的依赖管理做得很好,一条命令搞定:

# 安装核心依赖
pip install -r requirements.txt

# 或者直接安装ultralytics包(推荐)
pip install ultralytics

安装完成后,验证一下:

python -c "from ultralytics import YOLO; print('YOLOv8导入成功')"

2.4.3 依赖清单速查

依赖包 版本要求 作用
torch >=1.8.0 深度学习框架
torchvision >=0.9.0 图像处理工具
numpy >=1.18.0 数值计算
opencv-python >=4.1.0 图像读取与处理
matplotlib >=3.2.0 可视化
pillow >=7.1.0 图像IO
pyyaml >=5.3.0 配置文件解析
tqdm >=4.64.0 进度条显示

重要提醒:如果你用 pip install ultralytics,它会自动安装所有依赖。但如果你从源码安装,一定要先装好PyTorch再装其他依赖。顺序错了,可能会装成CPU版PyTorch。

2.5 环境搭建全流程一览

为了让你对整个流程有个直观认识,我画了张图:

YOLOv8环境搭建全流程 1. 安装Anaconda 2. 创建yolov8环境 3. 安装PyTorch 4. 配置CUDA/cuDNN 5. 下载YOLOv8源码 6. 安装项目依赖 7. 验证环境 💡 建议按顺序执行,跳过任何一步都可能导致后续报错 验证通过后,就可以开始训练和推理了

2.6 常见问题与解决方案

环境搭建过程中,你可能会遇到这些问题。我把它们列出来,省得你到处搜:

问题 原因 解决方案
torch.cuda.is_available() 返回False PyTorch版本与CUDA版本不匹配 卸载PyTorch,重新安装对应CUDA版本的PyTorch
ImportError: No module named 'torch' 未激活conda环境 运行 conda activate yolov8
CUDA out of memory 显存不足 减小batch size或使用更小的模型
git clone 速度慢 网络问题 使用代理或国内镜像源
pip install 超时 网络不稳定 加 -i https://pypi.tuna.tsinghua.edu.cn/simple 使用清华源

我的经验:如果你用的是Windows,强烈建议用PowerShell而不是cmd。PowerShell对conda的支持更好,不会出现激活环境后还是base环境的问题。这个坑我踩过两次,后来就再也没用cmd了。