2. 深度学习环境搭建
环境搭建,说白了就是给你的电脑装上“深度学习的大脑”。
我见过太多同学,算法写得溜,结果卡在环境配置上,一搞就是两三天。其实没那么玄乎,按步骤来,半小时就能搞定。
1. Anaconda 安装:你的 Python 管家
Anaconda 是什么?你可以把它理解成一个 Python 环境的“瑞士军刀”。它能帮你创建独立的虚拟环境,避免不同项目之间的包冲突。
核心作用:隔离环境。一个项目用 PyTorch 1.8,另一个用 2.0,互不干扰。
安装步骤
- 下载:去官网下载对应系统的安装包。我建议选 Python 3.9+ 的版本。
- 安装:一路默认就行。但有一个关键点——不要勾选“Add Anaconda to PATH”。为什么?因为会跟系统自带的 Python 打架。我们用 Anaconda Prompt 来操作。
- 验证:打开 Anaconda Prompt,输入
conda --version,看到版本号就对了。
我的习惯:装完第一件事,先跑 conda config --set auto_activate_base false。这样每次打开终端不会自动进 base 环境,清爽很多。
2. CUDA 与 cuDNN:让显卡干活
深度学习训练,CPU 太慢了。我们要让 GPU 来算。CUDA 就是 NVIDIA 给显卡写的“翻译官”,cuDNN 则是专门优化深度学习的“加速包”。
版本匹配——这是最容易踩坑的地方
我曾经帮一个学员排查问题,他装的是 CUDA 12.0,但 PyTorch 只支持到 11.8,结果训练时直接报错“找不到 CUDA 驱动”。
记住这个原则:PyTorch 版本决定 CUDA 版本,CUDA 版本决定 cuDNN 版本。
| PyTorch 版本 | 推荐 CUDA 版本 | 推荐 cuDNN 版本 |
|---|---|---|
| 2.0.x | 11.8 | 8.7.0 |
| 1.13.x | 11.6 | 8.4.0 |
| 1.10.x | 11.3 | 8.2.0 |
安装流程
- 检查显卡驱动:在终端输入
nvidia-smi。看右上角的 CUDA Version,这个数字表示你的驱动支持的最高 CUDA 版本。比如显示 12.0,那你装 11.8 完全没问题。 - 安装 CUDA:去 NVIDIA 官网下载对应版本的 CUDA Toolkit。选“exe (local)”安装包,自定义安装,只勾选“CUDA”组件。
- 配置 cuDNN:下载 cuDNN 需要注册 NVIDIA 账号。解压后,把
bin、include、lib三个文件夹里的文件,复制到 CUDA 安装目录下(默认在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8)。 - 验证:在终端输入
nvcc --version,看到版本信息就成功了。
注意:环境变量要配好。把 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin 和 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp 加到系统 PATH 里。
3. PyTorch 安装:深度学习引擎
PyTorch 是 YOLOv8 的底层框架。安装它,我们直接用 conda 命令,省心。
创建虚拟环境
conda create -n yolov8 python=3.9
conda activate yolov8
环境名我习惯叫 yolov8,清晰明了。
安装 PyTorch
去 PyTorch 官网,选择你的配置(Windows、Conda、CUDA 11.8),复制命令。大概是这样:
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
验证 GPU 是否可用:在 Python 里跑两行代码:
import torch
print(torch.cuda.is_available()) # 输出 True 就对了
如果输出 False,八成是 CUDA 版本没对上。
4. YOLOv8 源码下载与环境配置
Ultralytics 官方把 YOLOv8 封装成了一个 Python 包。安装非常简单。
安装 ultralytics 包
pip install ultralytics
这条命令会自动安装 YOLOv8 及其所有依赖,包括 OpenCV、Matplotlib、Pandas 等。
验证安装
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
如果能看到检测结果,说明环境全部打通了。
避坑指南:我曾经遇到过 ModuleNotFoundError: No module named 'ultralytics'。原因是 pip 安装到了 base 环境,而我当前在 yolov8 环境里。记住:先激活环境,再装包。
5. 知识体系总览
下面这张图,帮你理清整个环境搭建的逻辑链条:
6. 常见问题速查
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
torch.cuda.is_available() 返回 False |
CUDA 版本与 PyTorch 不匹配 | 卸载 PyTorch,重新安装对应 CUDA 版本的 PyTorch |
nvcc --version 找不到命令 |
环境变量未配置 | 手动添加 CUDA 的 bin 目录到 PATH |
| 安装 ultralytics 报错 | Python 版本过低或过高 | 使用 Python 3.8 - 3.11 版本 |
| 运行 yolo 命令提示“不是内部命令” | 未激活 conda 环境 | 先执行 conda activate yolov8 |
最后提醒一句:别在 base 环境里装东西。养成好习惯,每个项目建一个独立环境。出了问题,删掉重来,不心疼。