17#ifndef __ONERT_GRAPH_SHAPE_INFERENCE_H__
18#define __ONERT_GRAPH_SHAPE_INFERENCE_H__
36namespace shape_inference
39using Shapes = std::vector<ir::Shape>;
49 const int32_t *cluster_buf);
52 const int32_t *cluster_buf,
int rank,
87 const int32_t shape_num_elements);
97 const int32_t output_width);
106 const ir::Shape &padding_shape,
const int32_t *block_shape_buf,
107 const int32_t *padding_buf);
131 const uint32_t begin_mask,
const uint32_t end_mask,
132 const uint32_t shrink_axis_mask,
const uint8_t rank);
138 const int32_t multiplier_size);
ir::Shape inferFillShape(const ir::Shape &fill_shape, const T *shape_buf)
ir::Shape inferExpandDimsShape(const ir::Shape &in_shape, int32_t axis)
ir::Shape inferReduceShape(const ir::Shape &input_shape, const std::vector< int > &axes, bool keep_dims)
ir::Shape inferSelectShape(const ir::Shape &input_cond_shape, const ir::Shape &input_true_shape, const ir::Shape &input_false_shape)
ir::Shape inferBCQGatherShape(const ir::Shape &indices_shape, const ir::Shape &cluster_shape, const int32_t *cluster_buf, int rank, const ir::operation::BCQGather::Param ¶m)
ir::Shape inferSpaceToBatchNDShape(const ir::Shape &input_shape, const ir::Shape &block_shape_shape, const ir::Shape &padding_shape, const int32_t *block_shape_buf, const int32_t *padding_buf)
ir::Shape inferGatherShape(const ir::Shape &input_shape, const ir::Shape &indices_shape, int axis, int rank)
ir::Shape inferPackShape(const ir::Shape &input_shape, int axis, int rank, int num)
std::vector< ir::Shape > Shapes
ir::Shape inferEltwiseShape(const ir::Shape &lhs_shape, const ir::Shape &rhs_shape)
ir::Shape inferConcatShape(const Shapes &in_shapes, const ir::operation::Concat::Param ¶m)
ir::Shape inferReshapeShape(const ir::Shape &input_shape, const int32_t *shape_buf, const int32_t shape_num_elements)
ir::Shape inferDepthwiseConv2DShape(const ir::Shape &in_shape, const ir::Shape &ker_shape, const ir::operation::DepthwiseConv2D::Param ¶m)
ir::Shape inferUnpackShape(const ir::Shape &input_shape, int axis, int rank)
ir::Shape inferResizeBilinearShape(const ir::Shape &in_shape, const int32_t output_height, const int32_t output_width)
ir::Shape inferPadShape(const ir::Shape &in_shape, const int32_t *pad_buf, const size_t num_pads)
ir::Shape inferSliceShape(const ir::Shape &input_shape, const T *begins_buf, const T *sizes_buf)
ir::Shape inferRangeShape(T start_val, T limit_val, T delta_val)
ir::Shape inferTileShape(const ir::Shape &in_shape, const int32_t *multiplier_buf, const int32_t multiplier_size)
ir::Shape inferSplitShape(const ir::Shape input_shape, int axis_value, int num_splits)
ir::Shape inferBroadcastToShape(const ir::Shape shp_shape, const int32_t *shp_buf)
ir::Shape inferFullyConnectedShape(const ir::Shape &in_shape, const ir::Shape &ker_shape)
ir::Shape inferPoolShape(const ir::Shape &in_shape, const ir::operation::Pool2D::Param ¶m)
ir::Shape inferArgMinMaxShape(const ir::Shape &input_shape, int axis, int rank)
ir::Shape inferTransposeShape(const ir::Shape &in_shape, const int32_t *perm_buf, const int32_t rank)
ir::Shape inferBatchMatMulShape(const ir::Shape &lhs_shape, const ir::Shape &rhs_shape, const ir::operation::BatchMatMul::Param ¶m)
ir::Shape inferOnehotShape(const ir::Shape &input_shape, const int depth, int axis)
StridedSliceParams buildStridedSliceParams(const T *begin, const T *end, const T *strides, const uint32_t begin_mask, const uint32_t end_mask, const uint32_t shrink_axis_mask, const uint8_t rank)
ir::Shape inferBCQFullyConnectedShape(const ir::Shape &in_shape, const ir::Shape &cluster_shape, const int32_t *cluster_buf)
ir::Shape inferStridedSliceShape(const ir::Shape &input_shape, const StridedSliceParams &op_params, uint32_t rank)
ir::Shape inferConv2DShape(const ir::Shape &in_shape, const ir::Shape &ker_shape, const ir::operation::Conv2D::Param ¶m)
ir::Shape inferSqueezeShape(const ir::Shape &in_shape, const ir::operation::Squeeze::Param ¶m)
This file contains utility macro.
int8_t stop_indices_count
int8_t start_indices_count