Merge "Clarify NNAPI control flow shape constraints" into rvc-dev am: 36e9e40436
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/interfaces/+/11790226 Change-Id: I3b21c63c4303d52aec3f2aa9f4b25c2d0a91cdda
This commit is contained in:
commit
6f55d6a28f
3 changed files with 25 additions and 12 deletions
|
@ -722,6 +722,7 @@ ee9dc34b9925b8367b1111c72bd6d9d375432735e451572ca5a665d8516a7744 android.hardwar
|
|||
eee3430cc86c97c7b407495863d8fb61da6f1a64b7721e77b9b4909b11b174e9 android.hardware.neuralnetworks@1.3::IPreparedModelCallback
|
||||
acf84925f8ee0a651f2ec547ac334034de266479b93af5434f6c1f25e66aba96 android.hardware.neuralnetworks@1.3::types
|
||||
e9080d04218e98512b63aace9ff3da52f0130238391f15cbbf7df396a3ec9072 android.hardware.neuralnetworks@1.3::types # b/155508675, b/155662254, b/155238914, b/155660285
|
||||
583dc88b41e702e940fd954edda1beb8b4151eab55a5c6d7e69e2781bce84b59 android.hardware.neuralnetworks@1.3::types # b/156918813
|
||||
b454df853441c12f6e425e8a60dd29fda20f5e6e39b93d1103e4b37495db38aa android.hardware.radio@1.5::IRadio
|
||||
fcbb0742a88215ee7a6d7ce0825d253eb2b50391fc6c8c48667f9fd7f6d4549e android.hardware.radio@1.5::IRadioIndication
|
||||
b809193970a91ca637a4b0184767315601d32e3ef3d5992ffbc7a8d14a14f015 android.hardware.radio@1.5::IRadioResponse
|
||||
|
|
|
@ -5102,11 +5102,15 @@ enum OperationType : int32_t {
|
|||
* The inputs and outputs of the two referenced subgraphs must agree with the
|
||||
* signature of this operation. That is, if the operation has (3 + n) inputs
|
||||
* and m outputs, both subgraphs must have n inputs and m outputs with the same
|
||||
* types as the corresponding operation inputs and outputs.
|
||||
* types, ranks, dimensions, scales,
|
||||
* zeroPoints, and extraParams as the corresponding operation inputs and
|
||||
* outputs.
|
||||
* All of the operands mentioned must have fully specified dimensions.
|
||||
*
|
||||
* Inputs:
|
||||
* * 0: A value of type {@link OperandType::TENSOR_BOOL8} and shape [1]
|
||||
* that determines which of the two referenced subgraphs to execute.
|
||||
* The operand must have fully specified dimensions.
|
||||
* * 1: A {@link OperandType::SUBGRAPH} reference to the subgraph to be
|
||||
* executed if the condition is true.
|
||||
* * 2: A {@link OperandType::SUBGRAPH} reference to the subgraph to be
|
||||
|
@ -5165,13 +5169,17 @@ enum OperationType : int32_t {
|
|||
* Inputs:
|
||||
* * 0: A {@link OperandType::SUBGRAPH} reference to the condition
|
||||
* subgraph. The subgraph must have (m + k + n) inputs with
|
||||
* the same types as the corresponding inputs of the WHILE operation
|
||||
* and exactly one output of {@link OperandType::TENSOR_BOOL8}
|
||||
* and shape [1].
|
||||
* the same types, ranks, dimensions,
|
||||
* scales, zeroPoints, and extraParams as the corresponding inputs of
|
||||
* the WHILE operation and exactly one output of
|
||||
* {@link OperandType::TENSOR_BOOL8} and shape [1].
|
||||
* All of the operands mentioned must have fully specified dimensions.
|
||||
* * 1: A {@link OperandType::SUBGRAPH} reference to the body subgraph.
|
||||
* The subgraph must have (m + k + n) inputs and (m + k) outputs with
|
||||
* the same types as the corresponding inputs and outputs of the WHILE
|
||||
* operation.
|
||||
* the same types, ranks, dimensions,
|
||||
* scales, zeroPoints, and extraParams as the corresponding inputs and
|
||||
* outputs of the WHILE operation.
|
||||
* All of the operands mentioned must have fully specified dimensions.
|
||||
* * (m inputs): Initial values for input-output operands.
|
||||
* * (k inputs): Initial values for state-only operands.
|
||||
* * (n inputs): Values for input-only operands.
|
||||
|
@ -5491,7 +5499,9 @@ struct Operand {
|
|||
* If a tensor operand's dimensions are not fully specified, the
|
||||
* dimensions of the operand are deduced from the operand
|
||||
* dimensions and values of the operation for which that operand
|
||||
* is an output.
|
||||
* is an output or from the corresponding {@link OperationType::IF} or
|
||||
* {@link OperationType::WHILE} operation input operand dimensions in the
|
||||
* case of referenced subgraph input operands.
|
||||
*
|
||||
* In the following situations, a tensor operand's dimensions must
|
||||
* be fully specified:
|
||||
|
@ -5499,8 +5509,8 @@ struct Operand {
|
|||
* . The operand has lifetime CONSTANT_COPY or
|
||||
* CONSTANT_REFERENCE.
|
||||
*
|
||||
* . The operand has lifetime SUBGRAPH_INPUT. Fully
|
||||
* specified dimensions must either be present in the
|
||||
* . The operand has lifetime SUBGRAPH_INPUT and belongs to the main
|
||||
* subgraph. Fully specified dimensions must either be present in the
|
||||
* Operand or they must be provided in the corresponding
|
||||
* RequestArgument.
|
||||
* EXCEPTION: If the input is optional and omitted
|
||||
|
|
|
@ -264,7 +264,9 @@ struct Operand {
|
|||
* If a tensor operand's dimensions are not fully specified, the
|
||||
* dimensions of the operand are deduced from the operand
|
||||
* dimensions and values of the operation for which that operand
|
||||
* is an output.
|
||||
* is an output or from the corresponding {@link OperationType::IF} or
|
||||
* {@link OperationType::WHILE} operation input operand dimensions in the
|
||||
* case of referenced subgraph input operands.
|
||||
*
|
||||
* In the following situations, a tensor operand's dimensions must
|
||||
* be fully specified:
|
||||
|
@ -272,8 +274,8 @@ struct Operand {
|
|||
* . The operand has lifetime CONSTANT_COPY or
|
||||
* CONSTANT_REFERENCE.
|
||||
*
|
||||
* . The operand has lifetime SUBGRAPH_INPUT. Fully
|
||||
* specified dimensions must either be present in the
|
||||
* . The operand has lifetime SUBGRAPH_INPUT and belongs to the main
|
||||
* subgraph. Fully specified dimensions must either be present in the
|
||||
* Operand or they must be provided in the corresponding
|
||||
* RequestArgument.
|
||||
* EXCEPTION: If the input is optional and omitted
|
||||
|
|
Loading…
Reference in a new issue