关于CAM热力图报错:AttributeError: ‘tuple‘ object has no attribute ‘cpu‘

在使用CAM进行深度学习模型可视化时遇到错误:AttributeError:'tuple' object has no attribute 'cpu'。通过检查代码发现第65行的问题,原因是output变量变成了元组格式。通过调整代码,将元组内容提取并替换,成功解决了问题。提供了解决此问题的自定义模型读取检查点和生成热图的代码示例。
摘要由CSDN通过智能技术生成

今天调用CAM生成热图时碰到了一个问题具体是这行代码报错(完整的heatmap代码最后放出来):cam = GradCAM(model=Local_Branch_model, target_layer=target_layer, use_cuda=False)每次执行就报下面这个错误。
错误日志

修改第65行代码,发现传入的output变成了元组格式,因此获取其内容替换一下就行了,出现原因还不太清楚。
下面放上自定义模型读取检查点,并生成热图的代码:

# copy from https://github.com/jacobgil/pytorch-grad-cam/blob/master/cam.py

# 对单个图像可视化
from pytorch_grad_cam import GradCAM, ScoreCAM, GradCAMPlusPlus, AblationCAM, XGradCAM, EigenCAM
from pytorch_grad_cam.utils.image import show_cam_on_image, \
    deprocess_image, \
    preprocess_image
from torchvision.models import resnet50
import cv2
import numpy as np
import os
from utils.Densenet import Densenet121_AG, Fusion_Branch, resnet_CA_instance

CKPT_PATH_G = 'E:/chuan/CODE/AG-CNN-master/CAD_models/AG_CNN_Global_epoch_69.pkl'
CKPT_PATH_L = 'E:/chuan/CODE/AG-CNN-master/CAD_models/AG_CNN_Local_epoch_69.pkl'
CKPT_PATH_F = 'E:/chuan/CODE/AG-CNN-master/CAD_models/AG_CNN_Fusion_epoch_69.pkl'
import torch

os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"

# 1.加载模型
# model = resnet50(pretrained
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值