YOLOV8实例分割(环境配置+搭建模型+数据集制作+训练+预测全套)_yolov8实例分割训练-程序员宅基地

技术标签: YOLO  

目录

一、安装Anaconda3

1、下载

2、安装

3、验证

二、搭建windows上yolov8环境

1、cuda+pytorch+python版本选择

①查看自己电脑的cuda型号

 ②显卡驱动版本对应选择

2、创建虚拟环境

3、激活环境

​编辑

4、安装pytorch框架

①安装框架pytorch 1.9.0

②换镜像源

③pip install 和conda install的区别

三、安装yolov8

1、下载代码

2、命令行安装相关文件

① 切换路径到自己下载好的路径

② 安装依赖包

3、安装yolov8,它这里其实叫ultralytics

4、 测试

四、制作自己的数据集

1、https://roboflow.com 

2、labelme

①安装:在创建的虚拟环境中安装

②画标签

③把labelme格式转化成yolov8支持的数据集格式

五、用yolov8模型训练数据

六、模型预测结果

七、总结简明的步骤


一、安装Anaconda3

1、下载

到官网:

Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

2、安装

双击exe——Next——I Argee——just me ——选择路径(建议自定义,不要安装到c盘,且安装路径不要出现中文)——两个勾都勾上,不然配置环境很麻烦——Install——接下来页面两个勾不选——fnish完成安装。

3、验证

开始去找到这个 

点开能进入命令框,输入python,可以看到python版本。print(“hi”)

二、搭建windows上yolov8环境

1、cuda+pytorch+python版本选择

①查看自己电脑的cuda型号

        首先搜索栏找到设备管理器——显示适配器——NVIDIA(有这个才可以,说明电脑有GPU独显,否则就是只有集成显卡Intel,如图所以,很多比如联想台式电脑就没有独显,那么跑深度学习就得有服务器)  

在电脑上按键win+r——输入cmd——输入nvidia-smi

 ②显卡驱动版本对应选择

 (1)理论上显卡越新越好,但是有的新的会不稳定,显示花屏等异常出现,所以不能一味追求新。而且太新了可能还没来得及出来对应的pytorch版本,就没法匹配。

(2)安装的驱动版本<=电脑上显示的(支持最高cuda版本号),如本台电脑是12.0,那么安装的必须<=12.0,不能大于它。

(3)如果显卡<=PTX2080,推荐安装cuda10.2+cudnn7.6.5,或者其他版本;

        如果显卡>=PTX3050,则必须安装cuda>=11.0。

NVIDIA CUDA 官方文档

torch  torchvision Python
main/nightly     main/nightly >=3.8,<=3.11
2.0          0.15 >=3.8,<=3.11
1.13     0.14  >=3.7.2,<=3.10
1.12      0.13  >=3.7,<=3.10
1.11       0.12 >=3.7,<=3.10
1.10   0.11  >=3.6,<=3.9
1.9 0.10  >=3.6,<=3.9
1.8   0.9 >=3.6,<=3.9
1.7 0.8 >=3.6,<=3.9
1.6 0.7   >=3.6,<=3.8
1.5  0.6 >=3.5,<=3.8
1.4 0.5 >=3.8,<=3.11
1.3 0.4.2/0.4.3 ==2.7,>=3.5,<=3.8
1.2 0.4.1   ==2.7,>=3.5,<=3.7
1.1  0.3  ==2.7,>=3.5,<=3.7
<=1.0 0.2 ==2.7,>=3.5,<=3.7

2、创建虚拟环境

conda create -n 自己起名字 python==

如:conda create -n yolov8 python==3.8.0  

这里就可以写上python版本,不然默认使用anaconda自带的python版本。

 创建完了可以输入命令查看,没创建前anaconda本身只有一个base。 

3、激活环境

接下来进入自己虚拟环境,前面base变成了自己的环境名称,就可以接下来在这个环境里为所欲为了,安装卸载,即使弄错了,去anaconda安装路径找envs文件夹,里面有你的虚拟环境可以整个复制或者删除。 

4、安装pytorch框架

①安装框架pytorch 1.9.0

(1475条消息) [pytorch]pytorch官方安装法_torch==1.13.1+cu117_FL1623863129的博客-程序员宅基地 

pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

慢慢等待下载,我这里用了清华源。接下来补充两个知识点:

②换镜像源

③pip install 和conda install的区别

    conda ≈ pip(python包管理)+虚拟环境+非python依赖包管理

用conda下来接下来的包,这样的话下载一次,如果你其虚拟环境也要,他优先从上一目录找,如果有直接安装,就是说一次下载多次安装使用。

pip只能下载python包,而且下载安装到仅仅是当前环境,下次环境要用就得再下载。

下载包的时候优先推荐conda,不行再用pip。

删除用pip uninstall 包名     或者     conda uninstall 包名,效果一样,只删除当前环境下的包。

下载好只后可以输入命令pip  list  查看:

三、安装yolov8

1、下载代码

github官网  

 GitHub - ultralytics/ultralytics: NEW - YOLOv8 in PyTorch > ONNX > OpenVINO > CoreML > TFLite

 下面也有模型点击直接下载

 

新建一个weights文件夹,把下载的模型放进去。 

2、命令行安装相关文件

① 切换路径到自己下载好的路径

cd /d 自己路径复制过来

② 安装依赖包

pip install -r requirements.txt

如果安装不成功,可能和网络有关,重新执行,多安装几次就行。

也可以如下从镜像源下载安装。 直接输入 -i 源名,因为前面我设置了默认清华源,所以我直接安装。

3、安装yolov8,它这里其实叫ultralytics

pip install ultralytics

4、 测试

假如我们用yolov8s.pt来测试 :

yolo task=segment mode=predict model=wighte/yolov8s.pt source=ultralytics/assets/bus.jpg save=true

 结果保存到了对应的文件夹下的runs\detect\predict

 

测试视频/摄像头/文件夹:(source=自己的绝对路径就行,照片也可以用绝对路径,我前面是相对路径)

#测试图片
yolo task=segment mode=predict model=wighte/yolov8s.pt source=ultralytics/assets/bus.jpg save=true

#测试视频
yolo task=segment mode=predict model=wighte/yolov8s.pt source=D:\car.mp4 show=true

#测试摄像头
yolo task=segment mode=predict model=wighte/yolov8s.pt source=0

#测试文件夹
yolo task=segment mode=predict model=wighte/yolov8s.pt source=D:\myimgs

四、制作自己的数据集

1、https://roboflow.com 

Roboflow: Give your software the power to see objects in images and videoicon-default.png?t=N7T8https://roboflow.com/一个外网页,可以制作,很好用,但是因为是外网会卡。

Roboflow制作yolov8数据集_彩色面团儿的博客-程序员宅基地

这个网页可以直接就制作成yolov8需要的数据集格式;主要是有个功能不需要自己手动描边缘,有个类似于区域生长的按钮,自动描,可以试一下

2、labelme

①安装:在创建的虚拟环境中安装

conda activate yolov8

pip install labelme

 polygons多边形做实例分割,保存的数据标签为json格式。

目标检测就是画一些框就行,不需要考虑边缘;而实例分割要边缘都描出来的。

②画标签

(1476条消息) labelme制作自己数据集以及图片格式问题_labelme数据集格式_彩色面团儿的博客-程序员宅基地

③把labelme格式转化成yolov8支持的数据集格式

(1)利用一个py脚本文件。 (json3txt.py)修改最后一行路径,在命令行如下图运行就行,或者用pycharm打开运行。

把labelme格式转化成yolov8支持的数据集格式-程序员宅基地

(2)需要自己在labelme先画好标签(做好数据集)

labelme-dogcat-test.zip - 蓝奏云 (lanzouw.com)

上面是一个标签文件,猫和狗的。框的,没有边缘,也能粗略做分割。 

五、用yolov8模型训练数据

yolo task=segment mode=train model=mydata\yolov8s-seg.yaml data=mydata\coco128-seg.yaml epochs=100 batch=4(显卡内存大就设置大点好) save=true workers=4 device=0(第几个显卡) pretrained=true

上面其他三个images和labels和labels.txt是数据格式转化的时候生成的。

框起来的两个yaml是用yolov8s模型做的。如果要用其他版本可以对应找出来改。 

其他的一些代码

 这些里面没有权值,所以也不能用。就只能在命令行输入那种运行了。

yolo task=segment mode=train model=mydata\yolov8s-seg.yaml data=mydata\coco128-seg.yaml epochs=100 batch=4 save=true workers=1 device=0 pretrained=true

六、模型预测结果

 yolo task=segment mode=predict model=runs\segment\train\weights\best.pt source=D:\torch1\yolov8-ultralytics-main\mydata\ceshi\1.jpg save=true

七、总结简明的步骤

1、到Anaconda Prompt    输入查看虚拟环境

conda env list

2、创建新的虚拟环境

conda create -n yolov8 python==3.8.0

3、激活虚拟环境

 activate yolov8

4、安装pytorch框架

 pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

 5、下载yolo模型

①去github官网新建标签页 (github.com)icon-default.png?t=N7T8https://github.com/

②自己分享一个百度网盘,里面有模型代码+权重文件 

链接:https://pan.baidu.com/s/1nK_L0Oi4PomadSXXyJttMA 
提取码:dgri

6、安装相关依赖包

切换cmd路径到自己刚刚下载的yolo模型的文件夹路径

cd /d 自己路径复制过来 

cd /d D:\yolov8-ultralytics-main

安装requirements.txt文件里依赖包

pip install -r requirements.txt

7、安装yolov8,它这里其实叫ultralytics

pip install ultralytics

 8、测验成功与否

假如我们用yolov8s.pt来测试 :

yolo task=segment mode=predict model=wighte/yolov8s.pt source=ultralytics/assets/bus.jpg save=true

  结果保存到了对应的文件夹下的runs\detect\predict。里面会有个测试好的图。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_63172128/article/details/131987667

智能推荐

使用nginx解决浏览器跨域问题_nginx不停的xhr-程序员宅基地

文章浏览阅读1k次。通过使用ajax方法跨域请求是浏览器所不允许的,浏览器出于安全考虑是禁止的。警告信息如下:不过jQuery对跨域问题也有解决方案,使用jsonp的方式解决,方法如下:$.ajax({ async:false, url: 'http://www.mysite.com/demo.do', // 跨域URL ty..._nginx不停的xhr

在 Oracle 中配置 extproc 以访问 ST_Geometry-程序员宅基地

文章浏览阅读2k次。关于在 Oracle 中配置 extproc 以访问 ST_Geometry,也就是我们所说的 使用空间SQL 的方法,官方文档链接如下。http://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/gdbs-in-oracle/configure-oracle-extproc.htm其实简单总结一下,主要就分为以下几个步骤。..._extproc

Linux C++ gbk转为utf-8_linux c++ gbk->utf8-程序员宅基地

文章浏览阅读1.5w次。linux下没有上面的两个函数,需要使用函数 mbstowcs和wcstombsmbstowcs将多字节编码转换为宽字节编码wcstombs将宽字节编码转换为多字节编码这两个函数,转换过程中受到系统编码类型的影响,需要通过设置来设定转换前和转换后的编码类型。通过函数setlocale进行系统编码的设置。linux下输入命名locale -a查看系统支持的编码_linux c++ gbk->utf8

IMP-00009: 导出文件异常结束-程序员宅基地

文章浏览阅读750次。今天准备从生产库向测试库进行数据导入,结果在imp导入的时候遇到“ IMP-00009:导出文件异常结束” 错误,google一下,发现可能有如下原因导致imp的数据太大,没有写buffer和commit两个数据库字符集不同从低版本exp的dmp文件,向高版本imp导出的dmp文件出错传输dmp文件时,文件损坏解决办法:imp时指定..._imp-00009导出文件异常结束

python程序员需要深入掌握的技能_Python用数据说明程序员需要掌握的技能-程序员宅基地

文章浏览阅读143次。当下是一个大数据的时代,各个行业都离不开数据的支持。因此,网络爬虫就应运而生。网络爬虫当下最为火热的是Python,Python开发爬虫相对简单,而且功能库相当完善,力压众多开发语言。本次教程我们爬取前程无忧的招聘信息来分析Python程序员需要掌握那些编程技术。首先在谷歌浏览器打开前程无忧的首页,按F12打开浏览器的开发者工具。浏览器开发者工具是用于捕捉网站的请求信息,通过分析请求信息可以了解请..._初级python程序员能力要求

Spring @Service生成bean名称的规则(当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致)_@service beanname-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏6次。@Service标注的bean,类名:ABDemoService查看源码后发现,原来是经过一个特殊处理:当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致public class AnnotationBeanNameGenerator implements BeanNameGenerator { private static final String C..._@service beanname

随便推点

二叉树的各种创建方法_二叉树的建立-程序员宅基地

文章浏览阅读6.9w次,点赞73次,收藏463次。1.前序创建#include&lt;stdio.h&gt;#include&lt;string.h&gt;#include&lt;stdlib.h&gt;#include&lt;malloc.h&gt;#include&lt;iostream&gt;#include&lt;stack&gt;#include&lt;queue&gt;using namespace std;typed_二叉树的建立

解决asp.net导出excel时中文文件名乱码_asp.net utf8 导出中文字符乱码-程序员宅基地

文章浏览阅读7.1k次。在Asp.net上使用Excel导出功能,如果文件名出现中文,便会以乱码视之。 解决方法: fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);_asp.net utf8 导出中文字符乱码

笔记-编译原理-实验一-词法分析器设计_对pl/0作以下修改扩充。增加单词-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏23次。第一次实验 词法分析实验报告设计思想词法分析的主要任务是根据文法的词汇表以及对应约定的编码进行一定的识别,找出文件中所有的合法的单词,并给出一定的信息作为最后的结果,用于后续语法分析程序的使用;本实验针对 PL/0 语言 的文法、词汇表编写一个词法分析程序,对于每个单词根据词汇表输出: (单词种类, 单词的值) 二元对。词汇表:种别编码单词符号助记符0beginb..._对pl/0作以下修改扩充。增加单词

android adb shell 权限,android adb shell权限被拒绝-程序员宅基地

文章浏览阅读773次。我在使用adb.exe时遇到了麻烦.我想使用与bash相同的adb.exe shell提示符,所以我决定更改默认的bash二进制文件(当然二进制文件是交叉编译的,一切都很完美)更改bash二进制文件遵循以下顺序> adb remount> adb push bash / system / bin /> adb shell> cd / system / bin> chm..._adb shell mv 权限

投影仪-相机标定_相机-投影仪标定-程序员宅基地

文章浏览阅读6.8k次,点赞12次,收藏125次。1. 单目相机标定引言相机标定已经研究多年,标定的算法可以分为基于摄影测量的标定和自标定。其中,应用最为广泛的还是张正友标定法。这是一种简单灵活、高鲁棒性、低成本的相机标定算法。仅需要一台相机和一块平面标定板构建相机标定系统,在标定过程中,相机拍摄多个角度下(至少两个角度,推荐10~20个角度)的标定板图像(相机和标定板都可以移动),即可对相机的内外参数进行标定。下面介绍张氏标定法(以下也这么称呼)的原理。原理相机模型和单应矩阵相机标定,就是对相机的内外参数进行计算的过程,从而得到物体到图像的投影_相机-投影仪标定

Wayland架构、渲染、硬件支持-程序员宅基地

文章浏览阅读2.2k次。文章目录Wayland 架构Wayland 渲染Wayland的 硬件支持简 述: 翻译一篇关于和 wayland 有关的技术文章, 其英文标题为Wayland Architecture .Wayland 架构若是想要更好的理解 Wayland 架构及其与 X (X11 or X Window System) 结构;一种很好的方法是将事件从输入设备就开始跟踪, 查看期间所有的屏幕上出现的变化。这就是我们现在对 X 的理解。 内核是从一个输入设备中获取一个事件,并通过 evdev 输入_wayland

推荐文章

热门文章

相关标签