@[TOC](在gpu上AttributeError: ‘Tensor‘ object has no attribute ‘bool‘ 和TypeError: sum() received an invalid combination of arguments - got (Tensor, axis=int)错误)
问题描述
在GPU上运行 YOLO v4-pytorch代码,出现上述错误,上述错误为两个错误,分别为第一个错误修改完成后会报第二个错误
第一个错误:AttributeError: ‘Tensor‘ object has no attribute ‘bool‘
ciou = ( 1 - box_ciou( pred_boxes_for_ciou[mask.bool], t_box[mask.bool] ) ) * box_loss_scale[mask.bool]
这个也是版本的问题,将pytorch版本换到1.2.0以上应该就可以解决,不过我的9.0版本的显卡最高也就只能装1.0.1版本,所以心态有点崩,不过最终还是解决了,既然作者用的是新版本的转化方式,那旧版本也应该有旧版本的转化方式,结果查询旧版本的更改方式,然后改为mask.type(torch.bool)就可以了。
ciou = ( 1 - box_ciou( pred_boxes_for_ciou[mask.type(torch.bool)], t_box[mask.type(torch.bool)] ) ) * box_loss_scale[mask.type(torch.bool)]

在GPU上运行YOLO v4-pytorch代码时遇到两个错误:1) 'Tensor' object has no attribute 'bool';2) sum() received an invalid combination of arguments。解决方案分别是:将`mask.bool`替换为`mask.type(torch.bool)`,以及将`axis`关键字替换为`dim`或直接移除。参考了相关博客文章成功解决问题。
最低0.47元/天 解锁文章
7795

被折叠的 条评论
为什么被折叠?



