20#include "kernels/Utils.h"
22#include "PALL2Pool2D.h"
49 int out_width, out_height;
59 output()->
resize({batches, out_height, out_width, channels_out});
64 switch (
input()->element_type())
66 case DataType::FLOAT32:
67 float activation_min, activation_max;
69 tflite::PoolParams op_params;
74 op_params.padding_values.height = _padding_height;
75 op_params.padding_values.width = _padding_width;
76 op_params.float_activation_min = activation_min;
77 op_params.float_activation_max = activation_max;
80 getTensorData<float>(
output()));
83 throw std::runtime_error(
"luci-intp L2Pool2D Unsupported type.");
const Pool2DParams & params() const
void resize(const Shape &new_shape)
const Shape & shape() const
const Tensor * input() const
void execute() const override
L2Pool2D(const Tensor *input, Tensor *output, const Pool2DParams ¶ms)
void configure() override
#define LUCI_INTERPRETER_CHECK(cond)
int32_t computePadding(int32_t stride, int32_t dilation_rate, int32_t in_size, int32_t filter_size, int32_t out_size)
tflite::RuntimeShape getTensorShape(const Tensor *tensor)
void calculateActivationRange(Activation activation, T *activation_min, T *activation_max)
int32_t computeOutputSize(Padding padding, int32_t image_size, int32_t filter_size, int32_t stride, int32_t dilation_rate=1)