微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

训练定制模型

如何解决训练定制模型

我正在尝试在yolov5上训练我的数据集,如github上的文档中所讨论的那样对数据进行了归一化,但是我总是遇到此错误

              from  n    params  module                                  arguments                     
  0             -1  1      8800  models.common.Focus                     [3,80,3]                    
  1             -1  1    115520  models.common.Conv                      [80,160,3,2]               
  2             -1  1    315680  models.common.BottleneckCSP             [160,4]                 
  3             -1  1    461440  models.common.Conv                      [160,320,2]              
  4             -1  1   3311680  models.common.BottleneckCSP             [320,12]                
  5             -1  1   1844480  models.common.Conv                      [320,640,2]              
  6             -1  1  13228160  models.common.BottleneckCSP             [640,12]                
  7             -1  1   7375360  models.common.Conv                      [640,1280,2]             
  8             -1  1   4099840  models.common.SPP                       [1280,[5,9,13]]      
  9             -1  1  20087040  models.common.BottleneckCSP             [1280,4,False]        
 10             -1  1    820480  models.common.Conv                      [1280,1,1]             
 11             -1  1         0  torch.nn.modules.upsampling.Upsample    [None,2,'nearest']          
 12        [-1,6]  1         0  models.common.Concat                    [1]                           
 13             -1  1   5435520  models.common.BottleneckCSP             [1280,False]         
 14             -1  1    205440  models.common.Conv                      [640,1]              
 15             -1  1         0  torch.nn.modules.upsampling.Upsample    [None,'nearest']          
 16        [-1,4]  1         0  models.common.Concat                    [1]                           
 17             -1  1   1360960  models.common.BottleneckCSP             [640,False]          
 18             -1  1    922240  models.common.Conv                      [320,2]              
 19       [-1,14]  1         0  models.common.Concat                    [1]                           
 20             -1  1   5025920  models.common.BottleneckCSP             [640,False]          
 21             -1  1   3687680  models.common.Conv                      [640,2]              
 22       [-1,10]  1         0  models.common.Concat                    [1]                           
 23             -1  1  20087040  models.common.BottleneckCSP             [1280,False]        
 24   [17,20,23]  1         0  models.yolo.Detect                      [3,[[10,13,16,30,33,23],[30,61,62,45,59,119],[116,90,156,198,373,326]]]
Traceback (most recent call last):
  File "train.py",line 404,in <module>
    train(hyp)
  File "train.py",line 80,in train
    model = Model(opt.cfg).to(device)
  File "/content/yolov5/models/yolo.py",line 62,in __init__
    m.stride = torch.tensor([128 / x.shape[-2] for x in self.forward(torch.zeros(1,ch,128,128))])  # forward
  File "/content/yolov5/models/yolo.py",line 90,in forward
    return self.forward_once(x,profile)  # single-scale inference,train
  File "/content/yolov5/models/yolo.py",line 107,in forward_once
    x = m(x)  # run
  File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py",line 550,in __call__
    result = self.forward(*input,**kwargs)
  File "/content/yolov5/models/yolo.py",line 26,in forward
    x[i] = x[i].view(bs,self.na,self.no,ny,nx).permute(0,2).contiguous()
RuntimeError: shape '[1,8,16]' is invalid for input of size 81920

这些是使用的标志

!python train.py --img 1024 --batch 4 --epochs 30 \
  --data ./data/mask.yaml --cfg ./models/yolov5x.yaml --weights yolov5x.pt \
   --cache --name maskmodel

这是文件结构

enter image description here

解决方法

对于面临同样问题的任何人,我在拆分数据进行培训和验证时都发现了我的问题,请确保您选择了种子。此外,当规范yolov5输入的文件时,请确保它们的ID为数字,且其中没有文本。谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。