【发布时间】:2021-04-05 09:31:51
【问题描述】:
我正在尝试实现 grad-camm 算法:
https://arxiv.org/pdf/1610.02391.pdf
我的论点是:
激活:形状为torch.Size([1, 512, 14, 14])的张量
alpha 值:形状为 torch.Size([512]) 的张量
我想在每个对应的 alpha 值中乘以每个激活(维度索引 1(大小为 512)):例如,如果激活中 512 中的第 i 个索引是 4,并且第 i 个 alpha 值是5,那么我新的第 i 个激活值将是 20。
输出的形状应该是torch.Size([1, 512, 14, 14])
【问题讨论】:
-
感谢您取消删除此帖子(您现在可以删除新帖子..)。欢迎来到 Stack Overflow John。如果您觉得答案不适合您的问题,您不应该只是删除整个内容来创建完全相同的副本。对于那些花时间回答的人来说,这是相当粗鲁的!如果以下答案不适合您,请编辑您的问题。
-
我现在尝试编辑它。非常感谢!
-
你能告诉我从下面使用
x和y时想要的输出吗(从0到15的范围)。 -
我们遍历提取特征的每个特征图(每个通道),并将其乘以计算的 alpha。特征图是索引 1(大小为 512)中的激活张量中包含的数字,因此据我所知,我们应该从算法中获取这些数字,并将它们与 alpha 值上的相应标量相乘。
-
我开始认为我做错了,而你做对了,但你的代码甚至没有为我编译。我怎样才能让它工作?正如我所说,我有两个张量,x(4 维)和 y(1 维),输出也应该是 4 维。谢谢!