diff options
Diffstat (limited to 'source/application/api/use_case/inference_runner/include/MicroMutableAllOpsResolver.hpp')
-rw-r--r-- | source/application/api/use_case/inference_runner/include/MicroMutableAllOpsResolver.hpp | 119 |
1 files changed, 11 insertions, 108 deletions
diff --git a/source/application/api/use_case/inference_runner/include/MicroMutableAllOpsResolver.hpp b/source/application/api/use_case/inference_runner/include/MicroMutableAllOpsResolver.hpp index 96ac28d..67a7c9e 100644 --- a/source/application/api/use_case/inference_runner/include/MicroMutableAllOpsResolver.hpp +++ b/source/application/api/use_case/inference_runner/include/MicroMutableAllOpsResolver.hpp @@ -14,122 +14,25 @@ * 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 +#ifndef INF_RUNNER_MICRO_MUTABLE_ALL_OPS_RESOLVER_HPP +#define INF_RUNNER_MICRO_MUTABLE_ALL_OPS_RESOLVER_HPP #include <tensorflow/lite/micro/micro_mutable_op_resolver.h> -constexpr int kNumberOperators = 97; - namespace arm { namespace app { - /* Create our own AllOpsResolver by adding all Ops to MicroMutableOpResolver. */ - inline tflite::MicroMutableOpResolver<kNumberOperators> CreateAllOpsResolver() { - tflite::MicroMutableOpResolver<kNumberOperators> 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(); + /* Maximum number of individual operations that can be enlisted. */ + constexpr int kNumberOperators = 97; - return mutableAllOpResolver; - } + /** An Op resolver containing all ops is no longer supplied with TFLite Micro + * so we create our own instead for the generic inference runner. + * + * @return MicroMutableOpResolver containing all TFLite Micro Ops registered. + */ + tflite::MicroMutableOpResolver<kNumberOperators> CreateAllOpsResolver(); } /* namespace app */ } /* namespace arm */ -#endif /* INF_RUNNER_MICRO_MUTABLE_ALLOPS_RESOLVER_HPP */ +#endif /* INF_RUNNER_MICRO_MUTABLE_ALL_OPS_RESOLVER_HPP */ |