首页 > 解决方案 > 如何在tensorflow中实现Region of Interest Pooling层?

问题描述

我正在尝试创建 Faster RCNN 之类的模型。当涉及到特征图的 ROI 池时,我陷入了困境。我知道这里可以使用双线性采样,但它可能对端到端训练没有帮助。如何在 tensorflow 中实现这个 ROI 池化层?

标签: pythontensorflowneural-networkartificial-intelligence

解决方案


双线性采样——顾名思义——实际上甚至可以用于端到端训练,因为它基本上是一个线性操作。但是,缺点是您的局部最大值(即强激发或某些单位)可能会消失,因为您的采样点恰好接近最小值。为了解决这个问题,您可以改为应用max_pool(features, kernel, stride)调整内核和步幅的操作,以使该最大池操作的最终输出始终具有相同的维度。

一个例子:你的特征有大小12x12,你想汇集到4x4,然后设置kernel=(3,3)stride=(3,3)帮助你实现这一点,对于每个3x3补丁,相应特征图中最强的激励将包含在输出中。


推荐阅读