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

2023-10-29 18:45

本文主要是介绍一文带你在GPU环境下配置YOLO8目标跟踪运行环境,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文介绍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目标跟踪、目标检测任务环境配置,全部完成。

 

这篇关于一文带你在GPU环境下配置YOLO8目标跟踪运行环境的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/302633

相关文章

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

判断PyTorch是GPU版还是CPU版的方法小结

《判断PyTorch是GPU版还是CPU版的方法小结》PyTorch作为当前最流行的深度学习框架之一,支持在CPU和GPU(NVIDIACUDA)上运行,所以对于深度学习开发者来说,正确识别PyTor... 目录前言为什么需要区分GPU和CPU版本?性能差异硬件要求如何检查PyTorch版本?方法1:使用命

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

Python如何精准判断某个进程是否在运行

《Python如何精准判断某个进程是否在运行》这篇文章主要为大家详细介绍了Python如何精准判断某个进程是否在运行,本文为大家整理了3种方法并进行了对比,有需要的小伙伴可以跟随小编一起学习一下... 目录一、为什么需要判断进程是否存在二、方法1:用psutil库(推荐)三、方法2:用os.system调用

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

一文带你搞懂Python中__init__.py到底是什么

《一文带你搞懂Python中__init__.py到底是什么》朋友们,今天我们来聊聊Python里一个低调却至关重要的文件——__init__.py,有些人可能听说过它是“包的标志”,也有人觉得它“没... 目录先搞懂 python 模块(module)Python 包(package)是啥?那么 __in

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H