17#ifndef LUCI_INTERPRETER_KERNELS_CONVOLUTIONCOMMON_H
18#define LUCI_INTERPRETER_KERNELS_CONVOLUTIONCOMMON_H
27 circle::Padding padding, int32_t stride, int32_t dilation,
int axis);
30 const circle::Tensor *filter,
31 const circle::Tensor *output,
32 const circle::Conv2DOptions *options);
46 const auto input_index = cur_op->inputs()->operator[](0);
47 const auto filter_index = cur_op->inputs()->operator[](1);
48 const auto bias_index = cur_op->inputs()->operator[](2);
49 const auto output_index = cur_op->outputs()->operator[](0);
51 assert(input_index != -1);
52 assert(filter_index != -1);
53 assert(output_index != -1);
60 assert(_input_tensor !=
nullptr);
61 assert(_filter_tensor !=
nullptr);
64 const circle::Tensor *
input()
const {
return _input_tensor; }
65 const circle::Tensor *
filter()
const {
return _filter_tensor; }
66 const circle::Tensor *
bias()
const {
return _bias_tensor; }
67 const circle::Tensor *
output()
const {
return _output_tensor; }
72 const circle::Tensor *_input_tensor;
73 const circle::Tensor *_filter_tensor;
74 const circle::Tensor *_bias_tensor;
75 const circle::Tensor *_output_tensor;
const circle::Tensor * getCircleTensorByIndex(int32_t index)
const circle::Tensor * output() const
DownsamplingConv2DKernel()=delete
const circle::Tensor * input() const
const circle::Tensor * filter() const
DownsamplingConv2DKernel(const circle::Operator *cur_op, BaseRuntimeGraph *runtime_graph)
BaseRuntimeGraph * runtime_graph() const
const circle::Tensor * bias() const
luci_interpreter_pal::ConvParams createConv2DParams(const circle::Tensor *input, const circle::Tensor *filter, const circle::Tensor *output, const circle::Conv2DOptions *options)
int32_t computeConvPadding(const circle::Tensor *input, const circle::Tensor *filter, circle::Padding padding_type, int32_t stride, int32_t dilation, int axis)
This file contains utility macro.