Yolov7, Yolov8使用

news/2024/7/10 23:28:35 标签: YOLO

YOLOV7

1. 安装和测试:

【小白教学】如何用YOLOv7训练自己的数据集 - 知乎

YOLOv7——训练自己的数据集 - 代码网

conda create --name=yolov7 python=3.8 #the version of your python3 

*** 这里需要注意如果 torch 和torchvion版本太高,会导致GPU不可用,因为GPU drive版本太低。可以使用低版本的: pip install torch==1.12.1 torchvision==0.13.1

将/home/xumin/yolov7/utils/dataloaders.py修改

#sa, sb = f'{os.sep}images{os.sep}', f'{os.sep}labels{os.sep}'  # /images/, /labels/ substrings
sa, sb = f'{os.sep}JPEGImages{os.sep}', f'{os.sep}labels{os.sep}'

其他和Yolov5一样(数据准备,配置等)。。。

需要注意的是

(1)yolov7.yaml中的参数设置要yolov5s一致(如果做对比实验)

# parameters
nc: 1  # number of classes
depth_multiple: 0.33  # model depth multiple
width_multiple: 0.50  # layer channel multiple

(2) hyp.scratch-low.yaml可以直接copy和使用yolov5的

(3) 如果与yolov5对比,设置optimizer为SGD

Train commands:

python train.py --img 640 --batch 4 --epoch 600 --data data/aphid_voc.yaml --cfg cfg/training/yolov7.yaml --weights weights/yolov7.pt --save_period 100

Test:

python test.py --img 640 --batch-size 1 --data data/aphid_voc.yaml --weights runs/train/yolov7/weights/best.pt

test.py中的‘val’需要修改为‘test’,参考Yolov5

YOLOV8

1. 安装测试

下载:https://github.com/ultralytics/ultralytics

conda create --name=yolov8 python=3.8 #the version of your python3 

安装:

pip install ultralytics

下载模型:

YOLOv8(2023年8月版本)安装配置!一条龙傻瓜式安装,遇到问题评论区提问_yolov8下载-CSDN博客

测试:

yolo predict model=yolov8n.pt source='ultralytics/assets/bus.jpg'

*** 这里需要注意如果 torch 和torchvion版本太高,会导致GPU不可用,因为GPU drive版本太低。可以使用低版本的: pip install torch==1.12.1 torchvision==0.13.1

2. 训练自己的模型

参考:

YOLOv8(2023年8月版本)安装配置!一条龙傻瓜式安装,遇到问题评论区提问_yolov8下载-CSDN博客

YOLOv8训练自己的数据集(超详细)-CSDN博客

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

YOLOv8实现缺陷目标检测(附代码和数据集) - 知乎

将/home/xumin/yolov8/ultralytics/data/utils.py修改

#sa, sb = f'{os.sep}images{os.sep}', f'{os.sep}labels{os.sep}'  # /images/, /labels/ substrings
sa, sb = f'{os.sep}JPEGImages{os.sep}', f'{os.sep}labels{os.sep}'

其他和Yolov5一样(数据准备,配置等)。。。

(1)数据集(新建datasets文件夹)

/home/xumin/yolov8/ultralytics/datasets,将数据集放置于该文件夹下,需要注意的是,需要将/home/xumin/yolov8/ultralytics/datasets/voc2011/labels 中的标注文件放置于/home/xumin/yolov8/ultralytics/datasets/voc2011/JPEGImages 文件夹下,否则会出现

LOGGER.warning(f"WARNING ⚠️ No labels found in {cache_path}

(2) 配置文件

/home/xumin/yolov8/ultralytics/cfg/datasets下新建aphid_voc.yaml(直接复制yolov5的也可以)

path: ../datasets/VOC
train: /home/xumin/yolov8/ultralytics/datasets/2011_train.txt
  
val: /home/xumin/yolov8/ultralytics/datasets/2011_val.txt

test: /home/xumin/yolov8/ultralytics/datasets/2011_test.txt

# Classes
nc: 1  # number of classes
names: ['aphid']  # class names

#names:
#  0: aphid

/home/xumin/yolov8/ultralytics/cfg/models/v8中找到yolov8.yaml并修改

nc: 1  # number of classes

(3)修改ultralytics/cfg/default.yaml (可以设置为yolov5的,如果做对比实验)

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

(4)安装wandb,之后可以监控训练过程

pip install wandb

Train commands:

yolo train data=/home/xumin/yolov8/ultralytics/cfg/datasets/aphid_voc.yaml model=yolov8s.pt epochs=600 imgsz=640 batch=4 workers=8 optimizer=SGD device=0

Test commands:

#需要修改ultralytics/cfg/default.yaml中的 Val/Test settings -

yolo val data=/home/xumin/yolov8/ultralytics/cfg/datasets/aphid_voc.yaml model=/home/xumin/runs/detect/yolov8/weights/best.pt epochs=600 imgsz=640 batch=1 workers=8 optimizer=SGD device=0 split=test


http://www.niftyadmin.cn/n/5336028.html

相关文章

php array_diff 比较两个数组bug避坑 深入了解

今天实用array_diff出现的异常问题,预想的结果应该是返回 "integral_initiate">"0",实际没有 先看测试代码: $a ["user_name">"测","see_num">0,"integral_initiate&quo…

flutter获取地理定位:geolocator依赖详细用法

本文使用geolocator插件实现app物理定位功能。 该插件的主要功能有: 获取最后已知位置;获取设备当前位置;获取连续的位置更新;检查设备是否启用了定位服务;计算两个地理坐标之间的距离(米)&am…

ChatGPT正确打开方式与GPT-4.5的key最新获取方式

前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言4.5key价格泄漏ChatGPT4.0使用地址ChatGPT正确打开方式最新功能语音助手存档…

MySQL中SELECT字句的顺序以及具体使用

目录 1.SELECT字句及其顺序 2.使用方法举例 3.HAVING和WHERE 1.SELECT字句及其顺序 *下表来自于图灵程序设计丛书,数据库系列——《SQL必知必会》 2.使用方法举例 *题目来源于牛客网 题目描述 现在运营想要查看不同大学的用户平均发帖情况,并期望结…

插入排序(一)——直接插入排序与希尔排序

目录 一.前言 二.排序的概念及其运用 1.1排序的概念 1.2 常用排序算法 三.常用排序算法的实现 3.1 插入排序 3.1.1 基本思想 3.1.2 直接插入排序 3.1.3 希尔排序(缩小增量排序) 四.全部代码 sort.c sort.h test.c 五.结语 一.前言 本文我们…

var 和 let 的优缺点

目录 var 和 let 的优缺点 1、变量提升: 2、作用域: 3、全局声明: 4、重复声明: 5、循环中的行为: 示例 变量提升: 作用域: 全局声明: 重复声明: var 和 let…

Visual Studio中,每次新建文件都会自动出现提前设置好的头文件配置方法

主要是修改 newcfile.cpp 文件,可以用everything或者Listary等软件直接搜索文件,直接跳到第4步 1.图标右击——>打开文件所在位置 2.到达IDE地址后在当前目录下找VC文件夹 3.再找 VCProjectItems 文件夹——newcfile.cpp文件 4.用记事本打开&#xff…

java测简单案例定时器和netty心跳检

一,定时器的实现方式 在Java中,定时器可以通过多种方式实现,其中最常用的是使用java.util.Timer和java.util.TimerTask类。下面是一个简单的示例,演示如何使用这些类来创建一个定时器。 首先,我们需要创建一个继承自…