COMPMID-647: Exclude padding pixels from averaging factor.
Adds support for excluding the padding pixels from the average scaling
factor calculation.
Change-Id: Ia13fbfeae235aff564db74191613921848231a01
Reviewed-on: http://mpd-gerrit.cambridge.arm.com/93715
Reviewed-by: Robert Hughes <robert.hughes@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
diff --git a/arm_compute/core/Types.h b/arm_compute/core/Types.h
index e567bac..e8be612 100644
--- a/arm_compute/core/Types.h
+++ b/arm_compute/core/Types.h
@@ -545,9 +545,15 @@
* @param[in] pool_type Pooling type @ref PoolingType. Defaults to @ref PoolingType::MAX
* @param[in] pool_size (Optional) Pooling size, in elements, across x and y. Defaults to 2.
* @param[in] pad_stride_info (Optional) Padding and stride information @ref PadStrideInfo
+ * @param[in] exclude_padding (Optional) Strategy when accounting padding in calculations.
+ * True will exclude padding while false will not (Used in AVG/L2 pooling to determine the pooling area).
+ * Defaults to false;
*/
- PoolingLayerInfo(PoolingType pool_type = PoolingType::MAX, unsigned int pool_size = 2, PadStrideInfo pad_stride_info = PadStrideInfo())
- : _pool_type(pool_type), _pool_size(pool_size), _pad_stride_info(pad_stride_info)
+ PoolingLayerInfo(PoolingType pool_type = PoolingType::MAX,
+ unsigned int pool_size = 2,
+ PadStrideInfo pad_stride_info = PadStrideInfo(),
+ bool exclude_padding = false)
+ : _pool_type(pool_type), _pool_size(pool_size), _pad_stride_info(pad_stride_info), _exclude_padding(exclude_padding)
{
}
PoolingType pool_type() const
@@ -562,11 +568,16 @@
{
return _pad_stride_info;
}
+ bool exclude_padding() const
+ {
+ return _exclude_padding;
+ }
private:
PoolingType _pool_type;
unsigned int _pool_size;
PadStrideInfo _pad_stride_info;
+ bool _exclude_padding;
};
/** ROI Pooling Layer Information class */