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

2023-10-29 18:44

本文主要是介绍一文带你在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/302618

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方