YOLOV8从零搭建一套目标检测系统(修改model结构必看)附一份工业缺陷检测数据集

目录

1.YOLOV8介绍

2.YOLOV8安装

2.1环境配置

3.数据集准备


1.YOLOV8介绍

Yolov8结构图: 

YoloV8相对于YoloV5的改进点:
Replace the C3 module with the C2f module.
Replace the first 6x6 Conv with 3x3 Conv in the Backbone.
Delete two Convs (No.10 and No.14 in the YOLOv5 config).
Replace the first 1x1 Conv with 3x3 Conv in the Bottleneck.
Use decoupled head and delete the objectness branch.
anchor free.
 

YoloV8精度对比: 

 

2.YOLOV8安装

如果只是为了单纯使用,看下面这篇文章就好。

YOLOv8 保姆级教程(训练自己的数据集)_陈子迩的博客-CSDN博客

如果想为了改变模型的结构,接着往下看。

2.1环境配置

首先推荐使用anaconda配置python环境,不会的看下面这篇博客

最新Anaconda安装-保姆级教程_陈子迩的博客-CSDN博客

conda create -n YOLOv8 python=3.8  #创建YOLOv8的环境conda activate YOLOv8   #激活环境

安装pytorch

CUDA 11.6
pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 --extra-index-url https://download.pytorch.org/whl/cu116 -i https://pypi.tuna.tsinghua.edu.cn/simple
CUDA 11.3
pip install torch==1.12.0+cu113 torchvision==0.13.0+cu113 --extra-index-url https://download.pytorch.org/whl/cu113 -i https://pypi.tuna.tsinghua.edu.cn/simple

     任选其一   

安装依赖包

pip install -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple/

打开pycharm,载入你的环境。

 

 选择你的python版本,正常新建的conda解释器会自动弹出

接下来 打开pycharm的终端,就是最底下的一行

选择这一个 

如果你安装了 ultralytics 包 ,那请卸载掉,如果没有装,跳过这一步。

运行python setup.py install.

 不用管中间出现啥

怎么判断自己是否安装成功,主要是看最后输出是否有Finished processing dependencies for ultralytics即可.

3.数据集准备

链接:https://pan.baidu.com/s/1FaBTUQvceUJJu3s1dg4xMg 
提取码:ypwa

给大家准备了一个钢铁的数据集

data.yaml放到下面路径

 数据集放在下面路径即可

 修改yaml中的地址

 创建一个my train的文件

 放入下面代码

from ultralytics import YOLO# model = YOLO('yolov8n-CF2_ATT.yaml')
# model.train(data='data.yaml', epochs=5)model = YOLO('yolov8n.yaml')
model.train(data='data.yaml', epochs=10)

 model.train函数的参数在下面选择

 配置好后就可以训练了,你也可以根据自己的需求修改模型配置文件

查看结果

配置my val

from ultralytics import YOLOmodel = YOLO(r'D:\YOLOv8\ultralytics\models\yolo\detect\runs\detect\train11\weights\best.pt')
# It'll use the data yaml file in model.pt if you don't set data.
model.val()
# or you can set the data you want to val
model.val(data='data.yaml')

 以上就是完整的流程

yolov8可能遇到的报错下篇文章给大家罗列

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

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

相关文章

hutool的HttpRequest.post的使用-包括上传文档等多个传参【总结版本】

首先hutool已经为我们封装好了远程调用的接口,我们只要将对应的传参和方式对应填写即可 hutool官方文档 1实际应用 post 常见的使用json传参,contend type为application/json RequestMapping("login") ResponseBody public static String s…

R语言应用interactionR包进行亚组相加交互作用分析

在统计分析中交互作用是指某因素的作用随其他因素水平变化而变化,两因素共同作用不等于两因素单独作用之和(相加交互作用)或之积(相乘交互作用)。相互作用的评估是尺度相关的:乘法或加法。乘法尺度上的相互作用意味着两次暴露的综合效应大于(…

RabbitMQ:work结构

> 只需要在消费者端,添加Qos能力以及更改为手动ack即可让消费者,根据自己的能力去消费指定的消息,而不是默认情况下由RabbitMQ平均分配了,生产者不变,正常发布消息到默认的exchange > 消费者指定Qoa和手动ack …

TLA+学习记录1——hello world

0x01 TLA是个好工具 编程人员一个好习惯是凡事都想偷懒,当然是指要科学地偷懒,而不是真的偷懒。一直想找到一种能检验写出的代码,做出的设计是否真的完全正确,而不是靠经验检视、代码Review、反复测试去检验。因为上述方法不管怎…

磐基2.0搭建es集群

参考: k8s安装elasticsearch集群 k8s安装elasticsearch集群_k8s部署elasticsearch集群_MasonYyp的博客-CSDN博客1 环境简述搭建es集群需要使用的技术如下:k8s集群、StatefulSet控制器、Service(NodePort)服务、PV、PVC、volumeC…

[SSM]MyBatisPlus拓展

五、拓展篇 5.1逻辑删除 在电商网站中,我们会上架很多商品,这些商品下架以后,我们如果将这些商品从数据库中删除,那么在年底统计商品的时候,这个商品要统计的,所以这个商品信息我们是不能删除的。 如果商城…

基于SpringBoot + Vue的项目整合WebSocket的入门教程

1、WebSocket简介 WebSocket是一种网络通信协议,可以在单个TCP连接上进行全双工通信。它于2011年被IETF定为标准RFC 6455,并由RFC7936进行补充规范。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性…

向量数据库Milvus Cloud核心组件再升级,主打就是一个低延迟、高准确度

支持 ScaNN 索引 Faiss 实现的 ScaNN,又名 FastScan,使用更小的 PQ 编码和相应的指令集可以更为友好地访问 CPU 寄存器,从而使其拥有优秀的索引性能。该索引在 Cohere 数据集,Recall 约 95% 的时候,Milvus 使用 Knowhere 2.x 版本端到端的 QPS 是 IVF_FLAT 的 7 倍,HN…

系统架构技能之设计模式-工厂模式

一、开篇 本文主要是讲述设计模式中最经典的创建型模式-工厂模式,本文将会从以下几点对工厂模式进行阐述。 本文将会从上面的四个方面进行详细的讲解和说明,当然会的朋友可以之处我的不足之处,不会的朋友也请我们能够相互学习讨论。 二、摘…

leetcode56. 合并区间(java)

合并区间 题目描述贪心算法代码演示 题目描述 难度 - 中等 leetcode56. 合并区间 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好…

基于uwb和IMU融合的三维空间定位算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ..........................................................................kkk 0; for E…

借助AI分析哥斯拉木马原理与Tomcat回显链路挖掘

前言 本次分析使用了ChatGPT进行辅助分析&#xff0c;大大提升了工作效率&#xff0c;很快就分析出木马的工作流程和构造出利用方式。 分析 首先对该木马进行格式化,以增强代码的可读性。得到如下代码 <jsp:root xmlns:jsp"http://java.sun.com/JSP/Page" vers…