/* * SPDX-FileCopyrightText: Copyright 2023 Arm Limited and/or its affiliates * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef INF_RUNNER_MICRO_MUTABLE_ALLOPS_RESOLVER_HPP #define INF_RUNNER_MICRO_MUTABLE_ALLOPS_RESOLVER_HPP #include constexpr int kNumberOperators = 97; namespace arm { namespace app { /* Create our own AllOpsResolver by adding all Ops to MicroMutableOpResolver. */ inline tflite::MicroMutableOpResolver CreateAllOpsResolver() { tflite::MicroMutableOpResolver mutableAllOpResolver; mutableAllOpResolver.AddAbs(); mutableAllOpResolver.AddAdd(); mutableAllOpResolver.AddAddN(); mutableAllOpResolver.AddArgMax(); mutableAllOpResolver.AddArgMin(); mutableAllOpResolver.AddAssignVariable(); mutableAllOpResolver.AddAveragePool2D(); mutableAllOpResolver.AddBatchToSpaceNd(); mutableAllOpResolver.AddBroadcastArgs(); mutableAllOpResolver.AddBroadcastTo(); mutableAllOpResolver.AddCallOnce(); mutableAllOpResolver.AddCast(); mutableAllOpResolver.AddCeil(); mutableAllOpResolver.AddCircularBuffer(); mutableAllOpResolver.AddConcatenation(); mutableAllOpResolver.AddConv2D(); mutableAllOpResolver.AddCos(); mutableAllOpResolver.AddCumSum(); mutableAllOpResolver.AddDepthToSpace(); mutableAllOpResolver.AddDepthwiseConv2D(); mutableAllOpResolver.AddDequantize(); mutableAllOpResolver.AddDetectionPostprocess(); mutableAllOpResolver.AddDiv(); mutableAllOpResolver.AddElu(); mutableAllOpResolver.AddEqual(); mutableAllOpResolver.AddEthosU(); mutableAllOpResolver.AddExp(); mutableAllOpResolver.AddExpandDims(); mutableAllOpResolver.AddFill(); mutableAllOpResolver.AddFloor(); mutableAllOpResolver.AddFloorDiv(); mutableAllOpResolver.AddFloorMod(); mutableAllOpResolver.AddFullyConnected(); mutableAllOpResolver.AddGather(); mutableAllOpResolver.AddGatherNd(); mutableAllOpResolver.AddGreater(); mutableAllOpResolver.AddGreaterEqual(); mutableAllOpResolver.AddHardSwish(); mutableAllOpResolver.AddIf(); mutableAllOpResolver.AddL2Normalization(); mutableAllOpResolver.AddL2Pool2D(); mutableAllOpResolver.AddLeakyRelu(); mutableAllOpResolver.AddLess(); mutableAllOpResolver.AddLessEqual(); mutableAllOpResolver.AddLog(); mutableAllOpResolver.AddLogicalAnd(); mutableAllOpResolver.AddLogicalNot(); mutableAllOpResolver.AddLogicalOr(); mutableAllOpResolver.AddLogistic(); mutableAllOpResolver.AddLogSoftmax(); mutableAllOpResolver.AddMaxPool2D(); mutableAllOpResolver.AddMaximum(); mutableAllOpResolver.AddMean(); mutableAllOpResolver.AddMinimum(); mutableAllOpResolver.AddMirrorPad(); mutableAllOpResolver.AddMul(); mutableAllOpResolver.AddNeg(); mutableAllOpResolver.AddNotEqual(); mutableAllOpResolver.AddPack(); mutableAllOpResolver.AddPad(); mutableAllOpResolver.AddPadV2(); mutableAllOpResolver.AddPrelu(); mutableAllOpResolver.AddQuantize(); mutableAllOpResolver.AddReadVariable(); mutableAllOpResolver.AddReduceMax(); mutableAllOpResolver.AddRelu(); mutableAllOpResolver.AddRelu6(); mutableAllOpResolver.AddReshape(); mutableAllOpResolver.AddResizeBilinear(); mutableAllOpResolver.AddResizeNearestNeighbor(); mutableAllOpResolver.AddRound(); mutableAllOpResolver.AddRsqrt(); mutableAllOpResolver.AddSelectV2(); mutableAllOpResolver.AddShape(); mutableAllOpResolver.AddSin(); mutableAllOpResolver.AddSlice(); mutableAllOpResolver.AddSoftmax(); mutableAllOpResolver.AddSpaceToBatchNd(); mutableAllOpResolver.AddSpaceToDepth(); mutableAllOpResolver.AddSplit(); mutableAllOpResolver.AddSplitV(); mutableAllOpResolver.AddSqrt(); mutableAllOpResolver.AddSquare(); mutableAllOpResolver.AddSquaredDifference(); mutableAllOpResolver.AddSqueeze(); mutableAllOpResolver.AddStridedSlice(); mutableAllOpResolver.AddSub(); mutableAllOpResolver.AddSum(); mutableAllOpResolver.AddSvdf(); mutableAllOpResolver.AddTanh(); mutableAllOpResolver.AddTranspose(); mutableAllOpResolver.AddTransposeConv(); mutableAllOpResolver.AddUnidirectionalSequenceLSTM(); mutableAllOpResolver.AddUnpack(); mutableAllOpResolver.AddVarHandle(); mutableAllOpResolver.AddWhile(); mutableAllOpResolver.AddZerosLike(); return mutableAllOpResolver; } } /* namespace app */ } /* namespace arm */ #endif /* INF_RUNNER_MICRO_MUTABLE_ALLOPS_RESOLVER_HPP */