ONE - On-device Neural Engine
Loading...
Searching...
No Matches
Pooling.h File Reference
#include "Shape.h"
#include <cstdint>

Go to the source code of this file.

Functions

bool genericPoolingPrepare (const Shape &input, int32_t padding_left, int32_t padding_right, int32_t padding_top, int32_t padding_bottom, int32_t stride_width, int32_t stride_height, int32_t filter_width, int32_t filter_height, Shape *output)
 

Function Documentation

◆ genericPoolingPrepare()

bool genericPoolingPrepare ( const Shape input,
int32_t  padding_left,
int32_t  padding_right,
int32_t  padding_top,
int32_t  padding_bottom,
int32_t  stride_width,
int32_t  stride_height,
int32_t  filter_width,
int32_t  filter_height,
Shape output 
)

Definition at line 23 of file Pooling.cpp.

27{
28 ASSERT(getNumberOfDimensions(input) == 4);
29
30 uint32_t batches = getSizeOfDimension(input, 0);
31 uint32_t width = getSizeOfDimension(input, 2);
32 uint32_t height = getSizeOfDimension(input, 1);
33 uint32_t channels_out = getSizeOfDimension(input, 3);
34
35 uint32_t outWidth =
36 computeOutSize(width, filter_width, stride_width, padding_left, padding_right);
37 uint32_t outHeight =
38 computeOutSize(height, filter_height, stride_height, padding_top, padding_bottom);
39
40 output->type = input.type;
41 output->dimensions = {batches, outHeight, outWidth, channels_out};
42 return true;
43}
uint32_t computeOutSize(uint32_t imageSize, uint32_t filterSize, uint32_t stride, uint32_t paddingHead, uint32_t paddingTail)
Definition Spatial.h:23
#define ASSERT(v)
Definition Assert.h:24
uint32_t getSizeOfDimension(const Shape &shape, uint32_t dimensionIdx)
Definition Shape.cpp:60
uint32_t getNumberOfDimensions(const Shape &shape)
Definition Shape.cpp:58

References ASSERT, computeOutSize(), getNumberOfDimensions(), and getSizeOfDimension().

Referenced by averagePoolPrepare(), and maxPoolPrepare().