关于YOLOv7加入ACmix注意力机制

本人用YOLOv7加入ACmix注意力机制进行目标检测训练时遇到问题如下问题,在git上也发了问题,开始不知道如何解决,后受到以下博主的debug启发RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.cuda.HalfTensor) should be._XC___XC的博客-CSDN博客ACmix如何加入就不介绍了,下面放遇到的报错:

`Traceback (most recent call last):
  File "/home/liu/桌面/zwx/YOLOv7-main/train.py", line 613, in <module>
    train(hyp, opt, device, tb_writer)
  File "/home/liu/桌面/zwx/YOLOv7-main/train.py", line 415, in train
    results, maps, times = test.test(data_dict,
  File "/home/liu/桌面/zwx/YOLOv7-main/test.py", line 110, in test
    out, train_out = model(img, augment=augment)  # inference and training outputs
  File "/home/liu/anaconda3/envs/yolo-torch2/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/liu/桌面/zwx/YOLOv7-main/models/yolo.py", line 320, in forward
    return self.forward_once(x, profile)  # single-scale inference, train
  File "/home/liu/桌面/zwx/YOLOv7-main/models/yolo.py", line 346, in forward_once
    x = m(x)  # run
  File "/home/liu/anaconda3/envs/yolo-torch2/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/liu/桌面/zwx/YOLOv7-main/models/common.py", line 530, in forward
    pe = self.conv_p(position(h, w, x.is_cuda))
  File "/home/liu/anaconda3/envs/yolo-torch2/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/liu/anaconda3/envs/yolo-torch2/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 463, in forward
    return self._conv_forward(input, self.weight, self.bias)
  File "/home/liu/anaconda3/envs/yolo-torch2/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 459, in _conv_forward
    return F.conv2d(input, weight, bias, self.stride,
RuntimeError: Input type (float) and bias type (c10::Half) should be the `same`

意思是说 type不同,输入type是float32 ,而bias的type是16。

解决方法:将YOLOv7的 test.py(不是train.py)中第40行处的 half_precision = true参数改为False, 

我认为设置为False 就是  不进行半精度的运算

  • 9
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 23
    评论
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江月年年只相似Xuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值