GetDynamicInputTensorRange
函数功能
根据算子原型定义中的输入索引获取对应的动态输入tensor range指针。
函数原型
using TensorRange = Range<Tensor>
const TensorRange *GetDynamicInputTensorRange(const size_t ir_index, const size_t relative_index) const
参数说明
参数 |
输入/输出 |
说明 |
---|---|---|
ir_index |
输入 |
算子IR原型定义中的输入索引,从0开始计数。 |
relative_index |
输入 |
该输入实例化后的相对index,例如某个DYNAMIC_INPUT实例化了3个输入,那么relative_index的有效范围是[0,2] |
返回值说明
tensor range指针,ir_index或relative_index非法时,返回空指针。
约束说明
如果输入没有被设置为数据依赖,调用此接口获取tensor range时,只能在tensor中获取到正确的shape、format、datatype信息,,无法获取到真实的tensor数据地址(获取到的地址为nullptr)。
调用示例
const auto infer_shape_range_func = [](gert::InferShapeRangeContext *context) -> graphStatus { auto input_shape_range = context->GetDynamicInputTensorRange(0U, 0U); auto output_shape_range = context->GetOutputShapeRange(0U); *output_shape_range-->GetMin() = input_shape_range->GetMin()->GetStorageShape(); *output_shape_range-->GetMax() = input_shape_range->GetMax()->GetStorageShape(); return GRAPH_SUCCESS; };