【发布时间】:2020-04-09 10:34:43
【问题描述】:
我了解类激活图的定义以及如何在 Numpy 中生成它。 但是,我不确定如何在 TensorFlow 中计算它,尤其是在 batch_size 维度未知的情况下。
目前,我已经获得了我最后一个卷积层“激活”的激活。 GAP后最后一个全连接层的权重矩阵为“last_fc_w”。
我想像这样计算类激活图:
cam = tf.matmul(activation, last_fc_w)
但是,我收到以下错误: *** ValueError:形状必须为 2 级,但对于输入形状为 [?,10,10,576]、[576,2] 的“MatMul”(操作:“MatMul”)为 4 级。
激活张量的形状是 [?,10,10,576],其中 ?是 batch_size 维度。 全连接层权重的形状为[576, 2],其中2为类数,576为最后一个卷积层的通道数。
预期的输出将是一个大小为 [?, 10,10,2] 的张量,这是这 2 个类的类激活图。谁能提供一些关于如何实现这一目标的指导?
【问题讨论】:
-
你在尝试哪个 TF 版本?
-
@thushv89 我目前使用的是 1.13.1。
标签: tensorflow deep-learning computer-vision conv-neural-network