一文带你在GPU环境下配置YOLO8目标跟踪运行环境

news/2024/11/15 5:39:21/

本文介绍GPU下YOLO8目标跟踪任务环境配置、也即GPU下YOLO8目标检测任务环境配置。

YOLO8不仅仅可以实现目标检测,其还内置有Byte-Tracker、Bot-Tracker多目标跟踪算法。可以实现行人追踪统计、车流量跟踪统计等功能。值得注意的是Byte-Tracker、Bot-Tracker多目标跟踪算法的检测结果特别依赖目标检测的结果,说白了,就是YOLO内置的两种目标跟踪算法是建立在目标检测之上,比目标检测更耗费算力。YOLO做目标检测任务使用CPU也可以跑出一个不低的FPS,但是目标跟踪不行,用CPU跑,FPS非常低,特别是CPU性能不好的情况下,就像卡住一样。因此尽量还是使用GPU(或者NPU)跑目标跟踪任务。

目录

1.检查显卡及驱动

 2、创建anaconda环境,安装pytorch

​3.安装ultralytics

1.检查显卡及驱动

在电脑上配置GPU环境下的目标跟踪(或者目标检测)运行环境,需要我们的电脑有英伟达显卡,注意必须是英伟达独立显卡,不是AMD显卡,更不是集成显卡。

在windows电脑的设备管理器可以查看显卡型号,比如我的笔记本电脑有一张NVIDIA RTX 3060

确认好显卡是NVIDIA显卡之后。需要为显卡安装显卡驱动,如果你不确定电脑上是否安装了显卡驱动,打开命令行窗口,输入 nvidia-smi 如果有返回则证明显卡驱动安装无误,否则显卡驱动没有安装或者型号不匹配,限于文章篇幅,本篇文章对显卡驱动安装不做详细介绍,需要大家自行搜索相关教程安装显卡驱动,这方面网上教程非常多。

 2、创建anaconda环境,安装pytorch

其实,也不必非要使用anaconda,但是就我个人的惨痛教训来说,强烈大家使用anaconda为项目创建一个新环境,这样可以避免环境冲突,省去不少的麻烦。限于本文篇幅,如果你的电脑上没有安装anaconda(或者miniconda),可以自行搜索相关教程。并配置好环境变量,最好把anaconda换成国内源。

下面,在anaconda环境下新建一个环境。可以使用命令行(前提是配置好anaconda环境变量),当然也可以使用 Anaconda Prompt(推荐使用这种方式)

然后输入下面的命令新建一个名为yolo8的环境,python版本指定为3.10(当然,你可以按照自己的需求指定Python版本或者conda环境名) 

conda create -n yolo8 python==3.10

 创建好环境之后,将anaconda由base环境切换到刚刚新建好的yolo8环境

conda activate yolo8

 切换到对应的conda环境之后,下面安装GPU版本的pytorch。不就是安装Pytorch吗?直接conda install pytorch 或者 pip install pytorch不就好了?如果这样做的话,就安装错了,这样安装的是cpu版本的pytorch并且没有为yolo8安装cuda工具包(运行时环境) 。

我们需要执行下面的命令之一,为yolo8的conda环境正确安装gpu版本的pytorch。在执行下面的命令之前,我们需要仔细确认自己电脑的英伟达显卡驱动支持的最高cuda版本。具体做法是,命令行窗口输入nvidia-smi,返回的 CUDA Version即为支持的CUDA最高版本。

可以看到,本人电脑的显卡驱动所支持的最高 CUDA版本是11.7。那么我们需要去pytorch官网找到与cuda 11.7版本对应的命令或者比CUDA11.7低的安装命令

如上面截图所示,这个页面上可以让我们选择安装方式(conda安装、pip安装....)对应的OS版本、CUDA版本等等,页面会自动生成安装命令。但是上面的页面所显示的支持CUDA 11.8和 CUDA12.1,没有我们想要的CUDA11.7,那么我们就需要进入pytorch的历史版本页面

进入页面后,如下面的截图所示,我们直接复制命令执行了就好了

 

可以看到CUDA11.7对应的conda 安装方式 的命令是这样的:

conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia

我们直接复制,在yolo8的conda环境下执行:

 

当然我们还可以选择pip命令安装,直接从页面复制命令在命令行窗口执行(注意,conda安装、pip安装两种方式任选其一即可,不可重复

 

当然,由于我们电脑显卡驱动所支持的最高CUDA版本是11.7,我完全还可以在pytorch官网选择CUDA11.6 CUDA11.3 的安装命令,切记只低不高,但最好对应。

又比如,一个电脑英伟达显卡驱动所支持的CUDA版本为11.3

我们将Pytorch历史版本界面一直向下翻,直到找到为止。 

 

3.安装ultralytics库

选择conda或者pip安装好GPU版本的pytorch之后,我们继续为名为yolo8的conda环境安装必要的pip包,我们直接执行下面的命令,安装Yolo8的源码也自动为我们安装全部依赖(opencv、numpy等等)

pip install ultralytics

自此, GPU下YOLO8目标跟踪、目标检测任务环境配置,全部完成。

 


http://www.ppmy.cn/news/1184413.html

相关文章

【C语言】指针那些事(上)

C语言系列 文章目录 文章目录 一. 字符指针 一.(1 ) 数组创建空间的地址和指针指向的地址 二. 指针数组 二.(1)指针数组模拟一个二维数组 ​ 三. 数组指针 三.(1)数组指针到底有什么用 对一维数组没有什么用 二.(…

Redis(windows+Linux)安装及入门

一、概述 Redis是什么? Redis(Remote Dictionary Server),即远程字典服务 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数…

用示例和应用程序了解必要的Golang库

Golang,也被称为Go,因其简单性、性能和并发性支持而在开发人员中迅速流行起来。导致Go成功的关键因素之一是其丰富的库生态系统,可以简化开发并提供解决常见问题的解决方案。在本文中,我们将更仔细地查看一些必要的Golang库&#…

RSA ——Rational Structure Architecture r入门教程

(一)UML概述 UML,即统一建模语言(Unified Modeling Language),是一种通用的面向对象的可视化建模语言。其核心目的是为软件的面向对象描述和建模提供一种标准化的方法。UML并不是一种编程语言,因…

Parity 战略转型引热议,将如何推动波卡生态去中心化?

Polkadot 生态的区块链基础设施公司 Parity Technologies,最近宣布了一项重要的战略调整,即正在寻求在未来几个月内,将部分现有的市场职能转移给 Polkadot 生态系统内的多个去中心化团队,这将影响 Parity Technologies 未来几个月…

HDRP中ShaderGraph自发光(Emission)不工作

在Unity中使用HDRP管线时,在ShaderGraph中制作自发光效果可能会遇到这么一个问题,直接将颜色连到主节点的Emission上没效果。 原因:HDRP场景的灯光是基于物理的,所以灯光的强度远远大于默认的自发光强度,自发光就会不…

08、SpringCloud -- 超卖、重复下单相关问题的解决方式

目录 超卖和重复下单解决高并发重复下单mysql的索引机制解决高并发超卖问题思路:代码:测试:操作:成功:总结:解决重复下单总结:解决超卖问题总结:超卖和重复下单 解决高并发重复下单 mysql的索引机制 利用mysql的索引机制来解决重复下单的问题 使用联合索引,类型用u…

苍穹外卖-day04-套餐管理

1. 新增套餐 1.1 需求分析和设计 产品原型: 业务规则: 套餐名称唯一套餐必须属于某个分类套餐必须包含菜品名称、分类、价格、图片为必填项添加菜品窗口需要根据分类类型来展示菜品新增的套餐默认为停售状态 接口设计(共涉及到4个接口&am…