-
Notifications
You must be signed in to change notification settings - Fork 621
Description
Prerequisite
- I have searched the existing and past issues but cannot get the expected help.
- I have read the FAQ documentation but cannot get the expected help.
- The bug has not been fixed in the latest version.
🐞 Describe the bug
当使用mmyolo/demo下的boxam_vis_demo.py文件在mmdetection框架上进行可视化时,例如对于fcos模型,由于其采用resnet+fpn的结构,因此--target-layers 设置为neck.fpn_convs[4]时,使用gradcam方法会出现以下Nonetype的错误:
Traceback (most recent call last):
File "demo/boxam_vis_demo.py", line 276, in
main()
File "demo/boxam_vis_demo.py", line 239, in main
grayscale_boxam = boxam_detector_visualizer(image, targets=targets)
File "/home/lpf/mmyolo/mmyolo/utils/boxam_utils.py", line 287, in call
return self.cam(img, targets, aug_smooth, eigen_smooth)[0, :]
File "/home/lpf/anaconda3/envs/mmyolo/lib/python3.8/site-packages/pytorch_grad_cam/base_cam.py", line 209, in call
return self.forward(input_tensor, targets, eigen_smooth)
File "/home/lpf/anaconda3/envs/mmyolo/lib/python3.8/site-packages/pytorch_grad_cam/base_cam.py", line 109, in forward
loss = sum([target(output) for target, output in zip(targets, outputs)])
File "/home/lpf/anaconda3/envs/mmyolo/lib/python3.8/site-packages/pytorch_grad_cam/base_cam.py", line 109, in
loss = sum([target(output) for target, output in zip(targets, outputs)])
File "/home/lpf/mmyolo/mmyolo/utils/boxam_utils.py", line 434, in call
loss_key in self.ignore_loss_params:
TypeError: argument of type 'NoneType' is not iterable
如果将可视化方法改为ablationcam,则不会报错,可以运行,但结果只有检测框,没有热图显示
Environment
当使用mmyolo/demo下的boxam_vis_demo.py文件在mmdetection框架上进行可视化时,例如对于fcos模型,由于其采用resnet+fpn的结构,因此--target-layers 设置为neck.fpn_convs[4]时,使用gradcam方法会出现以下Nonetype的错误:
Traceback (most recent call last):
File "demo/boxam_vis_demo.py", line 276, in
main()
File "demo/boxam_vis_demo.py", line 239, in main
grayscale_boxam = boxam_detector_visualizer(image, targets=targets)
File "/home/lpf/mmyolo/mmyolo/utils/boxam_utils.py", line 287, in call
return self.cam(img, targets, aug_smooth, eigen_smooth)[0, :]
File "/home/lpf/anaconda3/envs/mmyolo/lib/python3.8/site-packages/pytorch_grad_cam/base_cam.py", line 209, in call
return self.forward(input_tensor, targets, eigen_smooth)
File "/home/lpf/anaconda3/envs/mmyolo/lib/python3.8/site-packages/pytorch_grad_cam/base_cam.py", line 109, in forward
loss = sum([target(output) for target, output in zip(targets, outputs)])
File "/home/lpf/anaconda3/envs/mmyolo/lib/python3.8/site-packages/pytorch_grad_cam/base_cam.py", line 109, in
loss = sum([target(output) for target, output in zip(targets, outputs)])
File "/home/lpf/mmyolo/mmyolo/utils/boxam_utils.py", line 434, in call
loss_key in self.ignore_loss_params:
TypeError: argument of type 'NoneType' is not iterable
如果将可视化方法改为ablationcam,则不会报错,可以运行,但结果只有检测框,没有热图显示
Additional information
No response