Pooling Kernels Group¶
The Pooling Group describes operations which divide input features into sub-frames and applies a function with scalar output on each of them. Generally, this results in a feature map with reduced, withheld, or emphasized key features.
Functions in this group use the mli_pool_cfg
structure, defined as:
typedef struct {
uint8_t kernel_width;
uint8_t kernel_height;
uint8_t stride_width;
uint8_t stride_height;
uint8_t padding_left;
uint8_t padding_right;
uint8_t padding_top;
uint8_t padding_bottom;
} mli_pool_cfg;
Field name |
Type |
Description |
---|---|---|
|
|
Width of the pooling kernel. |
|
|
Height of the pooling kernel. |
|
|
Stride of filter across width dimension of input; is the step in the input tensor in the width dimension to the next filter. |
|
|
Stride of filter across height dimension of input; is the step in the input tensor in the height dimension to the next filter. |
|
|
Number of zero points implicitly added to the left of input (width dimension) |
|
|
Number of zero points implicitly added to the right of input (width dimension) |
|
|
Number of zero points implicitly added to the top of input (height dimension) |
|
|
Number of zero points implicitly added to the bottom of input (height dimension) |
For all kernels in this group, spatial dimensions of
in
and out
tensors (Width and Height) must comply with the following
system of equations:
Where:
\(\hat{Wi}\), \(\hat{Hi}\) - effective
in
feature map width and height after applying \(padding\_*\) to the original width (\(Wi\)) and height (\(Hi\)).\(Wo\), \(Ho\) -
out
feature map width and height.