GetDynamicInputTensor
Function Usage
Obtains the pointer to a dynamic input tensor based on the input index in the operator prototype definition.
Prototype
1 | const Tensor *GetDynamicInputTensor(const size_t ir_index, const size_t relative_index) const |
Parameters
Parameter |
Input/Output |
Description |
|---|---|---|
ir_index |
Input |
Input index in the operator IR prototype definition, starting from 0. |
relative_index |
Input |
Relative index after the input is instantiated. For example, if three inputs are instantiated for a DYNAMIC_INPUT, the value range of relative_index is [0, 2]. |
Returns
Pointer to a specified input tensor. If ir_index or relative_index is invalid, a null pointer is returned.
For details about the definitions of tensor types (Tensor), see Tensor.
Constraints
The tensor data address can be obtained only when the input is set as a data dependency. If the input is not set as a data dependency, calling this API to get the tensor will only return metadata such as the correct shape, format, and data type, but the actual tensor data address cannot be obtained (the returned address is nullptr). For details about how to set data dependency, see the Ascend C Operator Development
Examples
1 2 3 4 5 6 7 | ge::graphStatus InferShapeForXXX(InferShapeContext *context) { auto in_shape = context->GetInputShape(0); GE_ASSERT_NOTNULL(in_shape); auto axes_tensor_10 = context->GetDynamicInputTensor(1, 0); auto axes_tensor_11 = context->GetDynamicInputTensor(1, 1); ... } |