Obtains the pointer to an optional input tensor range based on the input index in the operator prototype definition.
using TensorRange = Range<Tensor> const TensorRange *GetOptionalInputTensorRange(const size_t ir_index) const;
| Parameter | Input/Output | Description |
|---|---|---|
| ir_index | Input | Input index in the operator IR prototype definition, starting from 0. |
Pointer to the tensor range. If ir_index is invalid or the input is not instantiated, a null pointer is returned.
If the input is not set as a data dependency, when this API is called to obtain the tensor range, only the correct shape, format, and data type information can be obtained from the tensor. The actual tensor data address cannot be obtained (the obtained address is 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;
};