首页 > 编程问答 >RuntimeError:给定 groups=1,预期权重在维度 0 处至少为 1,但在 YOLOv8 模型训练中得到的权重大小为 [0, 16, 1, 1]

RuntimeError:给定 groups=1,预期权重在维度 0 处至少为 1,但在 YOLOv8 模型训练中得到的权重大小为 [0, 16, 1, 1]

时间:2024-07-28 15:34:54浏览次数:9  
标签:python tensorflow pytorch yolov8

我正在尝试使用 yolov8n-pose.pt 预训练模型来训练 YOLOv8 模型,并在 config.yaml 中使用以下配置:

# Data
path: C:\Users\Denis\OneDrive\Documents\Project\Workout Assistant\data
train: images/train # train images (relative to 'path')
val: images/val # val images (relative to 'path')

# Keypoints
kpt_shape: [8, 0] # [number of keypoints, number of dim]
flip_idx: [0, 1, 2, 3, 4, 5, 6, 7] # keypoints to flip

# Classes
names:
    0: starting_pos
    1: lifting

这是我训练模型的代码

from ultralytics import YOLO

model = YOLO('yolov8n-pose.pt')  # load a pretrained model (recommended for training)

model.train(data='config.yaml', epochs=1, imgsz=640)

我收到以下错误

RuntimeError: Given groups=1, expected weight to be at least 1 at dimension 0, but got weight of size [0, 16, 1, 1] instead

我尝试过的步骤:

  • 验证预训练模型文件以确保其未损坏。
  • 仔细检查 config.yaml 文件是否存在任何格式问题。
  • 确保正确指定了数据集路径和类名。|| |我怀疑该问题可能与

kpt_shape 设置有关,但我不确定如何解决它。 flip_idx 有关如何修复此错误的任何帮助或指示将不胜感激。

Any help or pointers on how to fix this error would be greatly appreciated.


出现“RuntimeError: Given groups=1, expected weight to be at least 1 at dimension 0, but got weight of size [0, 16, 1, 1] instead”错误的原因是你在尝试训练一个用于关键点检测的 YOLOv8 模型,而你的自定义数据集中没有带标注的关键点。

具体来说, kpt_shape: [8, 0] 这一行表明你希望模型检测到每个对象有 8 个关键点。但是,当你训练模型时,它并没有在数据集中找到任何关键点信息。这会导致模型中的某个卷积层出现维度不匹配的错误,因为该层期望输入的关键点数据为空。

要解决此错误,你需要执行以下操作之一:

  1. 为你的数据集标注关键点: 这是最直接的解决方案。你需要使用标注工具(例如 makesense.ai、CVAT 或 LabelImg)为数据集中的每个对象标注 8 个关键点。标注完成后,确保你的数据加载器能够正确解析和加载这些关键点信息。

  2. 使用不带关键点检测的 YOLOv8 模型: 如果你不需要进行关键点检测,可以使用没有关键点检测头的 YOLOv8 模型(例如 yolov8n.pt )。这将确保模型中没有层期望关键点数据,从而避免错误。

  3. 修改模型以移除关键点检测头: 如果你想使用 yolov8n-pose.pt 预训练模型但不需要关键点检测,你可以修改模型以移除关键点检测头。这需要对 YOLOv8 架构有一定的了解。你可以参考 Ultralytics 文档和代码示例来了解如何修改模型。

一旦你选择了合适的解决方案并相应地更新了代码和/或数据集,该错误应该得到解决,你就可以开始训练模型了。

标签:python,tensorflow,pytorch,yolov8
From: 78793385

相关文章

  • 有没有办法检查是否有人提到@youtubechannelname并使用youtube数据api让Python脚本回
    标题解释了大部分内容。我的问题是,尽管到处搜索,但我没有找到任何有用的解决方案。AI和ChatGPT都无法对此提供帮助。不幸的是,YouTube数据API不提供直接监控频道提及或自动回复评论的功能。YouTube数据API主要用于检索和管理YouTube上的视频、评论和其他资源,而......
  • 如何在 Python 中从 Milesight TrafficX 摄像头、Post(MQTT、TCP/IP、HTTP) 获取数据?
    你好,祝你度过愉快的一天或一夜,我有这个MilesightTrafficX摄像头已启动并正在运行,仪表板中有一个名为POST的设置,您可以在下图中看到:我想要的是知道如何设置这些设置(基于实际上我的意思是)能够在我的Python代码中接收数据。无论协议如何,数据都将如下所示:......
  • 如何循环使用按钮输入,在python中的不同选项之间循环?
    我有一个循环,它采用三路开关输入并在相机开机时选择一个选项:#SetGPIOinputswitchColorOne=pyb.Pin("P9",pyb.Pin.IN,pyb.Pin.PULL_UP)switchColorTwo=pyb.Pin("P7",pyb.Pin.IN,pyb.Pin.PULL_UP)#SetcolorpalletebyswitchifswitchColorOne.value()==0:......
  • SSL 证书验证失败 - 雅虎财经 API - Python
    我正在尝试从雅虎财经获取数据,但收到SSL错误。代码如下:importrequestsresponse=requests.get("https://query1.finance.yahoo.com/v8/finance/chart/META",verify=True)print(response.status_code)出现以下错误:urllib3.exceptions.SSLError:[SSL:CERTIFICATE_......
  • 【学习笔记】Matlab和python双语言的学习(熵权法)
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、熵权法的基本概念二、熵权法的基本步骤1、构建决策矩阵2、数据标准化3、计算指标的比重4、计算信息熵5、计算权重6、计算综合得分三、代码实现----Matlab四、代码实现----python总结......
  • 【python】网络通信编程例子
    以下是一个简单的Python示例,展示了如何在Linux下使用套接字进行基本的网络通信,包括创建服务器和客户端。服务器端代码importsocket#创建一个IPv4TCP套接字server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#绑定服务器地址和端口server_addr......
  • 如何将Python版本从3.9降级到3.7?
    我正在开发RaspberryPi。这些是我的操作系统信息:pi@raspberrypi:~$uname-marmv7lpi@raspberrypi:~$cat/etc/os-releasePRETTY_NAME="RaspbianGNU/Linux11(bullseye)"NAME="RaspbianGNU/Linux"VERSION_ID="11"VERSION="11(bullseye)......
  • Python终端输出彩色字符方法
    colorama是一个python专门用来在控制台、命令行输出彩色文字的模块,完全兼容linux和windows各个版本。 1.Python3.x中安装colorama模块: pipinstallcolorama'''可用格式常数:【颜色RED,GREEN都需要大写】Fore:BLACK,RED,GREEN,YELLOW,BLUE,MAGENTA,CYAN,WHI......
  • 我无法安装 pygame 模块,所以我尝试观看视频,它告诉我这样做。在那个视频中他得到了 pyt
    c:\User\admin>piplistSyntaxError:unexpectedcharacterafterlinecontinuationcharacter我试图获取python模块列表,但出现语法错误出现SyntaxError:unexpectedcharacterafterlinecontinuationcharacter错误是因为你的用户名中包含一个特殊字符......
  • python第五节--conda命令
    这里写自定义目录标题基本命令环境管理包管理环境文件环境变量Conda配置高级操作常见问题基本命令检查Conda版本:conda--version更新Conda:condaupdateconda环境管理创建新环境:condacreate--namemyenv创建包含特定Python版本的新环境:conda......