ArmNN
 23.02
Converter Class Reference

#include <Converter.hpp>

Public Types

using Model = ::android::nn::Model
 
using Operand = ::android::nn::Operand
 
using OperandLifeTime = ::android::nn::Operand::LifeTime
 
using OperandType = ::android::nn::OperandType
 
using Operation = ::android::nn::Operation
 
using OperationType = ::android::nn::OperationType
 
using ErrorStatus = ::android::nn::ErrorStatus
 

Static Public Member Functions

static bool ConvertOperation (const Operation &operation, const Model &model, ConversionData &data)
 

Detailed Description

Definition at line 20 of file Converter.hpp.

Member Typedef Documentation

◆ ErrorStatus

using ErrorStatus = ::android::nn::ErrorStatus

Definition at line 30 of file Converter.hpp.

◆ Model

using Model = ::android::nn::Model

Definition at line 24 of file Converter.hpp.

◆ Operand

using Operand = ::android::nn::Operand

Definition at line 25 of file Converter.hpp.

◆ OperandLifeTime

using OperandLifeTime = ::android::nn::Operand::LifeTime

Definition at line 26 of file Converter.hpp.

◆ OperandType

using OperandType = ::android::nn::OperandType

Definition at line 27 of file Converter.hpp.

◆ Operation

using Operation = ::android::nn::Operation

Definition at line 28 of file Converter.hpp.

◆ OperationType

using OperationType = ::android::nn::OperationType

Definition at line 29 of file Converter.hpp.

Member Function Documentation

◆ ConvertOperation()

bool ConvertOperation ( const Operation operation,
const Model model,
ConversionData data 
)
static

Definition at line 21 of file Converter.cpp.

22 {
23  switch (operation.type)
24  {
25  case OperationType::ABS:
26  return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Abs);
27  case OperationType::ADD:
28  return ConvertAdd(operation, model, data);
29  case OperationType::ARGMAX:
30  return ConvertArgMinMax(operation, model, data, ArgMinMaxFunction::Max);
31  case OperationType::ARGMIN:
32  return ConvertArgMinMax(operation, model, data, ArgMinMaxFunction::Min);
33  case OperationType::AVERAGE_POOL_2D:
34  return ConvertAveragePool2d(operation, model, data);
35  case OperationType::BATCH_MATMUL:
36  return ConvertBatchMatMul(operation, model, data);
37  case OperationType::BATCH_TO_SPACE_ND:
38  return ConvertBatchToSpaceNd(operation, model, data);
39  case OperationType::CAST:
40  return ConvertCast(operation, model, data);
41  case OperationType::CONCATENATION:
42  return ConvertConcatenation(operation, model, data);
43  case OperationType::CONV_2D:
44  return ConvertConv2d(operation, model, data);
45  case OperationType::DEPTH_TO_SPACE:
46  return ConvertDepthToSpace(operation, model, data);
47  case OperationType::DEPTHWISE_CONV_2D:
48  return ConvertDepthwiseConv2d(operation, model, data);
49  case OperationType::DEQUANTIZE:
50  return ConvertDequantize(operation, model, data);
51  case OperationType::DIV:
52  return ConvertDiv(operation, model, data);
53  case OperationType::ELU:
54  return ConvertElu(operation, model, data);
55  case OperationType::EQUAL:
56  return ConvertComparison(operation, model, data, ComparisonOperation::Equal);
57  case OperationType::EXP:
58  return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Exp);
59  case OperationType::EXPAND_DIMS:
60  return ConvertExpandDims(operation, model, data);
61  case OperationType::FILL:
62  return ConvertFill(operation, model, data);
63  case OperationType::FLOOR:
64  return ConvertFloor(operation, model, data);
65  case OperationType::FULLY_CONNECTED:
66  return ConvertFullyConnected(operation, model, data);
67  case OperationType::GATHER:
68  return ConvertGather(operation, model, data);
69  case OperationType::GREATER:
70  return ConvertComparison(operation, model, data, ComparisonOperation::Greater);
71  case OperationType::GREATER_EQUAL:
72  return ConvertComparison(operation, model, data, ComparisonOperation::GreaterOrEqual);
73  case OperationType::GROUPED_CONV_2D:
74  return ConvertGroupedConv2d(operation, model, data);
75  case OperationType::HARD_SWISH:
76  return ConvertHardSwish(operation, model, data);
77  case OperationType::INSTANCE_NORMALIZATION:
78  return ConvertInstanceNormalization(operation, model, data);
79  case OperationType::L2_NORMALIZATION:
80  return ConvertL2Normalization(operation, model, data);
81  case OperationType::L2_POOL_2D:
82  return ConvertL2Pool2d(operation, model, data);
83  case OperationType::LESS:
84  return ConvertComparison(operation, model, data, ComparisonOperation::Less);
85  case OperationType::LESS_EQUAL:
86  return ConvertComparison(operation, model, data, ComparisonOperation::LessOrEqual);
87  case OperationType::LOCAL_RESPONSE_NORMALIZATION:
88  return ConvertLocalResponseNormalization(operation, model, data);
89  case OperationType::LOG:
90  return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Log);
91  case OperationType::LOGICAL_AND:
92  return ConvertLogicalBinary(operation, model, data, LogicalBinaryOperation::LogicalAnd);
93  case OperationType::LOGICAL_NOT:
94  return ConvertElementwiseUnary(operation, model, data, UnaryOperation::LogicalNot);
95  case OperationType::LOGICAL_OR:
96  return ConvertLogicalBinary(operation, model, data, LogicalBinaryOperation::LogicalOr);
97  case OperationType::LOGISTIC:
98  return ConvertLogistic(operation, model, data);
99  case OperationType::LOG_SOFTMAX:
100  return ConvertLogSoftmax(operation, model, data);
101  case OperationType::LSTM:
102  return ConvertLstm(operation, model, data);
103  case OperationType::MAX_POOL_2D:
104  return ConvertMaxPool2d(operation, model, data);
105  case OperationType::MAXIMUM:
106  return ConvertMaximum(operation, model, data);
107  case OperationType::MEAN:
108  return ConvertMean(operation, model, data);
109  case OperationType::MINIMUM:
110  return ConvertMinimum(operation, model, data);
111  case OperationType::MUL:
112  return ConvertMul(operation, model, data);
113  case OperationType::NEG:
114  return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Neg);
115  case OperationType::NOT_EQUAL:
116  return ConvertComparison(operation, model, data, ComparisonOperation::NotEqual);
117  case OperationType::PAD:
118  return ConvertPad(operation, model, data);
119  case OperationType::PAD_V2:
120  return ConvertPadV2(operation, model, data);
121  case OperationType::PRELU:
122  return ConvertPrelu(operation, model, data);
123  case OperationType::QUANTIZE:
124  return ConvertQuantize(operation, model, data);
125  case OperationType::QUANTIZED_LSTM:
126  return ConvertQuantizedLstm(operation, model, data);
127  case OperationType::QUANTIZED_16BIT_LSTM:
128  return ConvertQuantized16BitLstm(operation, model, data);
129  case OperationType::RANK:
130  return ConvertRank(operation, model, data);
131  case OperationType::REDUCE_MAX:
132  return ConvertReduce(operation, model, data, armnn::ReduceOperation::Max);
133  case OperationType::REDUCE_MIN:
134  return ConvertReduce(operation, model, data, armnn::ReduceOperation::Min);
135  case OperationType::REDUCE_SUM:
136  return ConvertReduce(operation, model, data, armnn::ReduceOperation::Sum);
137  case OperationType::RELU:
138  return ConvertReLu(operation, model, data);
139  case OperationType::RELU1:
140  return ConvertReLu1(operation, model, data);
141  case OperationType::RELU6:
142  return ConvertReLu6(operation, model, data);
143  case OperationType::RESHAPE:
144  return ConvertReshape(operation, model, data);
145  case OperationType::RESIZE_BILINEAR:
146  return ConvertResize(operation, model, data, ResizeMethod::Bilinear);
147  case OperationType::RESIZE_NEAREST_NEIGHBOR:
148  return ConvertResize(operation, model, data, ResizeMethod::NearestNeighbor);
149  case OperationType::RSQRT:
150  return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Rsqrt);
151  case OperationType::SIN:
152  return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Sin);
153  case OperationType::SOFTMAX:
154  return ConvertSoftmax(operation, model, data);
155  case OperationType::SPACE_TO_BATCH_ND :
156  return ConvertSpaceToBatchNd(operation, model, data);
157  case OperationType::SPACE_TO_DEPTH:
158  return ConvertSpaceToDepth(operation, model, data);
159  case OperationType::SQRT:
160  return ConvertSqrt(operation, model, data);
161  case OperationType::SQUEEZE:
162  return ConvertSqueeze(operation, model, data);
163  case OperationType::STRIDED_SLICE:
164  return ConvertStridedSlice(operation, model, data);
165  case OperationType::SUB:
166  return ConvertSub(operation, model, data);
167  case OperationType::TRANSPOSE:
168  return ConvertTranspose(operation, model, data);
169  case OperationType::TRANSPOSE_CONV_2D:
170  return ConvertTransposeConv2d(operation, model, data);
171  case OperationType::TANH:
172  return ConvertTanH(operation, model, data);
173  default:
174  VLOG(DRIVER) << "Operation type: " << operation.type << "is not supported in ArmnnDriver";
175  return false;
176  }
177 }

References armnn_driver::ConvertReduce(), armnn::Max, armnn::Min, and armnn::Sum.


The documentation for this class was generated from the following files:
armnn::ReduceOperation::Min
@ Min
armnn::ReduceOperation::Sum
@ Sum
armnn::ReduceOperation::Max
@ Max
armnn_driver::ConvertReduce
bool ConvertReduce(const Operation &operation, const Model &model, ConversionData &data, armnn::ReduceOperation reduceOperation)
Definition: ConversionUtils.cpp:508