GetInputTensor
Function Usage
Obtains the pointer to an input tensor based on the operator input index. The input index refers to the actual index after operator instantiation, not the index in the prototype definition.
Prototype
1 | const Tensor *GetInputTensor(const size_t index) const |
Parameters
Parameter |
Input/Output |
Description |
|---|---|---|
index |
Input |
Operator input index, starting from 0. |
Returns
Pointer to the input tensor. If the input 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 8 9 10 | ge::graphStatus InferShapeForReshape(InferShapeContext *context) { const gert::Shape *x_shape = context->GetInputShape(0); // Obtain the shape of input 0. const gert::Tensor *shape_tensor = context->GetInputTensor(1); // Obtain the data dependency of input tensor 1. gert::Shape *output_shape = context->GetOutputShape(0); if (x_shape == nullptr || shape_tensor == nullptr || output_shape == nullptr) { // Defensive programming. In an undesirable scenario, an error is printed and a failure message is returned. return ge::GRAPH_FAILED; } // ... } |