TFJS 中的 GradCam 实现
2019-04-11
520
我正在尝试在 tfjs 中实现 GradCam( https://arxiv.org/pdf/1610.02391.pdf ),基于以下 Keras 教程( http://www.hackevolve.com/where-cnn-is-looking-grad-cam/ )和来自 tfjs 的简单图像分类演示,类似于( https://github.com/tensorflow/tfjs-examples/blob/master/webcam-transfer-learning/index.js ),最后有一个简单的密集全连接层。
但是,我无法检索 gradcam 计算所需的梯度。我尝试了不同的方法来检索最后一个连续层的梯度,但没有成功,因为来自相应层的 tf.LayerVariable 类型不能转换为相应类型的 tf.grads 或 tf.layerGrads。
有没有人已经成功地将梯度从连续层转移到类似 tf.function 的对象?
2个回答
我不清楚具体实现细节,但我认为类似这样的代码: http://jlin.xyz/advis/ 就是你要找的?
源代码可以在这里找到: https://github.com/jaxball/advis.js (不是我的!)
BMcFadyen
2019-04-11
tfjs-examples repo 中的这个官方示例应该接近(即使不完全)您想要的:
https://github.com/tensorflow/tfjs-examples/blob/master/visualize-convnet/cam.js#L49
Shanqing Cai
2019-04-27