如何配置yolov10环境?

本文介绍如何快速搭建起yolov10环境,用于后续项目推理、模型训练。教程适用win、linux系统

yolo10是基于yolo8(ultralytics)的改进,环境配置跟yolo8几乎一模一样。 

目录

第1章节:创建虚拟环境

第2章节:GPU环境下YOLOV10环境配置

第3章节:CPU环境下YOLO10环境配置

第4章节:下载yolo10源码


重要说明:YOLO10环境分为CPU环境与GPU环境,选择任意一种即可。鼓励有英伟达显卡的用户优先选择GPU环境,项目检测、模型训练速度会快很多很多

适合选择CPU环境的情况:电脑上没有英伟达显卡(N卡)

适合选择GPU环境的情况:电脑上有英伟达独立显卡(显存大小不限)且已经安装好英伟达显卡驱动。注意一定是英伟达的独立显卡,不是AMD显卡更不是集成显卡!

英伟达显卡驱动如何安装可以查看本人之前写的教程

Tips :电脑上有英伟达显卡,如何知晓显卡驱动是否安装?

答:打开电脑的命令行窗口,键入 nvidia-smi命令,如果有输出则安装成功,如下图所示:

第1章节:创建虚拟环境

说明:anaconda、venv等都可以,虚拟环境的python版本应不低于3.8,我这里指定为3.10。

前置条件:电脑中已经安装配置好anaconda、或者miniconda、或者python venv虚拟环境中的任意一种(如果电脑中没有这些软件环境,可自行百度安装配置,网上教程很多,优先选择anaconda

下面以anaconda新建虚拟环境为例,在anaconda环境下新建一个虚拟环境。如果你的电脑中正确安装了anaconda,在电脑的windows徽标的“所有应用”中,可以看到anaconda目录,里面有 Anaconda  Prompt和Anaconda Powershell Prompt(见下图)

然后我们点击Anaconda Powershell Prompt(优先推荐使用这种方式,其次是Anaconda  Prompt),之后我们就进入了Anaconda Powershell Prompt命令行。

然后在命令行窗口中输入下面的命令新建一个名为yolo10的环境(我这里取虚拟环境名为yolo10,这里的虚拟环境名称是自己定义的,比如:yolov10,aaa,bbb等数字英文名称都是可以的,我这里python版本为3.10.0) 

conda create -n yolo10 python==3.10.0

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

切换到对应的conda环境之后,下面安装配置YOLO10的运行环境,首先介绍GPU环境,然后介绍CPU环境。

第2章节:GPU环境下YOLOV10环境配置

说明:如果你的电脑不具备GPU环境,请直接跳到下一章节。

前置要求:需要你的电脑有英伟达显卡且安装了显卡驱动(nvidia-smi命令有返回)

2.1 去Pytorch官网安装GPU版本的Pytorch

在第1章节中,用anaconda创建好一个名为yolo10的虚拟环境之后,激活进入该环境中,进行下列操作。 

不就是安装Pytorch吗?直接conda install pytorch 或者 pip install pytorch不就好了?如果这样做的话,就安装错了,这样安装的是cpu版本的pytorch并且没有为名为yolo10的虚拟环境安装cudatoolkit工具包(运行时环境) 。我们需要执行下面的命令之一,为名为yolo10的虚拟环境正确安装gpu版本的pytorch。在执行下面的命令之前,我们需要仔细确认自己电脑的英伟达显卡驱动支持的最高cuda版本。具体做法是,命令行窗口输入nvidia-smi,返回的 CUDA Version即为支持的CUDA最高版本。详细见下图所示:

可以看到,本人电脑的显卡驱动所支持的最高 CUDA版本是12.4(意思是最高可以安装cuda 12.4或者比cuda 12.4 低的,只低不高的原则)。那么我们需要去pytorch官网找到与cuda 12.4版本对应的安装命令或者比CUDA12.4低的安装命令。

如上面截图所示(2024.06.05),这个页面上可以让我们选择安装方式(conda安装、pip安装....)对应的OS版本、CUDA版本等等,页面会自动生成安装命令。但是上面的页面所显示的支持CUDA 11.8和 CUDA12.1,而我们本地电脑所支持的最高版本是CUDA12.4,根据只低不高的原则。因此可以选择CUDA 11.8或 CUDA12.1,我们直接在页面上选择Pytorch版本(选择Stable),OS类型(这里选择windows),安装方式(这里选择Conda),语言选择Python,CUDA版本我这里选择12.1,然后就可以自动生成安装命令:

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

然后我们复制上面的命令在yolo10的conda虚拟环境中执行安装:

这里一般需要我们等待相当长一段时间(除非你的网络比较好或者之前安装过),安装速度一般自己电脑的网络而异,网络不好可能会安装中断,此时多次重试上面的命令即可。

如果你的电脑的显卡驱动所支持的最高CUDA版本既不是11.8也不是12.1,假如是11.7,那么需要进入历史版本界面(链接如下图红色方框所示)找CUDA  11.7的pytorch

 进入pytorch历史版本页面后(如下面的截图所示)我们直接复制命令执行了就好了

可以看到CUDA11.7对应的conda 安装方式的命令是这样的(CUDA11.7对应着多个版本的torch,我这里选择torch2.0.1):

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

 我们直接复制,在名为yolo10的conda环境下执行即可

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

第3章节:CPU环境下YOLO10环境配置

说明:在CPU环境下项目视频检测和摄像头检测速度会比较慢

在第1章节,为项目创建好虚拟环境之后(还是以名为yolo10的虚拟环境为例子)激活并进入该虚拟环境,后键入下面的命令(两种安装方式任选其一,切记不可重复):

1.Anaconda安装(默认anaconda源中最新版本的torch):

conda install pytorch torchvision torchaudio cpuonly -c pytorch

 2.Pip 安装(我这里以2.0.1版本为例)

pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2

下面不加版本号默认安装的是pip源中最新版本的torch

pip3 install torch torchvision torchaudio

第4章节:下载yolo10源码

 去github下载yolo10源码:https://github.com/THU-MIG/yolov10

yolo10项目目录下 有一个 requirement.txt 环境依赖,截止到2024.7.10,该文件的环境依赖如下

毫无疑问直接pip install -r requirement.txt,无论你的电脑有没有英伟达显卡,直接安装requirements.txt,安装的是cpu版本的torch,对于模型训练来说,cpu版本的torch奇慢,并且onnxruntime-gpu仅限有英伟达显卡的用户才能安装成功。 前面几个章节已经给出了正确安装pytorch的步骤,我们的环境中已经有torch了,因此,把上面的requirement.txt中的torch、torchvision、以及onnxruntime-gpu注释掉(几乎用不到,除非你用了onnx模型推理),然后在上述anaconda中的yolo10虚拟环境中安装剩余的依赖即可。

关于如何安装onnxruntime-gpu可以参考本人之前写的文章。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/44773.shtml

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

相关文章

【debug】keras使用基础问题

keras使用基础问题 一、下载报错报错详情解决方式忽略ssl检查提前将数据或者包下载到本地 参考 一、下载报错 报错详情 1、下载数据报错 (x_train, y_train_cats), (x_test, y_test_cats) cifar10.load_data()报错信息 Exception: URL fetch failure on https://www.cs.tor…

linux中,nohup ... ,改变输出目录

在Linux中,使用nohup命令结合&来在后台运行java -jar xxx.jar命令时,实际上每个nohup命令都会将其标准输出(stdout)和标准错误输出(stderr)重定向到一个名为nohup.out的文件中,除非你明确指…

Tita的OKR:最新20个HR人力资源OKR案例

OKR是一个目标设定框架,可以提高员工的参与度,同时帮助人们专注于最重要的事情。 然而,OKR最大的挑战之一是设定正确的目标,我与很多人力资源专业人士交谈过,他们证明他们的OKR并不完美。 这就是为什么我们收集了最佳…

git-打包指定提交文件.sh

#!/bin/bash # windows :git bash here read -p "请工程路径: " projdir cd $projdir read -p "请输入提交ID(至少7位): " select # latest$(git rev-parse HEAD) latest$(git rev-parse --short HEAD) # set latest$(git rev-parse HEAD) ech…

水文:CBA业务架构师

首先, 我们来了解一下什么是CBA业务架构师? CBA业务架构师认证是由业务架构师公会(Business Architecture Guild)授予的一种专业认证。标志着证书持有者已经掌握了业务架构的核心技能和知识,能够在实际工作中熟练运用业务架构技术和框架&…

Windows 安装Zookeeper

安装 下载地址:Apache ZooKeeper 我下载的版本:zookeeper-3.4.12 下载后,解压 配置 1、 在D:\zookeeper-3.4.12文件夹中创建一个“data”文件夹和“log”文件夹 2、 复制zoo_sample.cfg,改名:zoo.cfg 修改zoo.c…

Jetson-AGX-Orin 安装ROS2

Jetson-AGX-Orin 安装ROS2 确保Orin能够上网 1、安装依赖 sudo apt update sudo apt install curl gnupg2 lsb-release2、添加源 sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpgecho &q…

【C++课程学习】:new和delete为什么要配套使用,new,delete和malloc,free的比较

🎁个人主页:我们的五年 🔍系列专栏:C课程学习 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 🎡1.new,delete和malloc,free的区别: ⌚️相同点&…

Java的SpringBoot项目中为什么要注入接口XxxService而不是具体的实现类XxxServiceImpl

Java的SpringBoot项目中为什么要注入接口XxxService而不是具体的实现类XxxServiceImpl 在 Java 中,通常建议面向接口编程。注入一个接口而不是具体的实现类有以下几个好处: **解耦:**通过注入接口,实现了服务的调用者&#xff08…

“删错文件后如何高效挽救?两大恢复策略全解析“

在数字化日益深入生活的今天,数据已成为我们工作、学习和娱乐不可或缺的一部分。然而,删错文件的经历却如同数字世界中的一场“小插曲”,不经意间就可能让我们陷入数据丢失的困境。无论是误触删除键、清空回收站,还是软件故障导致…

GCN-LSTM实现时空预测

简介:现有的预测模型越来考虑时间和空间的相关性,统称为时空预测。这种预测模型往往比简单的序列模型(例如RNN、LSTM、GRU及其变体)、Transformer等效果更好。我使用Keras实现了该GCN-LSTM代码,因为Keras相比于torch更容易入手和理解。我实现了一个基于Keras的GCN网络层,…

Linux 宝塔常用命令教程

一、引言 在 Linux 服务器管理中,宝塔面板是一款非常实用的工具。然而,了解一些相关的命令可以让我们在特定情况下更高效地进行操作和管理。本文将为您介绍一些常用的 Linux 宝塔相关命令。 二、安装宝塔面板 首先,如果您还未安装宝塔面板…

数据结构(其一)--基础知识篇

目录 1. 数据结构三要素 1.1 数据结构的运算 1.2 数据结构的存储结构 2. 数据类型,抽象数据类型 3. 算法 3.1 时间复杂度T(n) 3.2 空间复杂度 1. 数据结构三要素 1.1 数据结构的运算 即,增删改查 1.2 数据结构的存储结构 2. 数据类型&#xff0…

企业微信群发限制的背后逻辑,一文读懂!

在数字化营销日益盛行的今天,企业微信作为一款专为企业设计的通讯与办公工具,凭借其与微信的无缝对接和丰富的功能,成为了众多企业开展私域流量运营的重要平台。然而,在使用企业微信的群发功能时,用户往往会遇到一定的…

视觉语言模型导论:这篇论文能成为你进军VLM的第一步

近些年,语言建模领域进展非凡。Llama 或 ChatGPT 等许多大型语言模型(LLM)有能力解决多种不同的任务,它们也正在成为越来越常用的工具。 这些模型之前基本都局限于文本输入,但现在也正在具备处理视觉输入的能力。如果…

录屏软件免费推荐,拥有这4款,不花一分钱

在这个充满创意与活力的数字时代,录屏软件早已成为我们探索世界、分享生活的必备神器。但市面上却存在很多收费的录屏软件,让人望而却步。那么有没有一些录屏软件免费帮助我们轻松开启录影人生,尽情展现创意与才华呢? 本文就将带…

痉挛性斜颈是中医治疗好还是西医好呢?你有真正了解吗?

痉挛性斜颈是西医治疗好还是中医治疗好 痉挛性斜颈,是由于中枢神经系统异常冲动引起的颈部肌群阵发性不自主收缩,使头颈向一侧扭转或痉挛性倾斜。 痉挛性斜颈的病因,多数是由于脑深部的神经细胞病变引起的。这些病人可以有脑炎、出生时窒…

光电门验证动量守恒实验

本实验所需器件与第二个实验相同。但是连线方式有所区别,先将Arduino的电源输出接到两个光电门,然后再将光电门1的信号输出线接到Arduino的第10个端口,光电门2的信号输出线接到Arduino的第11个端口。对Arduino写入下列程序(只有主…

ELK集群搭建

ELK集群搭建 文章目录 ELK集群搭建1.环境准备2.Elasticsearch环境搭建1.创建es账户并设置密码2.选择对应版本进行下载3.编辑配置文件4.设置JVM堆大小 #7.0默认为4G5.创建es数据及日志存储目录6.修改安装目录和存储目录权限 3.系统优化1.增加最大文件打开数2.增加最大进程数3.增…

有了HTTP,为什么还需要HTTPS?

一、HTTPS的重要性 背景:互联网时代信息传播快,互动便捷,但数据安全和个人隐私保护问题日益突出。普及趋势:HTTPS协议因其安全性和隐私保护功能而成为互联网发展的必然选择。 二、HTTPS相较于HTTP的优势 安全性 HTTP&#xff1a…