图像检测【YOLOv5】——深度学习

news2024/12/22 22:57:37

Anaconda的安装配置:(Anaconda是一个开源的Python发行版本,包括Conda、Python以及很多安装好的工具包,比如:numpy,pandas等,其中conda是一个开源包和环境管理器,可以用于在同一个电脑上安装不同版本的软件包,并且可以在不同环境之间切换,是深度学习的必备平台。)

一.Anaconda安装配置.

1.首先进入官网:Anaconda Installers and Packages,选择View All Installers.

2.打开看到的界面是Anaconda的所以安装包版本,Anaconda3就代表是Python3版本,后面跟的是发行日期,我选择了最近的2022.05的Windows版本,64位,然后下载到本地。

3.运行安装包,然后跟着我下面的步骤操作就可以了。

4.要测试一下是否安装成功:

  在菜单栏中打开Anaconda命令行,点击以后,如果可以在命令行左侧括号中看到base,就代表安装成功了。

5.最后要创建和激活一下环境:

conda create -n py39 python=3.9是创建python3.9版本,名称为py39的环境。小伙伴们在这里注意一下,环境名和python的版本是可以自己指定的嗷~】     

输入y然后回车,下载完会提示done。

conda activate py39激活环境,这里可以看到前面的base变成了py39了,这表示咱已经进入了该环境可以把环境理解成文件夹)。

conda deactivate退出环境跟我们平常用cmd命令行时cd切换目录是一个道理啦~

二.Python安装Pytorch.

1.查看本机的CUDA版本:

在cmd命令行输入nvida-smi,在第一行右边可以看到CUDA的版本号,我的是11.6版本。

2.安装Pytorch:

进入Pytorch官网:PyTorch,然后选择Get Started.

这里要注意的是:Pytorch的选择,这里我选择的是Stable稳定版,OS是Windows系统,Package包就使用Conda,language选Python,最后的Compute Platform就根据小伙伴们的的个人需求啦~(就是说如果自己的电脑有显卡,想在NVIDIA上跑代码,就选择CUDA,如果没有独立显卡就选CPU喔)然后我们在第一步已经看过自己的NAVIDA的CUDA版本了,一定要选择比自己版本低的CUDA,比如我的是11.6那我就可以选11.3,如果就像我在帮我同学装的时候他的版本是11.1,那他的就只能选择10.2,11.3对他来说就有点高啦,同理大家一定一定要根据自己的情况选择嗷!

3.然后复制这行命令:打开Anaconda命令行,先进入自己需要安装的Pytorch环境,然后运行。(我这里选择的是11.3,大家如果跟我的不一样记得改下代码哦!)

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

4.可以看到安装包里的一些内容,等待这些package安装成功,Pytorch还是有点大的,要耐心等一下。(我当时吃了个午饭回来差不多刚刚好哈哈哈哈哈哈哈)

5.安装完成以后,会提示done,然后输入pip list,查看我们的包是否被安装,这里可以看到torch相关的包都安装了。

6.输入python进入Python环境,然后输入import torch,如果没有报错就说明可以导入成功,最后再输入torch.cuda.is_available()查看torch是否可以用显卡,Ture就代表可以 了。

三.克隆YOLOv5.

1.点开链接:https://github.com/ultralytics/yolov5

Windows系统下载ZIP文件再解压后进入YOLOv5路径下运行:

pip install -r requirements.txt

(注意一下:这里Pytorch最好在前面已经安装完好,不然很可能会报错喔~)

2.检验一下,运行命令:

python detect.py --source ./data/images/ --weights yolov5s.pt --conf 0.4

如果是第一次运行,会下载YOLOv5s.pt,速度会比较慢。

————————————————————————————————————————————————————【华丽的分割线哈哈哈哈哈哈哈哈哈哈哈哈】

以上的部分呢,就是基本环境的安装和配置方法啦!接下来,就是数据集的制作了:

四.数据集制作.

我用的数据集收集软件是labellmg,它可以生成两种格式的数据,分别是xml和txt,大家根据自己的需要选择啦!界面是这样的:

可以看到打开是一个收集窗口和一个终端,两个界面。

如果选择左侧靠下方那里的按键,VOC最后生成的就是xml格式的,点击一下如果选择YOLO的生成就是txt格式的喔~。

大家用自己需要识别训练的图片进行框选数据集收集就可以啦!

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

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

相关文章

计算机网络基本概述

欢迎大家订阅【计算机网络】学习专栏,开启你的计算机网络学习之旅! 文章目录 前言一、网络的基本概念二、集线器、交换机和路由器三、互连网与互联网四、网络的类型五、互连网的组成1. 边缘部分2. 核心部分 六、网络协议 前言 计算机网络是现代信息社会…

安装node 报错需要:glibc >= 2.28

--> 解决依赖关系完成 错误:软件包:2:nodejs-18.20.4-1nodesource.x86_64 (nodesource-nodejs) 需要:libm.so.6(GLIBC_2.27)(64bit) 错误:软件包:2:nodejs-18.20.4-1nodesource.x86_64 (nodesource-nodej…

【数据结构篇】~排序(1)之插入排序

排序~插入排序 前言插入排序1.直接插入排序(时间复杂度:O(N^2))1.思想2.代码 2.希尔排序(时间复杂度:O(N∙))1.思路简易证明希尔排序的复杂度 2.代码 前言 四大排序,今天解决插入排序 堆排序和冒泡排序已经写过了&am…

C++笔记---继承(上)

1. 继承的简单介绍 1.1 继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许我们在保持原有类特性的基础上进行扩展,增加方法(成员函数)和属性(成员变量),这样产生新的类,称派生类。 继承呈…

如何利用 Smarter Balanced 塑造教育领域的 AI 治理

目录 定义挑战 以人为本的设计引领 融入多样性 探索以学生为中心的价值观 探索效果的层次和不同的影响 部位于加利福尼亚州的Smarter Balanced Assessment Consortium 是一个由会员主导的公共组织,为 K-12 和高等教育领域的教育工作者提供评估系统。该组织成立…

09_Tensorflow2图像处理大赏:让你的图片笑出AI感,惊艳朋友圈!

1. 图像处理案例 1.1 逆时针旋转90度 import tensorflow as tf import matplotlib.pyplot as plt import matplotlib.cm as cm import numpy import osdef show_pic(pic,name,cmapNone):显示图像plt.imshow(pic,cmapcmap) plt.axis(off) # 打开坐标轴为 on # 设置图像标题…

C语言数据类型、变量及数据类型的长度、取值范围

文章目录 一、数据类型介绍1.字符型2.整型3.浮点型4.布尔类型 二、变量1.变量的创建2.变量的分类 三、数据类型的长度(字节)1.sizeof 操作符2.各种数据类型的长度3.sizeof中表达式不计算 四、各种类型的取值范围1.signed和unsigned2.数据类型的取值范围 五、整型提升练习1练习2…

【Obsidian】当笔记接入AI,Copilot插件推荐

当笔记接入AI,Copilot插件推荐 自己的知识库笔记如果增加AI功能会怎样?AI的回答完全基于你自己的知识库余料,是不是很有趣。在插件库中有Copilot插件这款插件,可以实现这个梦想。 一、什么是Copilot? 我们知道githu…

el-input-number设置了min值,希望默认值展示为空

data() {return {editForm: {num: undefined, //input}} } <el-input-number v-model.trim"editForm.num" controls-position"right" :min"1" placeholder"请输入" clearable /> 展示效果如下:

C++中的左值(Lvalue)和右值(Rvalue)详解

C中的左值&#xff08;Lvalue&#xff09;和右值&#xff08;Rvalue&#xff09;详解 在C中&#xff0c;左值&#xff08;Lvalue&#xff09;和右值&#xff08;Rvalue&#xff09;的概念是理解表达式和变量的重要基础。为了提高C的性能和灵活性&#xff0c;C11引入了一些新的…

F1C100S/F1C200S的资料来源说明

文章目录 常用板子开源创客荔枝派榴莲派 我想说是的官网啥资料都没有。但是它的资料又很多&#xff0c;从淘宝或者其他地方能都搜到很多。 http://wiki.lcmaker.com/index.php?titleLC-PI-200S https://github.com/peng-zhihui/Planck-Pi?tabreadme-ov-file#head4 http://do…

时序必读论文04|Non-stationary Transformers:序列平稳性优化【NeurIPS 2022】

我们在先前的一篇文章中已经总结了直接把Transformer应用到时间序列数据存在的问题&#xff0c;其中序列平稳化是transformer也是其他很多模型都未解决好的一个不足。实际上&#xff0c;序列平稳和非平稳是矛盾的存在&#xff0c;这篇文章探索了&#xff1a;原始数据-->平稳…

python基础知识(四)--if语句,for\while循环

目录 if语句 if-else语句 if...elif...else...语句的语法 if嵌套语句语法 while循环 死循环 for循环 例题&#xff1a; 1.请使用*代替&#xff0c;并输出一个正方形的显示效果。 2.逢7必过的游戏 3.九九乘法表 4.案例: 逢七必过游戏 [0, 999] 碰到特殊天气, 150 就…

停车位检测-停车场车位识别

YOLO Parking Spot 概述 停车场获取的图像训练了四个YOLO模型来检测车辆。目标是收集信息&#xff0c;并可能开发一种停车解决方案以改善交通流量并优化空间利用率。通过识别汽车&#xff0c;我们生成了一份报告&#xff0c;其中包含图像细节&#xff0c;如可用停车位的数量、…

Ai+若依(智能售货机运营管理系统---帝可得)--工单管理【08篇---0005:工单管理】

工单管理 需求说明 工单是一种专业名词,是指用于记录、处理、跟踪一项工作的完成情况。 管理人员登录后台系统选择创建工单,在工单类型里选择合适的工单类型,在设备编号里输入正确的设备编号。 工作人员在运营管理App可以看到分配给自己的工单,根据实际情况选择接收工单并…

复现PointNext代码

一、首先第一步&#xff0c;我们就需要下载代码&#xff1a;guochengqian/PointNeXt: [NeurIPS22] PointNeXt: Revisiting PointNet with Improved Training and Scaling Strategies (github.com) 二、然后下载好了之后&#xff0c;然后最关键的一点&#xff0c;这个点进去也要…

【LeetCode每日一题】2024年9月第二周(上)

2024.9.9 中等 难度评分 1333 链接&#xff1a;2181. 合并零之间的节点 &#xff08;1&#xff09;题目描述&#xff1a; &#xff08;2&#xff09;示例 &#xff08;3&#xff09;分析 整体来说&#xff0c;描述还算清晰的题目&#xff0c;找到0节点所框定的区域&#xff0c…

起重机检测系统源码分享

起重机检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Visio…

@Valid @NotBlank @NotEmpty @NotNull不生效问题

Spring Boot2.3版本将不再内部依赖validator了 所以导致校验的注解不生效 解决方案&#xff1a;加入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId> </dependency&…

C++提高--模板(类模板/函数模板)

模板的概念 函数模板(将类型参数化) 函数模板语法 两个函数逻辑非常相似 #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; // 模板// 交换两个数 void swapInt(int& a, int& b) {int temp a;a b;b temp; } void swapDouble(doubl…