YOLOv7环境配置的一些细节

news2024/10/1 1:24:06

        评论区和私信问我问题的同学们不要急,你们的问题我一直在研究,只是还没成功(>﹏<),如果完成了我会第一时间发出来并通知你的(≧∇≦)/

        本文将讲解YOLOv7环境配置的一些细节(YOLOv5环境配置也适用,之前在配gpu版本cuda出现问题的同学可以参考)。

        基本操作可以参考下面这篇文章进行,我会结合自己配置过程中的问题进行补充。

YOLOv7保姆级教程(个人踩坑无数)----训练自己的数据集_AmbitionToFree的博客

基本操作

1.下载源码

mirrors / WongKinYiu / yolov7 · GitCode

2.创建环境

        基本命令如下,xxx表示环境名称,python=3.7 表示用3.7版本的python解释器(解释器版本不建议太高,因为有些python库没有及时更新,可能会产生一些奇怪的报错)

conda create -n xxx  python=3.7

3.导入库

        (1) 先激活环境(yolov7_flask是我的环境名,你换成自己的就行)

conda  activate yolov7_flask

        (2) cd切换至刚才下载解压后的yolov7-main文件夹中

         (3) 一键导入库(这一步先别急着运行,先往后看)

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple 

        如果不想用gpu加速,只用cpu的话直接运行上面命令即可(如果没有一次成功,就多运行几次,直到所有库满足为止)。

        如果想用gpu进行加速,一定要注意torch和torchvision两个库的版本对应关系,参考下面这篇文章,后面展示的是我安装的版本,你可以根据对应关系表选择适合自己环境的库版本。

PyTorch中torch、torchvision、torchaudio版本对应关系_Liekkas Kono的博客

       由于 requirements.txt 中下载这两个库的命令是这样的( >= ),所以默认会安装最新版本的torch(除了1.12.0)和torchvision(除了0.13.0)

        但是这两个版本不一定是对应的,所以有下面两种解决办法

        ① 更改requirements.txt文件,用等于(==)限定版本,下面给出我安装的版本(torch 1.11.0,torchvision 0.12.0)另外推荐大家再安装一个库(torchaudio 0.11.0),有些工程会用到。因此可以将requirements.txt文件中那两行改成下面这样,然后再运行上面的命令导入库即可。

         ② 先运行命令将库全部导入后,把torch、torchvision、torchaudio 卸掉重装成对应版本

         卸载库的命令

pip uninstall torch
pip uninstall torchaudio
pip uninstall torchvision

         安装库命令(这里给出的是我安装的版本)

pip install torch==1.11.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install torchvision==0.12.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install torchaudio==0.11.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/

配置GPU版本的cuda

       按照上述方法配置完成后,应该能够用cpu方式运行yolov7代码了,但是想用gpu进行加速,需要安装gpu版本的torch。先给结论,不推荐使用口令方式进行安装(试了很多次没成功),推荐先去镜像网站上下载文件,本地安装。

       注意,本机cuda版本可以高于(不低于)安装pytorch时的cuda版本,这两个不一定要相等,而且通常较低版本的cuda遇到的问题会少一些(可能是一些python的库没有及时更新,无法和高版本cuda兼容的原因)。我电脑的cuda版本是11.8,安装pytorch的cuda版本是11.3,最后能够成功运行。

        镜像网址如下

https://download.pytorch.org/whl/torch_stable.html

       必须在网站上下载正确版本的文件,操作系统、python解释器版本、cuda版本都要对上。

       我想在windows上配置环境,cuda版本是11.3,python解释器版本是3.7,torch版本是1.11.0,torchaudio版本是0.11.0,torchvision版本是0.12.0 所以下载下面这三个文件。

torchaudio-0.11.0+cu113-cp37-cp37m-win_amd64.whl

torchvision-0.12.0+cu113-cp37-cp37m-win_amd64.whl

torch-1.11.0+cu113-cp37-cp37m-win_amd64.whl

       这三个文件我放到网盘中,如果和我版本一致的同学直接下载就行(网站上找确实挺容易看花眼的)。

                链接:https://pan.baidu.com/s/1AC90HJ8SkZhwk3m_xMRYdA

                提取码:ntt5

       下载完后把这三个文件放在一个C盘的文件夹中(之所以是C盘,是因为在我的电脑上用cd的方法只能进入C盘的文件夹,反正装完以后把这个文件夹删了就行无所谓),终端先激活环境,然后cd进入这个文件夹,pip install +文件名即可(也可以打文件名称前几个字母,然后用tab键自动补齐),下面是几个库的安装显示。

torch_gpu安装
torchaudio_gpu安装
torchvision_gpu安装

       完成后用pip list命令查看

        三个出现cu113(因为我cuda版本是11.3)说明gpu版本安装成功!

       下面打开工程添加环境(如何添加环境可以看我之前的博客)就行,运行后可以成功使用gpu进行推理!

常见报错

1. 类似这样的报错:

ERROR: torch-1.11.0+cu113-cp38-abi3-win_amd64.whl is not a supported wheel on this platform.

        镜像网站上版本没有下载正确,操作系统、python解释器版本、cuda版本、库版本至少有一个没对应上,下载正确的文件进行操作就行


 

求学路上,你我共勉(๑•̀ㅂ•́)و✧  

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

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

相关文章

【移动端网页布局】流式布局案例 ⑦ ( 水平排列的图片链接 2 | 浮动设置 | 盒子模型类型设置 | 结构伪类选择器 )

文章目录 一、水平排列的图片链接样式及核心要点1、实现效果2、HTML 结构3、CSS 样式 二、完整代码示例1、HTML 标签结构2、CSS 样式3、展示效果 一、水平排列的图片链接样式及核心要点 1、实现效果 实现如下样式 , 水平排列的图片链接 , 第一个图片占宽度的 50% , 第二第三个 …

【视频解读】Window上安装和使用autogluon V0.7

1.使用conda安装的python环境 教程使用的是极简版miniconda,由于我们的电脑中安装了anaconda&#xff0c;所以不需要进行进一步安装。python版本为3.9&#xff0c;博客里面有anaconda和python版本的对应关系。注意查看版本autogluon V0.4需要3.8或者3.9和3.10&#xff0c;pip版…

分类预测 | MATLAB实现基于PSO-NN、SVM、KNN、DT的多特征数据分类预测,二分类及多分类

分类预测 | MATLAB实现基于PSO-NN、SVM、KNN、DT的多特征数据分类预测&#xff0c;二分类及多分类 目录 分类预测 | MATLAB实现基于PSO-NN、SVM、KNN、DT的多特征数据分类预测&#xff0c;二分类及多分类分类效果基本描述程序设计参考资料 分类效果 基本描述 Matlab实现基于PSO…

智能家居项目

文章目录 一、功能描述二、整体框架结构及编译2.1、整体框架2.2、编译Makefile 三、工厂模式四、守护进程udev五、监控视频储存六、遇到的问题和未解决的问题七、代码流程图7.1、树莓派&#xff08;8线程 &#xff0c;2进程&#xff09;7.2、手机APP 八、内网穿透&#xff08;实…

机器学习(五):基于KNN模型对高炉发电量进行回归预测分析

文章目录 专栏导读1、KNN简介2、KNN回归模型介绍3、KNN模型应用-高炉发电量预测3.1数据集信息:3.2属性信息3.3数据准备3.4数据标准化和划分数据集3.5寻找最佳K值3.6建立KNN模型预测4、完整代码专栏导读 ✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知…

二叉树的最近公共祖先

1题目 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xff08;一个节点也可以是它…

Redis做消息队列实现异步读写看这篇够了!

一、消息队列的简介 在企业的应用中&#xff0c;发送消息方和接收消息方&#xff0c;可以采取同步通信或异步通信。同步通信在实际的应用中效率不高。本文主要介绍异步通信&#xff0c;其中异步通信分为&#xff1a;第一&#xff0c;基于内存的jvm阻塞队列实现异步通信。这种方…

Android Studio Electric Eel 2022.1.1 Patch 2 导入opencv 4.5,并实现图片灰度变换和图片叠加

软件版本&#xff1a; Android Studio Electric Eel 2022.1.1 Patch 2 https://sourceforge.net/projects/opencvlibrary/files/4.5.0/opencv-4.5.0-android-sdk.zip/download 创建工程 with API23: 导入opencv sdk: File->New->Import Module 添加工程依赖&…

MySQL的概念、编译安装

一.数据库的基本概念 1、数据&#xff08;Data&#xff09; • 描述事物的符号记录 • 包括数字&#xff0c;文字&#xff0c;图形&#xff0c;图像&#xff0c;声音&#xff0c;档案记录等 • 以“记录”形式按统一的格式进行存储 2、表 • 将不同的记录组织在一起 • …

( 数组和矩阵) 287. 寻找重复数 ——【Leetcode每日一题】

❓287. 寻找重复数 难度&#xff1a;中等 给定一个包含 n 1 个整数的数组 nums &#xff0c;其数字都在 [1, n] 范围内&#xff08;包括 1 和 n&#xff09;&#xff0c;可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 &#xff0c;返回 这个重复的数 。 你…

基于樽海鞘算法的极限学习机(ELM)回归预测-附代码

基于樽海鞘算法的极限学习机(ELM)回归预测 文章目录 基于樽海鞘算法的极限学习机(ELM)回归预测1.极限学习机原理概述2.ELM学习算法3.回归问题数据处理4.基于樽海鞘算法优化的ELM5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;本文利用樽海鞘算法对极限学习机进行优化&…

TouchGFX界面开发 | 使用STM32CubeMX移植TouchGFX

本文基于STM32F429IGT6 RGB (800 * 480)硬件平台&#xff0c;详细记录了如何利用STM32CubeMX将TouchGFX移植到STM32F429IGT6&#xff0c;并驱动RGB屏幕。相关软件的安装&#xff0c;可参考TouchGFX软件安装一文 TouchGFX的应用框架如下图所示&#xff1a; 一、STM32CubeMX配…

JoJo‘s Incredible Adventures

题目&#xff1a; 题意解析&#xff1a; 这个题目是要求找出输入的字符串&#xff0c;&#xff0c;字符串的循环移位s由k右边是字符串Sn−k1...Sn&#xff0c;S1&#xff0c;S2...Sn−k。直到所有的字符&#xff0c;都循坏出现在字符串的开头&#xff0c;然后输入1形成的长方形…

MySQL之Adaptive Hash Index详解

前言 本文已收录在MySQL性能优化原理实战专栏&#xff0c;点击此处浏览更多优质内容。 目录 一、MySQL InnoDB是否支持哈希索引&#xff1f;1.1 InnoDB不支持Hash Index1.2 InnoDB支持Hash Index 二、Adaptive Hash Index的概念三、涉及Adaptive Hash Index的参数3.1 innodb_ad…

接口优化的策略

1.批处理 批量思想&#xff1a;批量操作数据库&#xff0c;这个很好理解&#xff0c;我们在循环插入场景的接口中&#xff0c;可以在批处理执行完成后一次性插入或更新数据库&#xff0c;避免多次IO。 //批量入库 batchInsert();List的安全操作有以下几种方式&#xff1a; 使…

DAY 50 LVS负载均衡器 NAT模式

群集概述 群集的含义 Cluster&#xff0c;集群、群集由多台主机构成&#xff0c;但对外只表现为一一个整体&#xff0c;只提供一-个访问入口(域名或IP地址)&#xff0c; 相当于一台大型计算机。 为什么使用群集 互联网应用中&#xff0c;随着站点对硬件性能、响应速度、服务…

Python学习日记(2)

有关数字类型&#xff0c;字符串&#xff0c;函数 目录 有关数字类型&#xff0c;字符串&#xff0c;函数 数字 字符串 索引操作 切片操作 单个字符编码 运算符 还有一些常用的内置函数 Python输入函数 输出函数print()语法 python的函数也能给默认值 Python是个脚…

C++系列一: C++简介

C入门简介 1. C语言的特点2. C编译器3. 第一个 C 程序4. 总结&#xff08;手稿版&#xff09; C 是一种高级编程语言&#xff0c;是C语言的扩展和改进版本&#xff0c;由Bjarne Stroustrup于1983年在贝尔实验室为了支持C语言中的面向对象编程而创建。C 既能够进行底层的系统编程…

全注解下的SpringIoc 续4-条件装配bean

Spring Boot默认启动时会加载bean&#xff0c;如果加载失败&#xff0c;则应用就会启动失败。但是部分场景下&#xff0c;我们希望某个bean只有满足一定的条件下&#xff0c;才允许Spring Boot加载&#xff0c;所以&#xff0c;这里就需要使用Conditional注解来协助我们达到这样…

二叉搜索树(BST)详解

文章目录 性质二叉搜索树的遍历遍历伪代码实现 二叉搜索树的查找伪代码实现 二叉搜索树最大元素伪代码实现 二叉搜索树最小元素伪代码实现 二叉搜索树的插入伪代码实现 二叉搜索树的删除删除叶子节点&#xff08;对应上面第一种情况&#xff09;&#xff1a;删除度为1的节点&am…