pytorch 钩子函数未执行

pytorch hook function is not executed

我可以知道为什么 pytorch hook function 不起作用吗?

您可能想要使用 torch.nn.Module.named_modules instead of torch.nn.Module.named_children。后者只会 return 直接子模块。在您的情况下,graph 的直接子级是 cells,因此您不会在 cells 定义的层内循环模块在 ModuleList.

里面

或者使用 named_modules:

for name, module in graph.named_modules()
    pass

或直接在graph.cells上使用named_children

for name, module in graph.cells.named_children():
    pass

但是,如果您决定向 Graph 添加额外的子模块,则后一种选择将无法扩展。