手把手带你实战YOLOv8 - 从环境搭建到目标检测(含常见问题解决)

部署运行你感兴趣的模型镜像

一、前置准备:安装必要组件

YOLOv8 是基于 PyTorch 的目标检测框架,使用前需要正确配置开发环境。本节将详细介绍如何通过 Miniconda(或 Miniforge)管理环境,并安装 PyTorch 与 Ultralytics。

手把手带你实战演练YOLOv8

组件作用关联
Miniconda / Miniforge轻量级 Python 环境管理工具用于创建独立环境,避免包冲突
PyTorch深度学习核心框架提供 GPU 加速与模型训练能力
Ultralytics (YOLOv8)目标检测工具库基于 PyTorch 构建,提供简洁 API
终端(Terminal)操作入口所有命令在此执行,推荐使用 cmd

1. 使用 Miniconda(Windows用户)

1)打开精华大学镜像源网址:https://mirrors.tuna.tsinghua.edu.cn/

2)找到 anaconda --> 点击进入找到 miniconda

在这里插入图片描述
在这里插入图片描述

3)点击进入 miniconda 搜索py38(YOLOv8 兼容性好) 找到 windows 版本

在这里插入图片描述

4)下载并安装,安装目录不能有中文

安装成功后搜索cmd能找到

在这里插入图片描述

补充:使用 Miniforge 替代 Miniconda

Miniforge 和 Miniconda 使用方法基本一致(轻量替代,支持 M1/M2 Mac)

如果你使用的是 ARM 架构 Mac 或希望更纯净的 conda 环境,推荐使用 Miniforge:

在这里插入图片描述

安装目录不能有中文

在这里插入图片描述

conda 创建并激活虚拟环境

1)搜索 cmd 找到

在这里插入图片描述

2)打开 Anaconda Prompt 创建环境:

# 创建名为 yolov8 的虚拟环境,指定 Python 3.8
conda create -n yolov8 python=3.8

在这里插入图片描述

3)激活环境

conda activate yolov8

在这里插入图片描述

激活后命令行前缀会显示 (yolov8),表示当前处于该环境中。

4)配置国内镜像源(加速 pip 安装)

由于 PyPI 国外源速度慢,建议配置国内镜像源(如清华源):

配置方法:https://mirrors.tuna.tsinghua.edu.cn/help/pypi/

  • 将清华大学镜像源设为默认(写入 ini 配置文件)
# pip config 是全局设置
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

在这里插入图片描述

  • 验证是否设置成功
pip config list

在这里插入图片描述

  • 下载完镜像后也可通过查看 C:\Users\Administrator.condarc 内容判断镜像配置是否正确(如果内容过多则配置失败)

在这里插入图片描述

2. 安装 pytorch(支持 GPU / CPU)

安装 pytorch 前,需查看电脑显卡配置,系统驱动,判断最高能支持哪一版本

1) 查看显卡驱动与 CUDA 支持版本

方法一:通过 NVIDIA 控制面板查看

① 右键桌面 → 打开 NVIDIA 控制面板

在这里插入图片描述

② 点击左下角「系统信息」

在这里插入图片描述

③ 查看「组件」中的 NVCUDA.DLL 版本

在这里插入图片描述

示例:NVCUDA.DLL Version: 12.3 → 支持 CUDA 12.3

  • 根据 CUDA 版本选择对应的 PyTorch 安装命令
  • 若 NVCUDA.DLL 版本比较老,建议升级显卡驱动

方法二:使用 nvidia-smi 命令

① 把以下两个路径加入系统的 环境变量 PATH 中:

C:\Program Files\NVIDIA Corporation\NVSMI\
C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR\

② 然后在终端运行:

nvidia-smi

在这里插入图片描述


2)确定好最高版本,安装 pytorch

pytorch 下载地址:https://pytorch.org

打开后下滑选择对应下载需求

在这里插入图片描述

我的显卡驱动版本为13.0,比较新,安装CUDA 12.1 对应 pytorch 版本即可
注:pytorch需创建指定环境安装

# 1. 创建新环境(比如叫 pytorch-gpu),使用 Python 3.10(推荐)
conda create -n pytorch-gpu python=3.10 -y

# 2. 激活新环境
conda activate pytorch-gpu

# 3. 使用 官方 + 国内镜像组合 安装 CUDA 12.1 版本
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --extra-index-url https://pypi.tuna.tsinghua.edu.cn/simple -f https://mirror.sjtu.edu.cn/pytorch-wheels/cu121/

注意安装的 python 版本要与 pytorch 兼容

  • 若之前安装过pytorch,彻底卸载当前 PyTorch
conda activate pytorch-gpu
pip uninstall torch torchvision torchaudio -y

在这里插入图片描述

  • 若镜像及官网安装失败,可直接下载至本地
下载链接
torchhttps://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp310-cp310-win_amd64.whl
torchvisiontorchvision-0.20.1+cu121-cp310-cp310-win_amd64.whl
torchaudiotorchaudio-2.5.1+cu121-cp310-cp310-win_amd64.whl

本地下载成功后,进入存储三个 .whl 文件的文件夹,我放到了 F:\yolov 目录中

# 激活环境
conda activate pytorch-gpu

# 进入存放 .whl 文件的目录:
cd /d F:\yolov

安装 GPU 版本(注意:文件名必须完全匹配!可使用 dir *.whl 查看文件名)

pip install torch-2.5.1+cu121-cp310-cp310-win_amd64.whl
pip install torchvision-0.20.1+cu121-cp310-cp310-win_amd64.whl
pip install torchaudio-2.5.1+cu121-cp310-cp310-win_amd64.whl

3) 验证 PyTorch 是否支持 GPU

输入python ,进入 Python 环境测试

import torch
torch.cuda.is_available()

输出结果应为:

True

在这里插入图片描述

  • 若 CUDA Available 为 False,请检查:
  • 显卡驱动是否最新
  • CUDA 版本是否匹配
  • 是否安装了正确的 PyTorch 版本
python -c "import torch; print('PyTorch版本:', torch.__version__); print('编译时CUDA版本:', torch.version.cuda); print('cuDNN版本:', torch.backends.cudnn.version() if torch.backends.cudnn.is_available() else 'N/A'); print('当前CUDA可用:', torch.cuda.is_available())"

在这里插入图片描述

3. 安装 ultralytics (YOLOv8)

1)安装依赖

清华源下载 ultralytics

pip install -U ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple/

-U 表示升级安装,确保获取最新稳定版。

安装完成:

在这里插入图片描述

2)验证安装是否成功

输入 python ,打开编辑器

import ultralytics
ultralytics.checks()

验证安装成功:
在这里插入图片描述

下载源码(可选):

克隆官方仓库便于本地调试:

https://github.com/ultralytics/ultralytics

在这里插入图片描述
在这里插入图片描述

放置到桌面,在vscode / pycharm上打开文件:

在这里插入图片描述
在 Anaconda Prompt 终端进入该文件夹

cd desktop 
cd ultralytics-main

# 我的文件夹
cd /d F:\yolov\ultralytics-main

快速预测一张图片

yolo predict model=yolov8n.pt source=ultralytics/assets/bus.jpg

在这里插入图片描述

网络好可以直接下载,网络不好复制资源地址进行下载

在这里插入图片描述

检测成功,检测到 4个人 1辆车,一个stop信号,一共花了102ms

在这里插入图片描述

4. Windows 终端使用注意事项(非常重要!)

  • cmd conda init cmd.exe

  • anaconda prompt

不要使用 PowerShell ,在使用软件 PyCharm 时修改终端为 cmd

  • cmd 鼠标左键为复制,鼠标右键为粘贴

在这里插入图片描述

二、模型预测实战

1. 模型预测的基本使用

1)ultralytics-main 文件夹里创建 demo_predict.py

在这里插入图片描述
2)写入内容:

from ultralytics import YOLO

# 加载模型
model = YOLO('yolov8n.pt')  # 自动下载若不存在

# 进行预测
results = model(source='ultralytics/assets/bus.jpg', save=True, conf=0.5, iou=0.45)

# 打印结果
for r in results:
    print(r.boxes)  # 输出边界框信息

3)运行该代码,并修改终端为cmd

在这里插入图片描述
4)激活环境

conda activate yolov8

5)运行检测算法

yolo detect predict model=./yolov8n.pt source=./ultralytics/assets/bus.jpg

在这里插入图片描述
6)查看运行结果
在这里插入图片描述

2. 常用参数讲解

常用参数可以在 ultralytics-main 文件或官网上找到

在这里插入图片描述

参数说明示例
source输入源‘0’(摄像头)、‘screen’(屏幕)、视频路径、图片路径
save是否保存结果save=True
conf置信度阈值conf=0.5(低于此值不显示)
iouNMS IOU 阈值iou=0.45(控制重叠框合并)
imgsz输入图像尺寸imgsz=640(越大越准但越慢)
device设备选择device=0(GPU)、device=cpu

示例:使用摄像头实时检测

result = yolo(source="./ultralytics/assets/bus.jpg",save = true)
source 可以等于 “图片,视频,屏幕( “ screen ” ),打开摄像头( 0 )”

save = true 后,结果保存在如下位置

Results saved to C:\Users\Administrator\Desktop\ultralytics-main\runs\detect\predict3

在这里插入图片描述

3.Boxes 与 Plot 应用(高级用法)

获取检测结果中的边界框信息:

results = model("bus.jpg")
for result in results:
    boxes = result.boxes  # Box object for bbox outputs
    masks = result.masks  # Masks object for segmentation masks outputs
    probs = result.probs  # Class probabilities for classification outputs

    print(boxes.xyxy)   # 坐标
    print(boxes.conf)   # 置信度
    print(boxes.cls)    # 类别 ID

可视化绘图:

result = results[0]
plot = result.plot()  # 绘制检测框和标签

三、常见问题与解决方案

1. conda 不是内部或外部命令

原因: Miniconda 未添加到系统 PATH
解决:

找到安装目录下的 Scripts 和 condabin 文件夹
将以下路径加入系统环境变量 PATH:

C:\Miniconda3\
C:\Miniconda3\Scripts\
C:\Miniconda3\condabin\

重启终端

2. yolo 命令找不到

原因: Ultralytics 安装失败或未正确激活环境
解决:

# 确保在 yolov8 环境中
conda activate yolov8

# 重新安装
pip uninstall ultralytics -y
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple/

3. brotli 包错误

原因: brotli 模块不兼容导致启动失败
解决:

1)找到 miniconda 的安装位置

conda info

在输出信息中查找这一行:

base environment : C:\Users\Administrator\miniconda3  (writable)

2)删除 brotli 相关文件

进入:C:\Users\Administrator\miniconda3\Lib\site-packages
查找 brotli 相关文件,全部删除

3)重新安装正确的 brotlipy

C:\Users\Administrator\miniconda3\python.exe -m pip install brotlipy

4)验证修复

C:\Users\Administrator\miniconda3\python.exe -c "import brotli; print(brotli.error)"

正确输出为:

<class 'brotli.error'>

5)正常使用 conda

conda create -n yolov8 python=3.8

4. 删除conda环境

列出所有环境

conda env list

在这里插入图片描述

退出当前使用环境,进入base

conda deactivate

删除指定环境(如:yolov8)

conda env remove -n yolov8

列出删除后环境

conda env list

在这里插入图片描述

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

在使用 YOLOv8 时,若希望从清华大学镜像源安装 PyTorch 以提升下载速度,可以使用如下命令[^2]: ```bash pip install torch==2.0.0 torchvision==0.15.1 torchaudio==2.0.1 -i https://pypi.tuna.tsinghua.edu.cn/simple ``` 该命令会从清华源安装指定版本的 PyTorch 及其相关库,适用于 CPU 版本的安装[^1]。如果需要安装 GPU 版本,请确保系统中已安装合适的 CUDA 工具包,并调整命令中的版本参数以匹配对应的 CUDA 版本。 此外,在安装过程中建议先配置 pip 使用清华源,以提升整体安装效率: ```bash pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple ``` 配置完成后,后续的 pip 安装命令将默认使用清华源[^2]。 ### 安装 YOLOv8 所需依赖 在完成 PyTorch 安装后,可继续安装 YOLOv8 的核心依赖包: ```bash pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple ``` 该命令会从清华源安装 `ultralytics` 库,即 YOLOv8 的核心实现模块。 ### 验证安装 安装完成后,可通过以下 Python 代码验证 YOLOv8 和 PyTorch 是否安装成功: ```python import torch from ultralytics import YOLO # 检查 PyTorch 版本 print("PyTorch version:", torch.__version__) # 加载 YOLOv8 模型(可选,验证是否能成功加载模型) try: model = YOLO("yolov8n.pt") # 假设已下载预训练模型文件 print("YOLOv8 model loaded successfully.") except Exception as e: print("Failed to load YOLOv8 model:", e) ``` 若输出中显示正确的 PyTorch 版本号且 YOLOv8 模型加载无误,则表示安装成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值