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.mzph.cn/news/72716.shtml

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

相关文章

ES6 字符串的repeat()方法

repeat() 方法返回一个新字符串,表示将原字符串重复n次 格式:str.repeat(n) 参数n:str需要重复多少次 参数n的取值: n是正整数: x.repeat(3) // 输出结果:"xxx" hello.repeat(2) // 输出结果…

Linux socket网络编程实战(tcp)实现双方聊天

在上节已经系统介绍了大致的流程和相关的API,这节就开始写代码! 回顾上节的流程: 创建一个NET文件夹 来存放网络编程相关的代码: tcp服务端代码初步实现--上 这部分先实现服务器的连接部分的代码并进行验证 server1.c&#xff…

接口自动化测试总结

一、什么项目适合做自动化测试? 软件需求变动不频繁 测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程&#x…

【二分答案 dp】 Bare Minimum Difference

分析: 首先我们能够得知这个优秀值具有单调性: 如果一个优秀值 x 1 x1 x1能够满足题目要求,那么任何 x ( x > x 1 ) x(x>x1) x(x>x1)显然都能符合要求 基于这一特性,我们想到二分答案 直接二分这个答案好像难以维护。 …

【计算机网络】 静态库与动态库

文章目录 静态库实践使用方法总结 动态库实践使用方法总结 静态库与动态库的优缺点静态库优点缺点 动态库缺点优点 库有两种:静态库(.a、.lib)和动态库(.so、.dll)。所谓静态、动态是指链接。静态库是将整个库文件都拷…

虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题

虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题 文章目录 虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题前言全局坐标系转体坐标系速度设置X轴方向的体坐标系速度设置Y轴方向的体坐标系速度XY轴体坐标系速度整合 Z轴速度的进一步设置解决办法 小结 前言 利…

[git] 如何克隆仓库,进行项目撰写,并绑定自己的远程仓库

摘要:删除.git文件,才可重新绑定远程仓库。 具体步骤: 文件夹右键,进入”Git Bash Here“执行命令 1. 执行 ”git clone 仓库地址“,克隆仓库 2. 在生成的仓库中,删除 .git 文件 3. git init 初始化仓库…

模板方法模式

1、场景 客户到银行办理业务: 1、取号排队 2、办理具体现金、转账、理财业务 3、给银行工作人员评分 请客吃饭 1、点单 2、吃东西(吃面条、吃满汉全席) 3、买单 2、介绍 模板方法模式定义了一个操作中的算法骨架,将某些步骤延迟…

自造简易版音频进度条

最近在做音乐播放器页面, 积累了很多有趣的经验, 今天先分享播放进度条的开发过程. 效果 话不多说,先看效果 支持点击修改进度,拖拽修改进度,当然大家肯定都知道ui库里面有现成的,为何要自己造一个 首先著名的ui库中确实都要这…

前端实习第七周周记

前言 第六周没写,是因为第六周的前两天在处理第五周的样本库部分。问题解决一个是嵌套问题(因为我用到了递归),还有一个问题在于本机没有问题,打包上线接口404。这个问题我会在这周的总结中说。 第六周第三天才谈好新…

《TCP/IP网络编程》阅读笔记--地址族和数据序列

目录 1--IP地址和端口号 2--地址信息的表示 3--网络字节序与地址变换 4--网络地址的初始化与分配 5--Windows部分代码案例 1--IP地址和端口号 IP 地址分为两类: ① IPv4 表示 4 字节地址族; ② IPv6 表示 16 字节地址族; IPv4 标准的 4 …

ElementUI浅尝辄止37:Select 选择器

当选项过多时&#xff0c;使用下拉菜单展示并选择内容。 1.如何使用&#xff1f;基础单选 v-model的值为当前被选中的el-option的 value 属性值 <template><el-select v-model"value" placeholder"请选择"><el-optionv-for"item in …

Meta 验证徽章:为何大家都想在 FB 和 IG 上获得元验证

随着 Meta&#xff08;前身为 Facebook&#xff09;和 Instagram 统治数字领域&#xff0c;Meta Verified 徽章已成为真实性的终极象征。无论您是公众人物还是品牌&#xff0c;在Facebook和Instagram上获得此徽章都会对您的在线形象产生深远的影响。Facebook验证于2013年首次推…

【文字到语音的论文总结】

1.文字到语音的整个过程 文字到语音的一般整体结构 主要是下面这个流程&#xff0c;每个网络可能会把其中两者或是三者融合在一起来&#xff1b; 长度不同的问题 生成的语音可能和文字的长度并不一样&#xff0c;因此需要解决这个问题 Tactron使用的是交叉注意力的方式解…

Vue + Element UI 前端篇(十):动态加载菜单

Vue Element UI 实现权限管理系统 前端篇&#xff08;十&#xff09;&#xff1a;动态加载菜单 动态加载菜单 之前我们的导航树都是写死在页面里的&#xff0c;而实际应用中是需要从后台服务器获取菜单数据之后动态生成的。 我们在这里就用上一篇准备好的数据格式Mock出模…

vue3项目,点击分页器,列表接口请求两次的问题

接手别人做的项目&#xff0c;出现了一个分页器bug&#xff0c;vue3element plus&#xff0c;记录一下。 点击分页器&#xff0c;却出现了调用两次列表接口的情况&#xff0c;并且第二次请求&#xff0c;分页器的pageNum自动变成1&#xff0c;这样就导致了分页器bug&#xff0…

k8s部署redis 3主3从

k8s部署redis6节点&#xff0c;组成3主3从集群模式 一般来说&#xff0c;redis部署有三种模式。 单实例模式&#xff0c;一般用于测试环境。 哨兵模式 集群模式后两者用于生产部署 哨兵模式 在redis3.0以前&#xff0c;要实现集群一般是借助哨兵sentinel工具来监控master节点…

1.4 空间中的曲线和曲面

空间中的曲线与曲面 知识点1 曲面方程定义 定义1 如果曲面 S 与方程F (x,y,z ) 0 有下述关系&#xff1a; &#xff08;1&#xff09; 曲面 S 上的任意点的坐标都满足此方程 &#xff08;2&#xff09;不在曲面S上的点的坐标不满足此方程 则F&#xff08;x,y,z&#xff0…

element-plus 表格-定位到指定行

表格数据量一页占不下的时候&#xff0c;需要定位到指定的行&#xff0c;显示在可视区域中。采用 scrollTo滚动到一组特定坐标(options: ScrollToOptions | number, yCoord?: number) 核心代码 /** 滚动到指定行 tableScrollToRowtableElement&#xff1a;表格元素 instal…

Redis 集群

1. 是什么 1.1 定义 由于数据量过大&#xff0c;单个Master复制集难以承担&#xff0c;因此需要对多个复制集进行集群&#xff0c;形成水平扩展每个复制集只负责存储整个数据集 的一部分&#xff0c;这就是Redis的集群&#xff0c;其作用是提供在多个Redis节点间共享数据的程序…