onehahaha756 / yolov5_rotation

GNU General Public License v3.0
106 stars 20 forks source link

训练自己的数据集(w和h不相等),可以训练,但是不可以detect推理,detect报错,维度不一致 #10

Open yangcyz opened 2 years ago

yangcyz commented 2 years ago

Before submitting a bug report, please be aware that your issue must be reproducible with all of the following, otherwise it is non-actionable, and we can not help you:

If this is a custom dataset/training question you must include your train*.jpg, test*.jpg and results.png figures, or we can not help you. You can generate these with utils.plot_results().

🐛 Bug

A clear and concise description of what the bug is.

To Reproduce (REQUIRED)

Input:

import torch

a = torch.tensor([5])
c = a / 0

Output:

Traceback (most recent call last):
  File "/Users/glennjocher/opt/anaconda3/envs/env1/lib/python3.7/site-packages/IPython/core/interactiveshell.py", line 3331, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-5-be04c762b799>", line 5, in <module>
    c = a / 0
RuntimeError: ZeroDivisionError

Expected behavior

A clear and concise description of what you expected to happen.

Environment

If applicable, add screenshots to help explain your problem.

Additional context

Add any other context about the problem here.

onehahaha756 commented 2 years ago

如果训练图片长宽不一致的话,可能会导致标签转化也有问题。测试的时候,好像有一行check_imgsize代码,那个应该可以解决这个问题。但是,训练图片长宽不一致,可能会造成标签转化出错。

yangcyz commented 2 years ago

如果训练图片长宽不一致的话,可能会导致标签转化也有问题。测试的时候,好像有一行check_imgsize代码,那个应该可以解决这个问题。但是,训练图片长宽不一致,可能会造成标签转化出错。

将标签转化也修改了,将detect也修改了一下,读取图片的调用了letterbox这个函数,你之前读图片没有做任何缩放吧,就是原图片是啥,就直接拿过来推理了,即使在detect里边修改imgsz好像还是原图片的尺寸

onehahaha756 commented 2 years ago

图片尺寸需要被32整除吧,

发自我的iPhone

------------------ 原始邮件 ------------------ 发件人: yangcyz @.> 发送时间: 2021年12月19日 20:28 收件人: onehahaha756/yolov5_rotation @.> 抄送: onehahaha756 @.>, Comment @.> 主题: Re: [onehahaha756/yolov5_rotation] 训练自己的数据集(w和h不相等),可以训练,但是不可以detect推理,detect报错,维度不一致 (Issue #10)

如果训练图片长宽不一致的话,可能会导致标签转化也有问题。测试的时候,好像有一行check_imgsize代码,那个应该可以解决这个问题。但是,训练图片长宽不一致,可能会造成标签转化出错。

将标签转化也修改了,将detect也修改了一下,读取图片的调用了letterbox这个函数,你之前读图片没有做任何缩放吧,就是原图片是啥,就直接拿过来推理了,即使在detect里边修改imgsz好像还是原图片的尺寸

— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you commented.Message ID: @.***>

yangcyz commented 2 years ago

sz好像还是原 老哥,如果w和h不一样的话,你印象中还有其它地方需要注意的吗,如果w和h不一样的话,我目前就将标签转化和推理的输入图片调整了,标签转化的时候,我是直接将第一个边长/w,第二个边长/h,不知道这样行不行

onehahaha756 commented 2 years ago

我新上传了一个分支latest,修改了训练的代码。但是标签转换的话,需要你自己改。修改的地方就是,xy除的不变,x除以w,y除以h。框的宽高的话除以,图片长宽的最长边。 你可以对比一下latest dataset rotation那个代码的区别。

发自我的iPhone

------------------ 原始邮件 ------------------ 发件人: yangcyz @.> 发送时间: 2021年12月20日 08:36 收件人: onehahaha756/yolov5_rotation @.> 抄送: onehahaha756 @.>, Comment @.> 主题: Re: [onehahaha756/yolov5_rotation] 训练自己的数据集(w和h不相等),可以训练,但是不可以detect推理,detect报错,维度不一致 (Issue #10)

sz好像还是原 老哥,如果w和h不一样的话,你印象中还有其它地方需要注意的吗,如果w和h不一样的话,我目前就将标签转化和推理的输入图片调整了,标签转化的时候,我是直接将第一个边长/w,第二个边长/h,不知道这样行不行

— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you commented.Message ID: @.***>

yangcyz commented 2 years ago

哦哦,我昨天按照你之前的代码,训练了一下,标签转化的时候,框的宽和高都是除以图片对应的宽和高,不是除以图片最长边,训练完了,损失也收敛,目前看val的map还不错,有点晕了,哈哈,是不是我这样训练,标签并不一定框的正确

onehahaha756 commented 2 years ago

xc,yc应该不影响,影响的是框的长宽吧,可能会有点问题。