本文章将教会你如何在Windows系统中,从零开始配置YOLO环境

正式开始前,我们首先了解一下什么是YOLO。YOLO(You Only Look Once)是一种非常流行且强大的实时目标检测算法。它的核心能力可以概括为一句话:

YOLO 可以在一张图片或视频帧中,快速准确地找出其中有哪些物体(对象),并标出它们的位置和类别。

总而言之,YOLO的核心功能就是进行目标检测

YOLO的目标检测任务可以依据 检测目标的粒度 和 时序特性 进行如下分类:

分类维度 大类 核心输出 典型应用
检测粒度 常规目标检测 边界框 + 类别 通用物体识别、安防、自动驾驶
实例分割 边界框 + 类别 + 像素级掩膜 图像抠图、精细场景理解
姿态/关键点检测 关键点坐标 人机交互、动作分析、体育科学
时序特性 图像目标检测 单帧结果 照片分析、工业质检
视频目标检测 多帧结果 + 目标ID 实时监控、行为分析、流量统计

简单介绍了YOLO以及其主要应用领域后,接下来我们开始进入主题:配置YOLO环境

0. 前期准备

在正式开始配置前,首先要做好硬件的准备工作,windows系统、英伟达显卡和大于16GB的内存

本教程只针对windows系统进行,但在其他系统中如Ubuntu系统中同样可以配置YOLO环境。

英伟达显卡的意义在于,有了英伟达显卡我们就可以配置GPU环境,但是没有英伟达显卡我们就是只能配置cpu环境,虽然都可以进行YOLO环境配置,但二者的区别就在于使用GPU可以大大提升运算效率,通俗的举例就是,GPU一小时可以完成CPU一天的工作。

内存也会对训练和运算速度有影响,选用16GB可以满足正常运行要求。

在配置前大家可以通过任务管理器查看一下自己电脑的配置。如下图所示,可以查看自己的内存和GPU显卡属性。

1. 安装YOLO

安装YOLO整体需要安装以下四样东西,确保每一个步骤成功后在进行下一步。

1.1 安装YOLO源码

安装YOLO源码,我们需要下载的项目是ultralytics源代码。

那么大家会不会有个疑问,既然是安装YOLO源代码,为什么下载的是 ultralytics 这个东西。这里简答帮大家解答一下疑问,主要是因为原始的YOLO源代码早就停止更新和维护了。

  • 原始 Darknet 代码停滞: Joseph Redmon 因伦理原因停止了对 YOLO 的官方维护(大约在 YOLOv3 之后)。这意味着原始代码库不再有功能更新、性能优化或对新版 PyTorch 等的支持。

  • Ultralytics 成为“事实上的官方”: Ultralytics 公司从 YOLOv3 开始,持续维护并发布了 YOLOv5, YOLOv8, 以及最新的 YOLOv9 和 YOLOv10。它们是目前最活跃、最受认可的 YOLO 实现,被广泛认为是“新一代 YOLO”的官方版本。

与此同时,Ultralytics所维护的YOLO从一个相对硬核的研究项目,变成了一个工业级、开箱即用的工具。它无需像编译原始 Darknet 那样处理复杂的 Makefile、CUDA 和 OpenCV 依赖。几行代码就能完成训练、验证、预测和导出。同时Ultralytics 提供了非常详尽、步骤清晰的文档和教程,从“如何开始”到“高级用法”,覆盖了训练、验证、预测、部署等所有环节,极大地降低了学习和使用门槛。

所以对于绝大多数用户——无论是研究者、学生还是工程师——选择Ultralytics版本的 YOLO 都是一个更明智、更高效的决定。它解决了原始代码在易用性、可维护性和功能性上的几乎所有痛点,让你能专注于模型本身的应用和调优,而不是浪费在环境配置和代码调试上。

说了这么多题外话,现在我们开始正式下载YOLO。其实下载方法也十分简单,直接去GitHub上找到 ultralytics项目,然后再下载源码即可。也就是下面的这个项目。

https://github.com/ultralytics/ultralytics

为了方便大家后续测试,推荐大家下载和博主相同版本的源码。我们选择项目的Tags分支,然后下载

选择8.3.163版本

随后选择Code->Download Zip就可以下载指定版本的源码

安装了源代码后,我们下载几个官方训练好的模型,以便于我们后面进行环境的验证测试。下载地址如下,随后找到v8.3.0版本下的Assets。选择yolo11n系列下的几个模型下载即可,这些模型是当前系列中最小的几个模型。

https://github.com/ultralytics/assets/releases/tag/v8.3.0

1.2 安装Anaconda

Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。Anaconda 安装包可以到以下链接下载。

anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

进入清华镜像源之后,复制下载连接打开,选择2024.06-1Windows-86_64.exe进行下下载安装

运行可执行文件,进行安装,在安装用户选项推荐安装Just me,如果选择ALL Users可能会导致两个问题,首先虽然anaconda安装在C盘之外,到那时新建的环境默认存放在C盘,导致C盘空间越来越小;其次如果用户名是中文,那么可能导致后续操作环境时出现无缘无故的错误。

其余步骤安装顺序正常安装即可。  安装完成后,即可搜索到anaconda终端环境

打开后界面如下所示,之后我们要经常在这个界面中进行操作,大家要熟悉操作方式。

1.2.1  配置anaconda镜像

随后为了拥有更好的体验,我们一般需要配置我们的anaconda镜像环境,在我们刚才下载anaconda的链接中,就有配置anaconda镜像的方法。

在Anaconda终端中输入,随后就会弹出一个txt文件,我们将上面的内容粘贴进txt文件中保存即可

notepad .condarc

随后我们在anaconda终端中输入 ,查看镜像环境是否修改成功,如果出现以下内容就是修改成功

type .condarc

1.2.2 配置pip镜像

搜索清华的pip镜像网站,网址如下。

pypi | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

我们可以通过命令行进行pip镜像的配置。找到设置默认中的这一行指令,复制指令粘贴到终端中,随后回车。

回车后出现一行语句则说明创建好了,如下图所示。至此已经能完成了anaconda的全部配置

1.3 安装YOLO环境

1.3.0 基础知识扫盲

python  PyTorch  Anaconda  Pycharm

这里博主给大家几个词,很多初学的小伙伴可能都会比较懵逼,这些都是什么意思,有什么区别,他们之间有什么关系?接下来博主将为大家一一讲解。

实际上我们在配置YOLO环境时,只需要配置两样东西:yolo源代码和python及所需的各种包(称为python环境)

yolo的源代码很好理解,那么python是什么呢?

Python是一种高级、解释型的通用编程语言。我们常说的python版本实际上指的是python语言的不同发布版本。新版本意味着性能提升、新特性和安全更新。对于新项目,应选择受支持的稳定新版本。

我们所需要下载的Python实际上是一个官方运行时套装,核心包括:

  1. 解释器:执行你代码的“大脑”。

  2. 标准库:官方提供的强大工具集。

  3. pip包管理器:用于安装第三方生态库。

其中 PyTorch 就是YOLO运行的python环境中的一个包,所以他是包含在python环境中的。

有了上面的只是我们可以知道,在安装了python环境和有了yolo源码后,实际上我们的YOLO环境就已经配置完成了,那么我们之前大费周章下载的 anaconda 有什么作用呢?

实际上,Anaconda 是一个至关重要的平台和工具集,它的核心作用是解决环境依赖与管理问题

我们可以想象下面一个场景,如果我们想在一台电脑上运行不同的项目,这些项目所用到的python版本和依赖包完全不一样,但我们的电脑环境只能配置一种版本,这样就导致我们无法同时进行多个项目的调试。

但anaconda就可以,可以很好的解决这个问题,我们可以通过anaconda为每个项目创建专用的虚拟环境,这样的好处就是每个虚拟环境互不干扰,很好的解决了我们想在一台电脑中运行不同版本的项目的问题。

下面是Anaconda中常用的一些指令

命令 主要作用
conda env list 列出所有已创建的 Conda 环境及其存储路径
conda create -n <name> python=3.xx 创建一个指定名称和 Python 版本的新虚拟环境
conda remove -n <name> --all 彻底删除指定名称的虚拟环境及其所有包
conda activate <name> 激活(进入)指定名称的虚拟环境
conda deactivate 退出当前已激活的虚拟环境
python --version 查看当前环境下 Python 的版本信息
pip list 列出当前环境中所有已安装的 Python 包
pip install <package>=x.xx 安装指定版本号的 Python 包到当前环境
pip show <package> 显示指定包的详细信息,包括版本、位置等
pip uninstall <package> 卸载当前环境中指定的 Python 包

那么PyCharm是什么呢?

PyCharm 是一个 IDE,它的核心作用是为你编写、调试和管理代码提供极致的便利和强大的支持。它专注于开发环节的效率和正确性。

Anaconda与PyCharm在深度学习项目中构成了专业且高效的分工协作体系:Anaconda作为项目的基础保障,负责通过虚拟环境解决复杂的依赖管理与环境隔离问题,它像一个专业的后勤官,为每个项目创建并配置好一个包含特定版本Python及所有必要库(如PyTorch、CUDA工具包)的独立、纯净且兼容的运行环境;而PyCharm则作为核心开发平台,无缝集成Anaconda所创建的环境,并在此基础上提供强大的代码编辑、智能提示和最为关键的断点调试功能。 具体到项目流程中,开发者首先需用Anaconda命令行创建并激活专属环境并安装依赖,随后在PyCharm中将项目解释器指向该环境;在调试时,则直接利用PyCharm设置断点并启动调试模式,从而能在程序暂停状态下逐行执行代码、实时审查变量状态(如模型参数、数据张量),精准定位并修复逻辑错误或数据异常。简言之,Anaconda确保了项目环境的一致性与可复现性,让程序“能跑起来”,而PyCharm则在此稳定基础上极大地提升了开发与调试效率,确保开发者能“又快又好地写出正确的代码”。

1.3.1 创建YOLO环境

首先打开andconda终端,随后输入下面指令查看当前conda环境,这里由于博主已经创建好了其他环境,所以会有多个显示,正常情况下,应该只有一条base环境

conda env list

接下来,我们开始创建一个新的conda环境,名字就命名为yolo。在终端中输入下面这条指令,随后直接回车。然后便开始进行下载,过程中会提示是否确认安装,直接回车即可。

conda create -n yolo python=3.11

安装完成后,就会出现下面的内容,再次输入下面指令,就会发现多了一条yolo开头的配置

conda env list

随后输入,当出现下面的内容,并且开头的base变成了yolo就表示我们的环境激成功了。

conda activate yolo

1.3.2 安装PyTorch

接下来,我们就要开始安装运行 YOLO 最重要,也是最难安装的一个包。

之所以说这个包最难安装,是因为在安装时需要综合考虑 显卡的型号、显卡驱动的版本、python的版本、其他包的版本甚至是源代码的版本。

在安装之前,我们先检查一下显卡驱动,我们关注的是CUDA Version,我们需要保证我们下载的PyTorch版本小于等于我们当前的CUDA版本。

PyTorch下载地址

Previous PyTorch Versions

我们选择安装2.5.0版本,找到下面的这个位置,选择CUDA 11.8版本进行安装(我们的cuda版本是12.7,所以是满足安装要求的)复制该条指令到我们的命令行中。然后回车就开始安装我们的PyTorch包了,随后就是漫长的下载过程了。如果下载速度过慢的话,可以考虑使用镜像的方法进行下载。

当下完完成后,我们可以进行下测验,检验一下我们PyTorch有没有安装好,首选输入命令

pip show torch

该指令可以显示当前的PyTorch版本。随后我们在终端中输入

python

这样我们就进入了交互式模式,所谓的交互式就是你在终端中输入一条指令,python就会运行一条指令,与之对应的就是脚本式(script mode):把所有的命令写好,放到一个.py文件中,让python一起运行。

随后我们输入

import torchvision

其中import的意思是导入某个包,通常我们导入后才能使用这个包,PyTorch包含了torch、torchvision、torchaudio三个包。当我们安装好PyTorch就可以导入并使用这三个包。随后我们输入

import torch

没有报错,我们继续输入

torch.cuda.is_available()

这一条语句通常是用来判断安装的PyTorch是GPU版本还是CPU版本,得到True说明是GPU版本,得到False说明是安装的CPU版本。

随后我们输入

torch.randn(1).cuda()

这一条语句的作用是创建一个随机数,然后把这个随机数加载到GPU,正常情况下会返回一个随机数,整个过程如下图所示,如果你完成了上面的一系列测试都没有问题的话,那么恭喜你成功的安装了PyTorch包。随后我们可以通过 Ctrl+Z然后回车退出交互式模式

1.3.3 安装其他包

首先找到我们之前下载的源码的安装路径,随后在终端中输入下面指令

pushd <你存放源代码的路径>

其中pushd <一个文件夹路径>  这个指令类似于cd指令,运行后可以进入文件夹,相比cd,pushd的好处是可以直接进入其他盘。

当我们切换完路径之后,就可以安装剩余的包了,在终端中输入下面的指令

pip install -e .

这条指令的作用是把ultralytics作为一个包安装到环境里,安装完成后,会有安装成功的提示。

2. YOLO测试

如果你成功做完了以上步骤,那么现在我们就可以来使用YOLO进行一个小测试了。

还是在上面的终端中,输入下面的语句

yolo detect predict

这个命令的作用是用yolo11n.pt这个目标检测模型预测源代码里的ultralytics/assets/里面的两张图片。执行完后我们可以看到,结果被保存到 \runs\detect\predict这个路径下

打开文件夹我们就可以看到使用YOLO模型执行完的目标检测任务。

到这一步,你已经可以调用YOLO模型进行目标检测任务了,但是每次都要在终端如输入命令行是不是太麻烦了? 

当然!

所以我们就会用的一个IDE来方便我们后续更加复杂的操作,这个IDE就是PyCharm。

3. 安装PyCharm

3.1 下载PyCharm

这一步很简单,直接去PyCharm官网下载即可,现在的PyCharm已经不区分专业版和社区版了,我们选择Windows系统版本的安装包下载安装即可。

3.2 打开源码并配置PyCharm环境

首选进入下面的页面中,我这里已经打开过两个项目,所以在历史记录里面会有两个项目。

想要打开一个新的项目也很简单,我们只需要点击打开按键,就可以选择我们需要打开的项目,这里选择我们之前下载好的yolo源码,并打开文件夹。

这样我们就已经打开了我们的yolo项目,随后就是为这个yolo项目配置环境,也就是我们刚才安装的PyTorch等包。

我们点击文件,然后选择设置这一选项

随后就会弹出下面的窗口,我们选择当前项目->python解释器->添加解释器->添加本地解释器

然后就弹出下面的窗口,点击选择现有->类型选择为Conda->选择Conda的安装路径

conda路径设置为下面这个文件所在的路径

随后设置环境为我们之前创建的yolo,点击确定即可。随后就会加载我们之前在yolo环境里配置的包。

这样我们就在PyCharm中为我们当前的项目配置好了yolo环境。

3.3 PyCharm中运行yolo

到这一步,我们终于完成了所有的准备工作和环境配置,下面我将提供一段源码,大家可以利用这段源码实现一个简单的目标检测功能。

from ultralytics import YOLO
import cv2

model = YOLO(r"yolo11n.pt")


result = model(
    source=0,
    stream=True,
)


for result in result:
    plotted = result.plot()
    cv2.imshow("YOLO Inference", plotted)
    if cv2.waitKey(25) & 0xFF == ord("q"):
        break

cv2.destroyAllWindows()

如果运行正常的话,这段代码会开启大家电脑的摄像头,并实时显示当前检测到的目标信息。

如果你完成了以上的所有操作,那么恭喜你,已经成功实现了通过yolo模型进行目标检测任务。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐