一文带你在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

相关文章

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

一文详解Java Stream的sorted自定义排序

《一文详解JavaStream的sorted自定义排序》Javastream中的sorted方法是用于对流中的元素进行排序的方法,它可以接受一个comparator参数,用于指定排序规则,sorte... 目录一、sorted 操作的基础原理二、自定义排序的实现方式1. Comparator 接口的 Lam

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手