第2章 深度学习环境搭建:Anaconda与Python环境配置、PyTorch与CUDA安装、YOLOv8源码下载与依赖安装

说实话,环境搭建这事儿,看着简单,但坑是真不少。我带过不少新人,第一周全卡在配环境上。我自己也翻过车——有一次急着给客户演示,结果CUDA版本没对上,模型死活跑不起来,现场那个尴尬……

所以这一章,咱们把每一步都走稳。你跟着我来,半小时内搞定。

2.1 整体流程概览

先看下我们要做什么,心里有个谱:

深度学习环境搭建流程 安装Anaconda 创建虚拟环境 安装CUDA + cuDNN 安装PyTorch 下载YOLOv8源码 安装依赖 + 验证 建议:先确认显卡型号和驱动版本,再决定CUDA版本,避免走弯路 我习惯把环境名取为 yolov8_env,方便后续多项目隔离

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 最稳。

注意: 不要用系统自带的 Python!不要用系统自带的 Python!不要用系统自带的 Python!重要的事说三遍。我曾经图省事直接用系统 Python,结果装包时把系统依赖搞坏了,重装了系统……血的教训。

2.4 安装CUDA与cuDNN

这一步是很多人的噩梦。其实没那么玄乎,核心就一句话:你的显卡驱动决定了你能装什么版本的CUDA。

先查驱动:

  • Windows:命令行输入 nvidia-smi,看右上角「CUDA Version」。
  • Linux:同样 nvidia-smi,或者 nvcc --version。

比如你看到 CUDA Version: 12.1,那你就装 CUDA 12.x 系列的版本。

CUDA 安装步骤:

  1. 去 NVIDIA 官网下载对应版本的 CUDA Toolkit。
  2. Windows 选 exe (local) 版本,Linux 选 runfile 或 deb。
  3. 安装时注意:Windows 默认路径别改,Linux 记得加环境变量。

cuDNN 安装:

cuDNN 是 CUDA 的神经网络加速库。下载需要注册 NVIDIA 账号,但免费。

  • 下载对应 CUDA 版本的 cuDNN。
  • 解压后把 bin、include、lib 文件夹复制到 CUDA 安装目录下。
  • Windows 默认路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.x\
验证CUDA是否装好:
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 环境通了!

避坑指南: 我曾经装完 PyTorch 后 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
我的经验: 环境搭建最怕「差不多」。CUDA 版本差一个小数点,PyTorch 就认不出来。所以每一步验证都别跳过。我每次搭新环境都会把验证命令存成一个脚本,一键跑完,省得漏掉什么。