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

如何在运行 Ultralytic yolo 模型时修复运行时错误?

如何解决如何在运行 Ultralytic yolo 模型时修复运行时错误?

我想为 YOLO 生成分析,我正在使用 yolo.pyultralytics/yolov5 他们已经预先构建了所有内容来运行分析,从而获得每一层的延迟。

所以我运行以下命令来获取输出

import torch
import torchvision

device = torch.device("cuda:0")

model = torch.hub.load('ultralytics/yolov5','yolov5s',force_reload=True)

img = torch.rand(8 if torch.cuda.is_available() else 1,3,320,320).to(device) 
y = model(img,profile=True)

所以当我运行它时,我得到以下运行时错误和一些输出

time (ms)     GFLOPS     params  module
      1.25       1.44       3520  models.common.Focus
      0.66       1.90      18560  models.common.Conv
      1.72       1.93      18816  models.common.C3
      0.46       1.89      73984  models.common.Conv
      1.95       4.02     156928  models.common.C3
      0.33       1.89     295424  models.common.Conv
      1.31       4.00     625152  models.common.C3
      0.39       1.89    1180672  models.common.Conv
      0.68       1.05     656896  models.common.SPP
      0.69       1.89    1182720  models.common.C3
      0.20       0.21     131584  models.common.Conv
      0.05       0.00          0  torch.nn.modules.upsampling.Upsample
      0.06       0.00          0  models.common.Concat
      0.70       2.32     361984  models.common.C3
      0.17       0.21      33024  models.common.Conv
      0.06       0.00          0  torch.nn.modules.upsampling.Upsample
      0.10       0.00          0  models.common.Concat
      0.80       2.33      90880  models.common.C3
      0.27       0.95     147712  models.common.Conv
      0.03       0.00          0  models.common.Concat
      0.68       1.90     296448  models.common.C3
      0.26       0.94     590336  models.common.Conv
      0.03       0.00          0  models.common.Concat
      0.60       1.89    1182720  models.common.C3
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-7-f21874f58c27> in <module>()
      1 img = torch.rand(8 if torch.cuda.is_available() else 1,320).to(device)
----> 2 y = model(img,profile=True)

10 frames
/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py in _call_impl(self,*input,**kwargs)
    887             result = self._slow_forward(*input,**kwargs)
    888         else:
--> 889             result = self.forward(*input,**kwargs)
    890         for hook in itertools.chain(
    891                 _global_forward_hooks.values(),/usr/local/lib/python3.7/dist-packages/torch/autograd/grad_mode.py in decorate_context(*args,**kwargs)
     25         def decorate_context(*args,**kwargs):
     26             with self.__class__():
---> 27                 return func(*args,**kwargs)
     28         return cast(F,decorate_context)
     29 

/root/.cache/torch/hub/ultralytics_yolov5_master/models/common.py in forward(self,imgs,size,augment,profile)
    253         if isinstance(imgs,torch.Tensor):  # torch
    254             with amp.autocast(enabled=p.device.type != 'cpu'):
--> 255                 return self.model(imgs.to(p.device).type_as(p),profile)  # inference
    256 
    257         # Pre-process

/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py in _call_impl(self,/root/.cache/torch/hub/ultralytics_yolov5_master/models/yolo.py in forward(self,x,profile)
    122             return torch.cat(y,1),None  # augmented inference,train
    123         else:
--> 124             return self.forward_once(x,profile)  # single-scale inference,train
    125 
    126     def forward_once(self,profile=False):

/root/.cache/torch/hub/ultralytics_yolov5_master/models/yolo.py in forward_once(self,profile)
    134                 t = time_synchronized()
    135                 for _ in range(10):
--> 136                     _ = m(x)
    137                 dt.append((time_synchronized() - t) * 100)
    138                 if m == self.model[0]:

/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py in _call_impl(self,x)
     44         self.training |= self.export
     45         for i in range(self.nl):
---> 46             x[i] = self.m[i](x[i])  # conv
     47             bs,_,ny,nx = x[i].shape  # x(bs,255,20,20) to x(bs,85)
     48             x[i] = x[i].view(bs,self.na,self.no,nx).permute(0,1,4,2).contiguous()

/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py in _call_impl(self,/usr/local/lib/python3.7/dist-packages/torch/nn/modules/conv.py in forward(self,input)
    397 
    398     def forward(self,input: Tensor) -> Tensor:
--> 399         return self._conv_forward(input,self.weight,self.bias)
    400 
    401 class Conv3d(_ConvNd):

/usr/local/lib/python3.7/dist-packages/torch/nn/modules/conv.py in _conv_forward(self,input,weight,bias)
    394                             _pair(0),self.dilation,self.groups)
    395         return F.conv2d(input,bias,self.stride,--> 396                         self.padding,self.groups)
    397 
    398     def forward(self,input: Tensor) -> Tensor:

RuntimeError: Expected 4-dimensional input for 4-dimensional weight [255,128,1],but got 5-dimensional input of size [8,40,85] instead

你能告诉我如何才能无错误地获得这个输出吗? 要接收的输出

 time (ms)     GFLOPS     params  module
      0.93       1.44       3520  models.common.Focus
      0.52       1.90      18560  models.common.Conv
      1.31       1.93      18816  models.common.C3
      0.38       1.89      73984  models.common.Conv
      1.58       4.02     156928  models.common.C3
      0.37       1.89     295424  models.common.Conv
      1.48       4.00     625152  models.common.C3
      0.51       1.89    1180672  models.common.Conv
      0.79       1.05     656896  models.common.SPP
      0.98       1.89    1182720  models.common.C3
      0.18       0.21     131584  models.common.Conv
      0.03       0.00          0  torch.nn.modules.upsampling.Upsample
      0.05       0.00          0  models.common.Concat
      0.87       2.32     361984  models.common.C3
      0.16       0.21      33024  models.common.Conv
      0.05       0.00          0  torch.nn.modules.upsampling.Upsample
      0.09       0.00          0  models.common.Concat
      0.81       2.33      90880  models.common.C3
      0.35       0.95     147712  models.common.Conv
      0.03       0.00          0  models.common.Concat
      0.80       1.90     296448  models.common.C3
      0.35       0.94     590336  models.common.Conv
      0.03       0.00          0  models.common.Concat
      1.04       1.89    1182720  models.common.C3
      0.69       1.47     229245  Detect
14.4 ms total

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