当前位置: 首页 > news >正文

王也微信头像/拼多多标题关键词优化方法

王也微信头像,拼多多标题关键词优化方法,建设电子票务系统的网站需要多少钱,php企业cms嘟嘟嘟嘟!工作需要,所以学习了下yolov5算法。是干什么的呢? 通俗来说,可以将它看做是一个小孩儿,通过成年人(开发人员)提供的大量图片的学习,让自己知道我看到的哪些场景需要提醒给成…

嘟嘟嘟嘟!工作需要,所以学习了下yolov5算法。是干什么的呢?
通俗来说,可以将它看做是一个小孩儿,通过成年人(开发人员)提供的大量图片的学习,让自己知道我看到的哪些场景需要提醒给成年人(开发人员)。也算是一个脚指头踩在了人工智能的门口。
我们使用时可以对他做的呢,有以下几点(就想象成孩子已经出来了):

  1. 寻找他可能遇到的场景,成年人在场景上标注“没戴口罩的”、“没戴安全帽的”、“貌似是火源的”…在给孩子找这些场景时,成年人也会精心选择,将其分为标准的很简单看出来的(训练集train)、不很容易的需要仔细学习的(验证集val)、用来测试学习成果的(测试集test)
  2. 孩子的大脑驱动着,记录这些图片的标准参数(训练集图片)、超参数(验证集图片)
  3. 孩子学完之后,成年人可以用测试集中的图片对训练出来的成果做验收,验收成功后,成年人就可以让孩子自己去玩
  4. 孩子在玩的过程中,发现了自己学习中的场景,至于是要孩子回来报告给成年人,还是只是孩子自己知道就可以,这就看开发者了。

源码

如果没看懂,可以看下这个链接,超详细
https://blog.csdn.net/ECHOSON/article/details/121939535?ops_request_misc
接触到了两个,一个是口罩检测模型,一个是安全帽检测模型,源码嘛,都是人家自己的。下面就是下载地址
口罩模型检测源码
安全帽模型检测源码
只是得到源码,其实做不了什么的,除非特有耐心还要有GPU,否则只是在训练模型阶段,就已经…dddd

训练模型

资源已经上传
这是地址

所需安装的程序

  • anaconda
  • pycharm
    其他的程序只在虚拟环境中安装就可以了

环境配置

一、Anaconda、pycharm安装

anaconda官网:https://www.anaconda.com/products/distribution#Downloads
在这里插入图片描述
pycharm官网:https://www.jetbrains.com/pycharm/
在这里插入图片描述

二、环境安装验证

  • 桌面右击,显示“open folder as pycharm project”,就表示pycharm安装成功了
  • 任意一个文件夹,使用cmd打开。执行“conda activate”,在下一命令行前出现了base就是anaconda安装成功了。
    在这里插入图片描述

三、换源(可以省略)

使用过程中,需要在虚拟环境中下载各种源,换源的目的是可以使下载速度快些。此处是换了中科大的源。直接复制粘贴到命令行执行就行

conda config --remove-key channels
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple

四、虚拟环境

我们已经有yolov5的源码了,可以直接在项目中,打开cmd。
还有另一种选择,直接用anaconda prompt执行也可以,可以使用cd命令跳转文件夹。
anaconda prompt

执行

conda create -n 环境名
conda create -n 环境名 python=3.8  后面最好是写下Python版本,不然后面有个依赖叫pycocotools的,很恶心,没有对应python3.9的版本

这样就创建了一个虚拟环境,创建后环境的查看

conda info --env
或者conda env list

创建成功后,激活,就相当于虚拟环境的入口指令,每次要使用虚拟环境中的包都需要执行

conda activate 环境名    或者    activate 环境名

五、安装依赖

下面的依赖都要在虚拟环境中安装,使用时,直接使用这个虚拟环境,如果使用其他虚拟环境或者base环境,是检测不到依赖的

1、pytorch

pytorch是用python语言打造的一款深度学习框架,既可实现强大的GPU加速,也可支持动态神经网络。yolov5算法在GPU和CPU情况下都可以使用,但是pytorch要区分是在GPU下使用还是CPU使用,而且提醒一下CPU去训练模型时,会让你感动到哭
安装pytorch,要注意自己是GPU还是CPU,此处以CPU为例哈,GPU和他差不多

pytorch官网获取安装命令
官网:https://pytorch.org/get-started/locally/
在这里插入图片描述
这个命令直接在虚拟环境中执行就可以了,如果要带着后面的 -c pytorch ,表示是从国外的源下载,那么前面配置源的地方就没用。看自己,想用哪个用哪个

conda install pytorch torchvision torchaudio cpuonly -c pytorch

2、pycocotools

pip insatll pycocotools-windows

3、其他包

yolov5算法项目中包含一个requirement.txt文件,里面就标注了需要的依赖。

pip install -r requirement.txt
pip insatll pyqt5
pip install labelme

在这里插入图片描述

六、pycharm的配置

这一步是对pycharm打开的项目配置虚拟环境,所以前提就是要有虚拟环境和项目。
pycharm打开项目,右下角的初始状态应该是NO interpreter,点击就会出现设置和添加。
在这里插入图片描述
第一次的话直接添加就可以了
在这里插入图片描述
后面其他项目要使用同一虚拟环境时,点击设置-show all就可以展示之前的虚拟环境
在这里插入图片描述
在这里插入图片描述

七、训练模型

在这里插入图片描述

数据集分为三部分,训练集train、验证集val、测试集test。之前看过的一个分配比例是60%、20%、20%。数据集标注的位置文件就在与images同级的labels文件夹中,且这个文件夹中结构与images相同,有train/val/test。
在这里插入图片描述
首先,要训练模型就要先找数据集,人工去标注图片,让程序学习。
标注的工具就是labelimg
安装命令

pip install labelimg

安装成功后,使用时,在虚拟环境中执行 labelimg 命令,就可以打开界面。这里要注意,一定要将文件类型改成yolo类型,就是下图中yolo的位置。
在这里插入图片描述
标注后生成的文件如下
在这里插入图片描述
每一行就是一个目标的数据,分别是目标的类别id(戴口罩或没带口罩)、归一化处理后的中心点X坐标、y坐标、框的w和h。
在这里插入图片描述
数据集配置文件,名字可以随意,内容一定要包含这几项。
在这里插入图片描述
模型配置文件
在这里插入图片描述
预训练模型
在这里插入图片描述
训练的执行文件
在这里插入图片描述

训练模型命令:

python train.py --data 数据集配置文件名称 --cfg 模型配置文件名称 --weights 预训练权重文件 --epoch 100 --batch-size 4 --device cpu

不使用命令执行的话,train.py文件中有配置的位置,只要对应修改就可以了
在这里插入图片描述
之后直接执行 python train.py即可

执行之后,等待即可,生成的文件可在runs/train文件夹中查看。

八、模型检测

模型检测,使用的是detect.py文件,运行命令如下:

python detect.py --source   要检测的图片或mp4文件位置 --weights 训练出来的模型/runs/train/exp_yolov5s/weights/best.pt
python detect.py --source 0    检测摄像头,这个没成功
python detect.py --source 'rtsp地址'      根据rtsp地址检测摄像头

不想要那么长的命令,可以直接修改detetct.py文件中的位置
在这里插入图片描述
然后直接执行 python detect.py 即可

相关文章:

yolov5算法,训练模型,模型检测

嘟嘟嘟嘟!工作需要,所以学习了下yolov5算法。是干什么的呢? 通俗来说,可以将它看做是一个小孩儿,通过成年人(开发人员)提供的大量图片的学习,让自己知道我看到的哪些场景需要提醒给成…...

linux系统防火墙开放端口

linux系统防火墙开放端口 在外部访问CentOS中部署应用时,需要通过防火墙管理软件,开端口,或者直接关闭防火墙进行解决(不建议) 加粗样式 常用命令: systemctl start firewalld #启动 systemctl stop firewalld #停止 systemctl status firewalld #查看…...

CSAPP第九章 虚拟内存

理解虚拟内存的原因 本章前部分描述虚拟内存是如何工作的,后一部分描述应用程序如何使用和管理虚拟内存 物理和虚拟寻址 虚拟内存作为缓存的工具 页表 页命中 缺页 虚拟内存作为内存管理的工具 简化链接,简化加载,简化共享,简化…...

numpy数组与矩阵运算(二)

文章目录矩阵生成与常用操作矩阵生成矩阵转置查看矩阵特性矩阵乘法计算相关系数矩阵计算方差、协方差、标准差计算特征值与特征向量计算逆矩阵求解线性方程组奇异值分解函数向量化矩阵生成与常用操作 矩阵生成 扩展库numpy中提供的matrix()函数可以用来把列表、元组、range对…...

Dubbo 中 Zookeeper 注册中心原理分析

Dubbo 中 Zookeeper 注册中心原理分析 文章目录Dubbo 中 Zookeeper 注册中心原理分析一、ZooKeeper注册中心1.1 ZooKeeper数据结构1.2 ZooKeeper的Watcher机制1.3 ZooKeeper会话机制1.4 使用ZooKeeper作为注册中心二、源码分析2.1 AbstractRegistry2.2 FailbackRegistry2.2.1 核…...

素数产生新的算法(由筛法减法改为增加法)--哥德巴赫猜想的第一次实际应用

素数产生新的算法(由筛法减法改为增加法)--哥德巴赫猜想的第一次实际应用 摘要:长期以来,人们认为哥德巴赫猜想没有什么实际应用的。 现在,我假设这个不是猜想,而是定理或公理,就产生了新的应用…...

递归-需要满足三个条件

一,概述 递归是一种应用非常广泛的算法(或者编程技巧)。很多数据结构和算法的编码实现都要用到递归,比如 DFS 深度优先搜索、前中后序二叉树遍历等。 去的过程叫“递”,回来的过程叫“归”。基本上所有的递归问题都可…...

【剑指Offer-Java】两个栈实现队列

题目 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 输入: [“CQueue”,“appendT…...

Allegro如何将Waived掉的DRC显示或隐藏操作指导

Allegro如何将Waived掉的DRC显示或隐藏操作指导 在用Allegro做PCB设计的时候,如果遇到正常的DRC,可以用Waive的命令将DRC不显示,如下图 当DRC被Waive掉的时候,如何将DRC再次显示出来。类似下图效果 具体操作如下 点击Display...

MATLAB——数据及其运算

MATLAB数值数据数值数据类型的分类1.整型整型数据是不带小数的数,有带符号整数和无符号整数之分。表中列出了各种整型数据的取值范围和对应的转换函数。2.浮点型浮点型数据有单精度(single)和双精度((double)之分&…...

【微信小程序】-- 页面导航 -- 声明式导航(二十二)

💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…...

gdb查看汇编代码的例子

gdb查看汇编代码的例子 操作步骤 用 gdb 启动可执行文件:gdb executable_file在 gdb 中设置断点:break function_name 或者 break *memory_address运行程序:run当程序停止在断点处时,使用 disassemble 命令来查看汇编代码&#…...

第四讲:如何将本地代码与服务器代码保持实时同步

一、前言 在我们进行 Ambari 二次开发时,通常会先在服务器上部署一套可以使用的 Ambari 环境。 二次开发,就肯定是要改动代码的,我们不能老是在服务器上用vim编辑文件,那样效率太低,始终不是长久之计。 所以我们需要在本地打开我们的Ambari源码项目,比如用idea工具,可…...

cuda调试(一)vs2019-windows-Nsight system--nvtx使用,添加nvToolsExt.h文件

cuda调试 由于在编程过程中发现不同的网格块的结构,对最后的代码结果有影响,所以想记录一下解决办法。 CUDA的Context、Stream、Warp、SM、SP、Kernel、Block、Grid cuda context (上下文) context类似于CPU进程上下,表示由管理层 Drive …...

向Spring容器中注入bean有哪几种方式?

文章前言: 写这篇文章的时候,我正在手机上看腾讯课堂的公开课,有讲到 Spring IOC 创建bean有哪几种方式,视频中有提到过 set注入、构造器注入、注解方式注入等等;于是,就想到了写一篇《Spring注入bean有几种…...

如何用 Python采集 <豆某yin片>并作词云图分析 ?

嗨害大家好鸭!我是小熊猫~ 总有那么一句银幕台词能打动人心 总有那么一幕名导名作念念不忘 不知道大家有多久没有放松一下了呢? 本次就来给大家采集一下某瓣电影并做词云分析 康康哪一部才是大家心中的经典呢? 最近又有哪一部可能会成为…...

Python装饰器的具体实用示例

示例1:普通装饰器 def name(n):def func(x):res n(xx)return resreturn funcname def run(x): # run name(run)print(x)if __name__ __main__:run(1) # 2def name(n):def func(*x):res n(xx)return resreturn funcname def run(x): # run name(run)pr…...

谈谈我对Retrofit源码的理解

文章目录一、Retrofit简介二、使用介绍2.1 app / build.gradle添加依赖2.2 创建 Retrofit 实例2.3 创建 API 接口定义文件2.4 使用 Retrofit 进行网络请求三、源码分析3.1 创建 Retrofit 实例: 建造者模式创建Retrofit3.2 实例化API接口: 动态代理模式3.3 获取Observable返回值…...

八股文(三)

目录 一、 如何理解原型与原型链 二、 js继承 三、 vuex的使用 1.mutation和action的区别 mutation action 2.Vuex都有哪些API 四、 前端性能优化方法 五、 类型判断 题目 (1)typeof判断哪个类型会出错(即结果不准确)&…...

2023最新实施工程师面试题

1、两电脑都在同一个网络环境中,A 电脑访问不到 B 电脑的共享文件。此现象可能是哪些 方面所导致?怎样处理? 答:首先你要确定是不是在一个工作组内,只有在一个工作组内才可以共享文件,然后看一个看一看有没有防火墙之类的,然后确定文件是不是已经共享 2、 电脑开机时风扇…...

安卓逆向_6 --- JNI 和 NDK

Java 本机接口规范内容:https://docs.oracle.com/en/java/javase/19/docs/specs/jni/index.html JNI官方中文资料:https://blog.csdn.net/yishifu/article/details/52180448 NDK 官方文档:https://developer.android.google.cn/training/ar…...

Pod控制器

K8S之控制器详解#简介#在kubernetes中,按照Pod的创建方式可以将其分为两类:自主式:kubernetes直接创建出来的Pod,这种Pod删除后就没有了,也不会重建。控制器创建pod:通过Pod控制器创建的Pod,这种Pod删除之后还会自动重…...

微服务到云原生

微服务到云原生 微服务 微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。 微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各…...

Spring Security 实现自定义登录和认证(1):使用自定义的用户进行认证

1 SpringSecurity 1.1 导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId> </dependency>1.2 编写配置类 在spring最新版中禁用了WebSecurityConfigurerAdapter…...

Spring Cloud(微服务)学习篇(七)

Spring Cloud(微服务)学习篇(七) 1.使用代码的方式实现流量限制规则 1.1 变更SentinelController类 1.1.1 加入的代码 //流控限制 (一个或多个资源限流), postConstruct注解的作用是保证项目一启动就会加载,// 一个rule就是一个规则PostConstructpublic void FlowRule(){Li…...

嵌入式安防监控项目——前期知识复习

目录 一、概述 二、C语言 三、数据结构 四、IO进程 五、网络 六、ARM体系结构和接口技术 七、系统移植 八、内核驱动 一、概述 我再报班之前学过51和32&#xff0c;不过都是自学的。报班开始先从应用层入手的&#xff0c;C语言和数据结构。只要是个IT专业的大学这都是必…...

SpringAOP——基础知识

AOP AOP全称是Aspect Oriented Programming 即面向切面编程&#xff0c;是对一类统一事务的集中处理 例如&#xff0c;我们的网页许多地方都需要进行登陆验证&#xff0c;这时就需要在很多地方添加重复的验证代码&#xff0c;而AOP可以集中配置需要登陆验证的地方&#xff0c;…...

kafka3.0安装使用

一&#xff1a;定义 Kafka传 统定义&#xff1a;Kafka是一个分布式的基于发布/订阅模式的消息队列&#xff08;Message Queue&#xff09;&#xff0c;主要应用于大数据实时处理领域。 Kafka最 新定义 &#xff1a; Kafka是 一个开源的 分 布式事件流平台 &#xff08;Event St…...

Centos7(阿里云)_安装Mysql8.0

1.安装MySQL 新人可以试用一个月的阿里云&#xff0c;centos7的 一开始可能确实会自带mariadb&#xff0c;所以可以在网上随便找个教程开始尝试安装MySQL&#xff0c;当然大概率出错&#xff0c;然后此时你的rpm下面已经有了一个版本的mysql安装包。 以我为例&#xff0c;随便…...

【Java】JVM

一、介绍 1.什么是JVM? JVM是一种用于计算设备的规范&#xff0c;它是一个虚构出来的机器&#xff0c;是通过在实际的计算机上仿真模拟各种功能实现的。JVM包含一套字节码指令集&#xff0c;一组寄存器&#xff0c;一个栈&#xff0c;一个垃圾回收堆和一个存储方法域。JVM屏…...