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

news2024/11/25 2:36:49

本文介绍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.coloradmin.cn/o/1147398.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全面详细讲解OSEK直接网络管理,并对比Autosar网管。

搞了两年的Autosar,用到的网络管理都是Autosar网络管理,虽然偶尔有听到或看到Osek网络管理,但是一直没机会具体进行开发和测试。最近有机会具体接触和开发到,弄完之后感受就是:还是Autosar的网络管理好用,O…

10、SpringCloud -- 优化重复下单

目录 优化重复下单问题的产生:需求:思路:代码:测试:优化重复下单 之前超卖、重复下单的解决方式 问题的产生: 比如这个秒杀活动没人去玩,只有一个人去参与秒杀,然后秒杀成功了,因为有联合索引,所以这个人他没法重复下单,但是他依然去请求秒杀,在秒杀的10个商品没…

设计模式大赏(一):桥接模式,组合模式

设计模式大赏(一):桥接模式,组合模式 导言 本篇文章是设计模式大赏中的第一篇文章,这个系列的文章中我们主要将介绍一些常见的设计模式,主要是我在看Android源码中发现用到的一些设计模式。本篇文章将主要…

Android 快速实现隐私协议跳转链接

首先在string.xml创建对应字串 <string name"link">我已仔细阅读并同意<annotation value"privacy_policy">《隐私政策》</annotation>和<annotation value"service_agreement">《服务协议》</annotation></st…

十八、模型构建器(ModelBuilder)快速提取城市建成区——批量掩膜提取夜光数据、夜光数据转面、面数据融合、要素转Excel(基于参考比较法)

一、前言 前文实现批量投影栅格、转为整型,接下来重点实现批量提取夜光数据,夜光数据转面、夜光数据面数据融合、要素转Excel。将相关结果转为Excel,接下来就是在Excel中进行阈值的确定,阈值确定无法通过批量操作,除非采用其他方式,但是那样的学习成本较高,对于参考比较…

c++设计模式三:工厂模式

本文通过一个例子简单介绍简单工厂模式、工厂模式和抽象工厂模式。 1.简单工厂&#xff08;静态&#xff09; 假如我想换个手机&#xff0c;换什么手机呢&#xff1f;可以考虑苹果或者华为手机&#xff0c;那我们用简单工厂模式来实现这个功能&#xff1a; 我们关注的产品是手…

人工智能与航天技术的融合:未来发展的新趋势

人工智能与航天技术的融合&#xff1a;未来发展的新趋势 随着科技的飞速发展&#xff0c;人工智能和航天技术已经成为人类探索未知世界的重要工具。本文将探讨这两个领域的结合点&#xff0c;以及未来的发展趋势和应用前景。通过了解这些技术&#xff0c;读者将更好地理解人工…

用Python定义一个函数,用递归的方式模拟汉诺塔问题

【任务需求】 定义一个函数&#xff0c;用递归的方式模拟汉诺塔问题&#xff0c;三个柱子&#xff0c;分别为A、B、C&#xff0c;其中A柱子上有N个盘子&#xff0c;从小到大编号为1到N&#xff0c;盘子大小不同。现在要将这N个盘子从A柱子移动到C柱子上&#xff0c;但移动的过…

段页式管理方式

一、分段、分页的优缺点 1.分页管理&#xff1a;内存空间利用率高&#xff0c;无外部碎片&#xff0c;只有少量页内碎片&#xff0c;以物理结构划分&#xff0c;不便于按逻辑方式实现信息共享和保护 2.分段管理&#xff1a;为段长过大分配连续空间会很不方便&#xff0c;会产生…

Nginx动静分离以及防盗链问题

目录 1.动静分离 1.1概念 1.2准备环境 1.3.测试访问 2.Nginx防盗链问题 2.1nginx 防止网站资源被盗用模块 2.2防盗链配置 2.3准备两台机器 2.4测试 ①开启防盗链 ②让盗链ip可一访问服务资源 ③防盗链不设置none参数 1.动静分离 1.1概念 为了加快网站的解析速度&…

【图像分类】钢轨表面缺陷分类数据集介绍(4个类别)

写在前面&#xff1a; 首先感谢兄弟们的支持&#xff0c;让我有创作的动力&#xff0c;在创作过程我会尽最大能力&#xff0c;保证作品的质量&#xff0c;如果有问题&#xff0c;可以私信我&#xff0c;让我们携手共进&#xff0c;共创辉煌。 路虽远&#xff0c;行则将至&#…

Pytorch入门实例

数据集是受教育年限和收入,如下图 代码如下 import torch import numpy as np import matplotlib.pyplot as plt import pandas as pd import torch.nn as nn import torch.optim as optimdata pd.read_csv(./Income.csv)X torch.from_numpy(data.Education.values.reshape…

Windows环境下MosQuitto服务器搭建,安装mqtt服务端软件

1、下载、安装MosQuitto服务器 下载地址&#xff1a;http://mosquitto.org/files/binary/ 根据平台选择相应的代码下载。 安装完成后&#xff0c;安装文件夹下部分文件的功能

私有云:【9】Connection配置

私有云&#xff1a;【9】Connection配置 1、关闭IE增强配置2、Connection配置2.1、登录connection管理台配置许可证2.2、添加VCenter主机2.3、配置Composer 1、关闭IE增强配置 关闭此项 全部关闭 2、Connection配置 2.1、登录connection管理台配置许可证 上一章connection…

DevChat:你的私人助理,让工作变得如此简单!

前言&#xff1a; 首先我们来浅浅说下AI吧。有小伙伴把AI看得十分“高高在上”&#xff0c;觉得它属于“诸神之战”&#xff0c;与我等凡人无关。其实这个看法是不对的。就好像我们刚开始对于手机系统或者电脑系统感觉很有陌生感一样&#xff0c;一直到技术落地到抖音、微信等…

复习Animate和木疙瘩学习笔记-动画制作的回家之路

这个融媒体H5制作平台功能比较完善&#xff1a;包含了Flash(现在叫Animate)传统H5网页制作 720全景视频制作发布网页&#xff01; 主要功能&#xff1a;素材导入、2D动画制作、常见交互添加、发布生成链接二维码 基本就是一个制作H5为主&#xff0c;但是里面的动画可以依赖4种…

LeetCode 415 字符串相加 简单

题目 - 点击直达 1. 415 字符串相加 简单1. 题目详情1. 原题链接2. 题目要求3. 基础框架 2. 解题思路1. 思路分析2. 时间复杂度3. 代码实现 1. 415 字符串相加 简单 1. 题目详情 给定两个字符串形式的非负整数 num1 和num2 &#xff0c;计算它们的和并同样以字符串形式返回。…

[Java/力扣100]判断两棵二叉树是否相同

我希望通过这道题&#xff0c;能进一步了解递归思想和“树是递归定义的”这句话 分析 我们的目的是写一个方法来检验两棵树是否相同 什么叫“两棵树相同”&#xff1f;——相同的位置存在相同的结点 有三种情况&#xff1a;1、两棵树一颗为空一颗不为空——不相同&#xff…

高阶数据结构学习 —— 图(2)

文章目录 1、BFS1、DFS 1、BFS 广度优先。确定从哪个点开始&#xff0c;然后用队列来完成遍历。拿出一个点就把和这个点相连的其它点放进去&#xff0c;但是这样前面放进过队列的也有可能被再次放入&#xff0c;所以需要做好标记。一个队列&#xff0c;一个标记容器。在邻接矩…

NodeMCU ESP8266 面包板的介绍和使用详解(图文并茂)

文章目录 前言什么是面包&#xff1f;面包板的历史 如何使用&#xff1f;1 如何连接面包板2 如何读取面包板的行和列&#xff1f;面包板标签“”和“-”符号 3 电源轨连接4. 中心槽&#xff08;DIP 支持&#xff09; 实际案例总结 前言 在嵌入式学习的过程中&#xff0c;会遇到…