在 captum 中调用模型层的名称时出现语法错误

Syntax Error when calling the name of a model's layer in captum

我正在尝试将 captum 的 gradCAM 功能用于 PyTorch。之前,我问过如何在 pyTorch 中查找图层名称的问题(使用 model.named_modules() 完成)。但是,自从获得模块名称(我的模型名称是 'model')后,我尝试将它与来自 captum 的 LayerGradCam 一起使用,但收到语法错误 - 它似乎总是发生在 'number' 内型号名称。

我导入函数:

from captum.attr import LayerGradCam

我有点 Python 新手,所以我尝试同时调用:

layer_gc = LayerGradCam(segmentation_wrapper, model.dl.backbone.layer4.2.conv3)

和:

layer_gc = captum.attr.LayerGradCam(segmentation_wrapper, model.dl.backbone.layer4.2.conv3)

我收到的错误信息是:

  File "gradCAM.py", line 120
    layer_gc = LayerGradCam(segmentation_wrapper, model.dl.backbone.layer4.2.conv3)
                                                                           ^
SyntaxError: invalid syntax

这真是难倒我了,所以感谢任何帮助!提前致谢:)

数组或列表索引是使用 [] 语法完成的,而不是 .

model.dl.backbone.layer4[2]conv3