using TensorRange = Range<Tensor> const TensorRange *GetOptionalInputTensorRange(const size_t ir_index) const;
如果输入没有被设置为数据依赖,调用此接口获取tensor range时,只能在tensor中获取到正确的shape、format、datatype信息。无法获取到真实的tensor数据地址(获取到的地址为nullptr)。
const auto infer_shape_range_func = [](gert::InferShapeRangeContext *context) -> graphStatus {
auto input_shape_range = context->GetOptionalInputTensorRange(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;
};