当前位置: 首页 > 网络应用技术

[27]毕业-CAM的简单逻辑实现和效果显示

时间:2023-03-07 16:36:43 网络应用技术

  如果有错误,请指出。

  通过传播类别C的最后一个预测值的方向,特征层A的梯度信息A'是由向后的特征层A获得的。目前,A'实际上是A.我们的部分指导。相信具有大量梯度信息的部分对于当前类别信息更为重要,因此,在中间,将在渠道上处理梯度信息A',以便在每个重要程度上获得重要程度每个一个。- 处理最终视觉效果的处理,插值和其他方法。

  整个过程可以由以下公式表示:

  一般实施过程中有两个主要问题:

  对于问题1,您可以选择一个特定的卷积层来捕获其信息的流量。核心代码如下:

  对于问题2,因为这是模型的原始预培训参数,也就是说,它只是一个推理过程,没有培训,因此我使用以下方法来实现:

  完整的代码如下所示:

  这里使用GitHub的CAM开源库来获取图片的热图。参考代码如下。有关更多介绍和用法,请参阅参考材料。1。

  效果如下:

  此外,代码编写过程中存在一些错误。这是记录的方法:

  这个问题的出现是因为输入变量未设置梯度,可以增加它

  拉/30531以获取更多信息

  在这里,我需要计算有关输入X的反向梯度信息。由于要定向X需求,因此我只是将其设置为简单。目前,当它运行时,它会在要输出其反向梯度信息信息时出现问题,如上所述。

  这表明不在叶子数量中的.grad属性。它不会在此期间填充其.grad属性。如果您真的想要非叶片张力的梯度,请在非叶片上使用它张量。为此,需要添加以下行:

  然后,在看到其他博客作者的代码后,也可以运行以下代码:

  是的,如果您需要第二次向后浏览图,或者您需要在向后呼叫后需要接受变量。

  这个错误是我想同时查看y [0]和y [1]方向的梯度信息,但是当释放第二个遍历时,变量已发布,因此您需要保存中间参数。请指定。解决方案如下:

  从上述代码更改为;

  参考资料:

  原始:https://juejin.cn/post/7101658204114780167