结合yolov5 7.0热力图可视化
运行main_gradcam.py报错如下:
saliency_map = (weights * activations).sum(1, keepdim=True)
RuntimeError: The size of tensor a (32) must match the size of tensor b (512) at non-singleton dimension 1
原因:这个错误意味着在计算热力图时,权重和激活值的维度不匹配。具体来说,权重张量的第一个维度为32,而激活值张量的第一个维度为512
解决方案:在gradcam.py第73行添加如下代码
for i in range(4):
weights = torch.cat((weights,weights),1)
i += 1
改好之后再运行main_gradcam.py就解决该报错了