昇腾社区首页
中文
注册

简介

InferShapeRangeContext继承自ExtendedKernelContext,主要用于获取算子的输入输出ShapeRange和输入TensorRange,其中ShapeRange和TensorRange分别是Range<T>模板的特化类型,记录了算子Shape和Tensor值的上下限。部分算子(例如,NonZero算子)在进行shape推导时,无法推导出具体的输出shape,只能通过ShapeRange信息预估最大shape。

InferShapeRangeContext继承关系图如下:

KernelContext类

需要包含的头文件

1
#include <infer_shape_range_context.h>

Public成员函数

const Range<Shape> *GetInputShapeRange(const size_t index) const
const TensorRange *GetInputTensorRange(const size_t index) const
const TensorRange *GetOptionalInputTensorRange(const size_t ir_index) const
const TensorRange *GetDynamicInputTensorRange(const size_t ir_index, const size_t relative_index) const
const Range<Shape> *GetOptionalInputShapeRange(const size_t ir_index) const
const Range<Shape> *GetDynamicInputShapeRange(const size_t ir_index, const size_t relative_index) const
const Range<Shape> *GetRequiredInputShapeRange(const size_t ir_index) const
const TensorRange *GetRequiredInputTensorRange(const size_t ir_index) const
Range<Shape> *GetOutputShapeRange(const size_t index)