/* * Copyright (c) 2019 Samsung Electronics Co., Ltd. All Rights Reserved * * 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. */ // automatically generated by the FlatBuffers compiler, do not modify #ifndef FLATBUFFERS_GENERATED_SCHEMA_TFLITE_H_ #define FLATBUFFERS_GENERATED_SCHEMA_TFLITE_H_ #include "flatbuffers/flatbuffers.h" namespace tflite { struct CustomQuantization; struct QuantizationParameters; struct Tensor; struct Conv2DOptions; struct Pool2DOptions; struct DepthwiseConv2DOptions; struct ConcatEmbeddingsOptions; struct LSHProjectionOptions; struct SVDFOptions; struct RNNOptions; struct SequenceRNNOptions; struct BidirectionalSequenceRNNOptions; struct FullyConnectedOptions; struct SoftmaxOptions; struct ConcatenationOptions; struct AddOptions; struct MulOptions; struct L2NormOptions; struct LocalResponseNormalizationOptions; struct LSTMOptions; struct UnidirectionalSequenceLSTMOptions; struct BidirectionalSequenceLSTMOptions; struct ResizeBilinearOptions; struct ResizeNearestNeighborOptions; struct CallOptions; struct PadOptions; struct PadV2Options; struct ReshapeOptions; struct SpaceToBatchNDOptions; struct BatchToSpaceNDOptions; struct SkipGramOptions; struct SpaceToDepthOptions; struct SubOptions; struct DivOptions; struct TopKV2Options; struct EmbeddingLookupSparseOptions; struct GatherOptions; struct TransposeOptions; struct ExpOptions; struct ReducerOptions; struct SqueezeOptions; struct SplitOptions; struct SplitVOptions; struct StridedSliceOptions; struct LogSoftmaxOptions; struct CastOptions; struct DequantizeOptions; struct MaximumMinimumOptions; struct TileOptions; struct ArgMaxOptions; struct ArgMinOptions; struct GreaterOptions; struct GreaterEqualOptions; struct LessOptions; struct LessEqualOptions; struct NegOptions; struct SelectOptions; struct SliceOptions; struct TransposeConvOptions; struct ExpandDimsOptions; struct SparseToDenseOptions; struct EqualOptions; struct NotEqualOptions; struct ShapeOptions; struct PowOptions; struct FakeQuantOptions; struct PackOptions; struct LogicalOrOptions; struct OneHotOptions; struct AbsOptions; struct LogicalAndOptions; struct LogicalNotOptions; struct UnpackOptions; struct FloorDivOptions; struct SquareOptions; struct ZerosLikeOptions; struct FillOptions; struct FloorModOptions; struct RangeOptions; struct LeakyReluOptions; struct SquaredDifferenceOptions; struct MirrorPadOptions; struct OperatorCode; struct Operator; struct SubGraph; struct Buffer; struct Model; enum TensorType { TensorType_FLOAT32 = 0, TensorType_FLOAT16 = 1, TensorType_INT32 = 2, TensorType_UINT8 = 3, TensorType_INT64 = 4, TensorType_STRING = 5, TensorType_BOOL = 6, TensorType_INT16 = 7, TensorType_COMPLEX64 = 8, TensorType_INT8 = 9, TensorType_MIN = TensorType_FLOAT32, TensorType_MAX = TensorType_INT8 }; inline const TensorType (&EnumValuesTensorType())[10] { static const TensorType values[] = {TensorType_FLOAT32, TensorType_FLOAT16, TensorType_INT32, TensorType_UINT8, TensorType_INT64, TensorType_STRING, TensorType_BOOL, TensorType_INT16, TensorType_COMPLEX64, TensorType_INT8}; return values; } inline const char *const *EnumNamesTensorType() { static const char *const names[] = {"FLOAT32", "FLOAT16", "INT32", "UINT8", "INT64", "STRING", "BOOL", "INT16", "COMPLEX64", "INT8", nullptr}; return names; } inline const char *EnumNameTensorType(TensorType e) { const size_t index = static_cast(e); return EnumNamesTensorType()[index]; } enum QuantizationDetails { QuantizationDetails_NONE = 0, QuantizationDetails_CustomQuantization = 1, QuantizationDetails_MIN = QuantizationDetails_NONE, QuantizationDetails_MAX = QuantizationDetails_CustomQuantization }; inline const QuantizationDetails (&EnumValuesQuantizationDetails())[2] { static const QuantizationDetails values[] = {QuantizationDetails_NONE, QuantizationDetails_CustomQuantization}; return values; } inline const char *const *EnumNamesQuantizationDetails() { static const char *const names[] = {"NONE", "CustomQuantization", nullptr}; return names; } inline const char *EnumNameQuantizationDetails(QuantizationDetails e) { const size_t index = static_cast(e); return EnumNamesQuantizationDetails()[index]; } template struct QuantizationDetailsTraits { static const QuantizationDetails enum_value = QuantizationDetails_NONE; }; template <> struct QuantizationDetailsTraits { static const QuantizationDetails enum_value = QuantizationDetails_CustomQuantization; }; bool VerifyQuantizationDetails(flatbuffers::Verifier &verifier, const void *obj, QuantizationDetails type); bool VerifyQuantizationDetailsVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types); enum BuiltinOperator { BuiltinOperator_ADD = 0, BuiltinOperator_AVERAGE_POOL_2D = 1, BuiltinOperator_CONCATENATION = 2, BuiltinOperator_CONV_2D = 3, BuiltinOperator_DEPTHWISE_CONV_2D = 4, BuiltinOperator_DEQUANTIZE = 6, BuiltinOperator_EMBEDDING_LOOKUP = 7, BuiltinOperator_FLOOR = 8, BuiltinOperator_FULLY_CONNECTED = 9, BuiltinOperator_HASHTABLE_LOOKUP = 10, BuiltinOperator_L2_NORMALIZATION = 11, BuiltinOperator_L2_POOL_2D = 12, BuiltinOperator_LOCAL_RESPONSE_NORMALIZATION = 13, BuiltinOperator_LOGISTIC = 14, BuiltinOperator_LSH_PROJECTION = 15, BuiltinOperator_LSTM = 16, BuiltinOperator_MAX_POOL_2D = 17, BuiltinOperator_MUL = 18, BuiltinOperator_RELU = 19, BuiltinOperator_RELU_N1_TO_1 = 20, BuiltinOperator_RELU6 = 21, BuiltinOperator_RESHAPE = 22, BuiltinOperator_RESIZE_BILINEAR = 23, BuiltinOperator_RNN = 24, BuiltinOperator_SOFTMAX = 25, BuiltinOperator_SPACE_TO_DEPTH = 26, BuiltinOperator_SVDF = 27, BuiltinOperator_TANH = 28, BuiltinOperator_CONCAT_EMBEDDINGS = 29, BuiltinOperator_SKIP_GRAM = 30, BuiltinOperator_CALL = 31, BuiltinOperator_CUSTOM = 32, BuiltinOperator_EMBEDDING_LOOKUP_SPARSE = 33, BuiltinOperator_PAD = 34, BuiltinOperator_UNIDIRECTIONAL_SEQUENCE_RNN = 35, BuiltinOperator_GATHER = 36, BuiltinOperator_BATCH_TO_SPACE_ND = 37, BuiltinOperator_SPACE_TO_BATCH_ND = 38, BuiltinOperator_TRANSPOSE = 39, BuiltinOperator_MEAN = 40, BuiltinOperator_SUB = 41, BuiltinOperator_DIV = 42, BuiltinOperator_SQUEEZE = 43, BuiltinOperator_UNIDIRECTIONAL_SEQUENCE_LSTM = 44, BuiltinOperator_STRIDED_SLICE = 45, BuiltinOperator_BIDIRECTIONAL_SEQUENCE_RNN = 46, BuiltinOperator_EXP = 47, BuiltinOperator_TOPK_V2 = 48, BuiltinOperator_SPLIT = 49, BuiltinOperator_LOG_SOFTMAX = 50, BuiltinOperator_DELEGATE = 51, BuiltinOperator_BIDIRECTIONAL_SEQUENCE_LSTM = 52, BuiltinOperator_CAST = 53, BuiltinOperator_PRELU = 54, BuiltinOperator_MAXIMUM = 55, BuiltinOperator_ARG_MAX = 56, BuiltinOperator_MINIMUM = 57, BuiltinOperator_LESS = 58, BuiltinOperator_NEG = 59, BuiltinOperator_PADV2 = 60, BuiltinOperator_GREATER = 61, BuiltinOperator_GREATER_EQUAL = 62, BuiltinOperator_LESS_EQUAL = 63, BuiltinOperator_SELECT = 64, BuiltinOperator_SLICE = 65, BuiltinOperator_SIN = 66, BuiltinOperator_TRANSPOSE_CONV = 67, BuiltinOperator_SPARSE_TO_DENSE = 68, BuiltinOperator_TILE = 69, BuiltinOperator_EXPAND_DIMS = 70, BuiltinOperator_EQUAL = 71, BuiltinOperator_NOT_EQUAL = 72, BuiltinOperator_LOG = 73, BuiltinOperator_SUM = 74, BuiltinOperator_SQRT = 75, BuiltinOperator_RSQRT = 76, BuiltinOperator_SHAPE = 77, BuiltinOperator_POW = 78, BuiltinOperator_ARG_MIN = 79, BuiltinOperator_FAKE_QUANT = 80, BuiltinOperator_REDUCE_PROD = 81, BuiltinOperator_REDUCE_MAX = 82, BuiltinOperator_PACK = 83, BuiltinOperator_LOGICAL_OR = 84, BuiltinOperator_ONE_HOT = 85, BuiltinOperator_LOGICAL_AND = 86, BuiltinOperator_LOGICAL_NOT = 87, BuiltinOperator_UNPACK = 88, BuiltinOperator_REDUCE_MIN = 89, BuiltinOperator_FLOOR_DIV = 90, BuiltinOperator_REDUCE_ANY = 91, BuiltinOperator_SQUARE = 92, BuiltinOperator_ZEROS_LIKE = 93, BuiltinOperator_FILL = 94, BuiltinOperator_FLOOR_MOD = 95, BuiltinOperator_RANGE = 96, BuiltinOperator_RESIZE_NEAREST_NEIGHBOR = 97, BuiltinOperator_LEAKY_RELU = 98, BuiltinOperator_SQUARED_DIFFERENCE = 99, BuiltinOperator_MIRROR_PAD = 100, BuiltinOperator_ABS = 101, BuiltinOperator_SPLIT_V = 102, BuiltinOperator_MIN = BuiltinOperator_ADD, BuiltinOperator_MAX = BuiltinOperator_SPLIT_V }; inline const BuiltinOperator (&EnumValuesBuiltinOperator())[102] { static const BuiltinOperator values[] = {BuiltinOperator_ADD, BuiltinOperator_AVERAGE_POOL_2D, BuiltinOperator_CONCATENATION, BuiltinOperator_CONV_2D, BuiltinOperator_DEPTHWISE_CONV_2D, BuiltinOperator_DEQUANTIZE, BuiltinOperator_EMBEDDING_LOOKUP, BuiltinOperator_FLOOR, BuiltinOperator_FULLY_CONNECTED, BuiltinOperator_HASHTABLE_LOOKUP, BuiltinOperator_L2_NORMALIZATION, BuiltinOperator_L2_POOL_2D, BuiltinOperator_LOCAL_RESPONSE_NORMALIZATION, BuiltinOperator_LOGISTIC, BuiltinOperator_LSH_PROJECTION, BuiltinOperator_LSTM, BuiltinOperator_MAX_POOL_2D, BuiltinOperator_MUL, BuiltinOperator_RELU, BuiltinOperator_RELU_N1_TO_1, BuiltinOperator_RELU6, BuiltinOperator_RESHAPE, BuiltinOperator_RESIZE_BILINEAR, BuiltinOperator_RNN, BuiltinOperator_SOFTMAX, BuiltinOperator_SPACE_TO_DEPTH, BuiltinOperator_SVDF, BuiltinOperator_TANH, BuiltinOperator_CONCAT_EMBEDDINGS, BuiltinOperator_SKIP_GRAM, BuiltinOperator_CALL, BuiltinOperator_CUSTOM, BuiltinOperator_EMBEDDING_LOOKUP_SPARSE, BuiltinOperator_PAD, BuiltinOperator_UNIDIRECTIONAL_SEQUENCE_RNN, BuiltinOperator_GATHER, BuiltinOperator_BATCH_TO_SPACE_ND, BuiltinOperator_SPACE_TO_BATCH_ND, BuiltinOperator_TRANSPOSE, BuiltinOperator_MEAN, BuiltinOperator_SUB, BuiltinOperator_DIV, BuiltinOperator_SQUEEZE, BuiltinOperator_UNIDIRECTIONAL_SEQUENCE_LSTM, BuiltinOperator_STRIDED_SLICE, BuiltinOperator_BIDIRECTIONAL_SEQUENCE_RNN, BuiltinOperator_EXP, BuiltinOperator_TOPK_V2, BuiltinOperator_SPLIT, BuiltinOperator_LOG_SOFTMAX, BuiltinOperator_DELEGATE, BuiltinOperator_BIDIRECTIONAL_SEQUENCE_LSTM, BuiltinOperator_CAST, BuiltinOperator_PRELU, BuiltinOperator_MAXIMUM, BuiltinOperator_ARG_MAX, BuiltinOperator_MINIMUM, BuiltinOperator_LESS, BuiltinOperator_NEG, BuiltinOperator_PADV2, BuiltinOperator_GREATER, BuiltinOperator_GREATER_EQUAL, BuiltinOperator_LESS_EQUAL, BuiltinOperator_SELECT, BuiltinOperator_SLICE, BuiltinOperator_SIN, BuiltinOperator_TRANSPOSE_CONV, BuiltinOperator_SPARSE_TO_DENSE, BuiltinOperator_TILE, BuiltinOperator_EXPAND_DIMS, BuiltinOperator_EQUAL, BuiltinOperator_NOT_EQUAL, BuiltinOperator_LOG, BuiltinOperator_SUM, BuiltinOperator_SQRT, BuiltinOperator_RSQRT, BuiltinOperator_SHAPE, BuiltinOperator_POW, BuiltinOperator_ARG_MIN, BuiltinOperator_FAKE_QUANT, BuiltinOperator_REDUCE_PROD, BuiltinOperator_REDUCE_MAX, BuiltinOperator_PACK, BuiltinOperator_LOGICAL_OR, BuiltinOperator_ONE_HOT, BuiltinOperator_LOGICAL_AND, BuiltinOperator_LOGICAL_NOT, BuiltinOperator_UNPACK, BuiltinOperator_REDUCE_MIN, BuiltinOperator_FLOOR_DIV, BuiltinOperator_REDUCE_ANY, BuiltinOperator_SQUARE, BuiltinOperator_ZEROS_LIKE, BuiltinOperator_FILL, BuiltinOperator_FLOOR_MOD, BuiltinOperator_RANGE, BuiltinOperator_RESIZE_NEAREST_NEIGHBOR, BuiltinOperator_LEAKY_RELU, BuiltinOperator_SQUARED_DIFFERENCE, BuiltinOperator_MIRROR_PAD, BuiltinOperator_ABS, BuiltinOperator_SPLIT_V}; return values; } inline const char *const *EnumNamesBuiltinOperator() { static const char *const names[] = {"ADD", "AVERAGE_POOL_2D", "CONCATENATION", "CONV_2D", "DEPTHWISE_CONV_2D", "", "DEQUANTIZE", "EMBEDDING_LOOKUP", "FLOOR", "FULLY_CONNECTED", "HASHTABLE_LOOKUP", "L2_NORMALIZATION", "L2_POOL_2D", "LOCAL_RESPONSE_NORMALIZATION", "LOGISTIC", "LSH_PROJECTION", "LSTM", "MAX_POOL_2D", "MUL", "RELU", "RELU_N1_TO_1", "RELU6", "RESHAPE", "RESIZE_BILINEAR", "RNN", "SOFTMAX", "SPACE_TO_DEPTH", "SVDF", "TANH", "CONCAT_EMBEDDINGS", "SKIP_GRAM", "CALL", "CUSTOM", "EMBEDDING_LOOKUP_SPARSE", "PAD", "UNIDIRECTIONAL_SEQUENCE_RNN", "GATHER", "BATCH_TO_SPACE_ND", "SPACE_TO_BATCH_ND", "TRANSPOSE", "MEAN", "SUB", "DIV", "SQUEEZE", "UNIDIRECTIONAL_SEQUENCE_LSTM", "STRIDED_SLICE", "BIDIRECTIONAL_SEQUENCE_RNN", "EXP", "TOPK_V2", "SPLIT", "LOG_SOFTMAX", "DELEGATE", "BIDIRECTIONAL_SEQUENCE_LSTM", "CAST", "PRELU", "MAXIMUM", "ARG_MAX", "MINIMUM", "LESS", "NEG", "PADV2", "GREATER", "GREATER_EQUAL", "LESS_EQUAL", "SELECT", "SLICE", "SIN", "TRANSPOSE_CONV", "SPARSE_TO_DENSE", "TILE", "EXPAND_DIMS", "EQUAL", "NOT_EQUAL", "LOG", "SUM", "SQRT", "RSQRT", "SHAPE", "POW", "ARG_MIN", "FAKE_QUANT", "REDUCE_PROD", "REDUCE_MAX", "PACK", "LOGICAL_OR", "ONE_HOT", "LOGICAL_AND", "LOGICAL_NOT", "UNPACK", "REDUCE_MIN", "FLOOR_DIV", "REDUCE_ANY", "SQUARE", "ZEROS_LIKE", "FILL", "FLOOR_MOD", "RANGE", "RESIZE_NEAREST_NEIGHBOR", "LEAKY_RELU", "SQUARED_DIFFERENCE", "MIRROR_PAD", "ABS", "SPLIT_V", nullptr}; return names; } inline const char *EnumNameBuiltinOperator(BuiltinOperator e) { const size_t index = static_cast(e); return EnumNamesBuiltinOperator()[index]; } enum BuiltinOptions { BuiltinOptions_NONE = 0, BuiltinOptions_Conv2DOptions = 1, BuiltinOptions_DepthwiseConv2DOptions = 2, BuiltinOptions_ConcatEmbeddingsOptions = 3, BuiltinOptions_LSHProjectionOptions = 4, BuiltinOptions_Pool2DOptions = 5, BuiltinOptions_SVDFOptions = 6, BuiltinOptions_RNNOptions = 7, BuiltinOptions_FullyConnectedOptions = 8, BuiltinOptions_SoftmaxOptions = 9, BuiltinOptions_ConcatenationOptions = 10, BuiltinOptions_AddOptions = 11, BuiltinOptions_L2NormOptions = 12, BuiltinOptions_LocalResponseNormalizationOptions = 13, BuiltinOptions_LSTMOptions = 14, BuiltinOptions_ResizeBilinearOptions = 15, BuiltinOptions_CallOptions = 16, BuiltinOptions_ReshapeOptions = 17, BuiltinOptions_SkipGramOptions = 18, BuiltinOptions_SpaceToDepthOptions = 19, BuiltinOptions_EmbeddingLookupSparseOptions = 20, BuiltinOptions_MulOptions = 21, BuiltinOptions_PadOptions = 22, BuiltinOptions_GatherOptions = 23, BuiltinOptions_BatchToSpaceNDOptions = 24, BuiltinOptions_SpaceToBatchNDOptions = 25, BuiltinOptions_TransposeOptions = 26, BuiltinOptions_ReducerOptions = 27, BuiltinOptions_SubOptions = 28, BuiltinOptions_DivOptions = 29, BuiltinOptions_SqueezeOptions = 30, BuiltinOptions_SequenceRNNOptions = 31, BuiltinOptions_StridedSliceOptions = 32, BuiltinOptions_ExpOptions = 33, BuiltinOptions_TopKV2Options = 34, BuiltinOptions_SplitOptions = 35, BuiltinOptions_LogSoftmaxOptions = 36, BuiltinOptions_CastOptions = 37, BuiltinOptions_DequantizeOptions = 38, BuiltinOptions_MaximumMinimumOptions = 39, BuiltinOptions_ArgMaxOptions = 40, BuiltinOptions_LessOptions = 41, BuiltinOptions_NegOptions = 42, BuiltinOptions_PadV2Options = 43, BuiltinOptions_GreaterOptions = 44, BuiltinOptions_GreaterEqualOptions = 45, BuiltinOptions_LessEqualOptions = 46, BuiltinOptions_SelectOptions = 47, BuiltinOptions_SliceOptions = 48, BuiltinOptions_TransposeConvOptions = 49, BuiltinOptions_SparseToDenseOptions = 50, BuiltinOptions_TileOptions = 51, BuiltinOptions_ExpandDimsOptions = 52, BuiltinOptions_EqualOptions = 53, BuiltinOptions_NotEqualOptions = 54, BuiltinOptions_ShapeOptions = 55, BuiltinOptions_PowOptions = 56, BuiltinOptions_ArgMinOptions = 57, BuiltinOptions_FakeQuantOptions = 58, BuiltinOptions_PackOptions = 59, BuiltinOptions_LogicalOrOptions = 60, BuiltinOptions_OneHotOptions = 61, BuiltinOptions_LogicalAndOptions = 62, BuiltinOptions_LogicalNotOptions = 63, BuiltinOptions_UnpackOptions = 64, BuiltinOptions_FloorDivOptions = 65, BuiltinOptions_SquareOptions = 66, BuiltinOptions_ZerosLikeOptions = 67, BuiltinOptions_FillOptions = 68, BuiltinOptions_BidirectionalSequenceLSTMOptions = 69, BuiltinOptions_BidirectionalSequenceRNNOptions = 70, BuiltinOptions_UnidirectionalSequenceLSTMOptions = 71, BuiltinOptions_FloorModOptions = 72, BuiltinOptions_RangeOptions = 73, BuiltinOptions_ResizeNearestNeighborOptions = 74, BuiltinOptions_LeakyReluOptions = 75, BuiltinOptions_SquaredDifferenceOptions = 76, BuiltinOptions_MirrorPadOptions = 77, BuiltinOptions_AbsOptions = 78, BuiltinOptions_SplitVOptions = 79, BuiltinOptions_MIN = BuiltinOptions_NONE, BuiltinOptions_MAX = BuiltinOptions_SplitVOptions }; inline const BuiltinOptions (&EnumValuesBuiltinOptions())[80] { static const BuiltinOptions values[] = {BuiltinOptions_NONE, BuiltinOptions_Conv2DOptions, BuiltinOptions_DepthwiseConv2DOptions, BuiltinOptions_ConcatEmbeddingsOptions, BuiltinOptions_LSHProjectionOptions, BuiltinOptions_Pool2DOptions, BuiltinOptions_SVDFOptions, BuiltinOptions_RNNOptions, BuiltinOptions_FullyConnectedOptions, BuiltinOptions_SoftmaxOptions, BuiltinOptions_ConcatenationOptions, BuiltinOptions_AddOptions, BuiltinOptions_L2NormOptions, BuiltinOptions_LocalResponseNormalizationOptions, BuiltinOptions_LSTMOptions, BuiltinOptions_ResizeBilinearOptions, BuiltinOptions_CallOptions, BuiltinOptions_ReshapeOptions, BuiltinOptions_SkipGramOptions, BuiltinOptions_SpaceToDepthOptions, BuiltinOptions_EmbeddingLookupSparseOptions, BuiltinOptions_MulOptions, BuiltinOptions_PadOptions, BuiltinOptions_GatherOptions, BuiltinOptions_BatchToSpaceNDOptions, BuiltinOptions_SpaceToBatchNDOptions, BuiltinOptions_TransposeOptions, BuiltinOptions_ReducerOptions, BuiltinOptions_SubOptions, BuiltinOptions_DivOptions, BuiltinOptions_SqueezeOptions, BuiltinOptions_SequenceRNNOptions, BuiltinOptions_StridedSliceOptions, BuiltinOptions_ExpOptions, BuiltinOptions_TopKV2Options, BuiltinOptions_SplitOptions, BuiltinOptions_LogSoftmaxOptions, BuiltinOptions_CastOptions, BuiltinOptions_DequantizeOptions, BuiltinOptions_MaximumMinimumOptions, BuiltinOptions_ArgMaxOptions, BuiltinOptions_LessOptions, BuiltinOptions_NegOptions, BuiltinOptions_PadV2Options, BuiltinOptions_GreaterOptions, BuiltinOptions_GreaterEqualOptions, BuiltinOptions_LessEqualOptions, BuiltinOptions_SelectOptions, BuiltinOptions_SliceOptions, BuiltinOptions_TransposeConvOptions, BuiltinOptions_SparseToDenseOptions, BuiltinOptions_TileOptions, BuiltinOptions_ExpandDimsOptions, BuiltinOptions_EqualOptions, BuiltinOptions_NotEqualOptions, BuiltinOptions_ShapeOptions, BuiltinOptions_PowOptions, BuiltinOptions_ArgMinOptions, BuiltinOptions_FakeQuantOptions, BuiltinOptions_PackOptions, BuiltinOptions_LogicalOrOptions, BuiltinOptions_OneHotOptions, BuiltinOptions_LogicalAndOptions, BuiltinOptions_LogicalNotOptions, BuiltinOptions_UnpackOptions, BuiltinOptions_FloorDivOptions, BuiltinOptions_SquareOptions, BuiltinOptions_ZerosLikeOptions, BuiltinOptions_FillOptions, BuiltinOptions_BidirectionalSequenceLSTMOptions, BuiltinOptions_BidirectionalSequenceRNNOptions, BuiltinOptions_UnidirectionalSequenceLSTMOptions, BuiltinOptions_FloorModOptions, BuiltinOptions_RangeOptions, BuiltinOptions_ResizeNearestNeighborOptions, BuiltinOptions_LeakyReluOptions, BuiltinOptions_SquaredDifferenceOptions, BuiltinOptions_MirrorPadOptions, BuiltinOptions_AbsOptions, BuiltinOptions_SplitVOptions}; return values; } inline const char *const *EnumNamesBuiltinOptions() { static const char *const names[] = {"NONE", "Conv2DOptions", "DepthwiseConv2DOptions", "ConcatEmbeddingsOptions", "LSHProjectionOptions", "Pool2DOptions", "SVDFOptions", "RNNOptions", "FullyConnectedOptions", "SoftmaxOptions", "ConcatenationOptions", "AddOptions", "L2NormOptions", "LocalResponseNormalizationOptions", "LSTMOptions", "ResizeBilinearOptions", "CallOptions", "ReshapeOptions", "SkipGramOptions", "SpaceToDepthOptions", "EmbeddingLookupSparseOptions", "MulOptions", "PadOptions", "GatherOptions", "BatchToSpaceNDOptions", "SpaceToBatchNDOptions", "TransposeOptions", "ReducerOptions", "SubOptions", "DivOptions", "SqueezeOptions", "SequenceRNNOptions", "StridedSliceOptions", "ExpOptions", "TopKV2Options", "SplitOptions", "LogSoftmaxOptions", "CastOptions", "DequantizeOptions", "MaximumMinimumOptions", "ArgMaxOptions", "LessOptions", "NegOptions", "PadV2Options", "GreaterOptions", "GreaterEqualOptions", "LessEqualOptions", "SelectOptions", "SliceOptions", "TransposeConvOptions", "SparseToDenseOptions", "TileOptions", "ExpandDimsOptions", "EqualOptions", "NotEqualOptions", "ShapeOptions", "PowOptions", "ArgMinOptions", "FakeQuantOptions", "PackOptions", "LogicalOrOptions", "OneHotOptions", "LogicalAndOptions", "LogicalNotOptions", "UnpackOptions", "FloorDivOptions", "SquareOptions", "ZerosLikeOptions", "FillOptions", "BidirectionalSequenceLSTMOptions", "BidirectionalSequenceRNNOptions", "UnidirectionalSequenceLSTMOptions", "FloorModOptions", "RangeOptions", "ResizeNearestNeighborOptions", "LeakyReluOptions", "SquaredDifferenceOptions", "MirrorPadOptions", "AbsOptions", "SplitVOptions", nullptr}; return names; } inline const char *EnumNameBuiltinOptions(BuiltinOptions e) { const size_t index = static_cast(e); return EnumNamesBuiltinOptions()[index]; } template struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_NONE; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_Conv2DOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_DepthwiseConv2DOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ConcatEmbeddingsOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LSHProjectionOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_Pool2DOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SVDFOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_RNNOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_FullyConnectedOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SoftmaxOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ConcatenationOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_AddOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_L2NormOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LocalResponseNormalizationOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LSTMOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ResizeBilinearOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_CallOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ReshapeOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SkipGramOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SpaceToDepthOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_EmbeddingLookupSparseOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_MulOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_PadOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_GatherOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_BatchToSpaceNDOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SpaceToBatchNDOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_TransposeOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ReducerOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SubOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_DivOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SqueezeOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SequenceRNNOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_StridedSliceOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ExpOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_TopKV2Options; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SplitOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LogSoftmaxOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_CastOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_DequantizeOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_MaximumMinimumOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ArgMaxOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LessOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_NegOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_PadV2Options; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_GreaterOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_GreaterEqualOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LessEqualOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SelectOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SliceOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_TransposeConvOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SparseToDenseOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_TileOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ExpandDimsOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_EqualOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_NotEqualOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ShapeOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_PowOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ArgMinOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_FakeQuantOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_PackOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LogicalOrOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_OneHotOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LogicalAndOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LogicalNotOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_UnpackOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_FloorDivOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SquareOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ZerosLikeOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_FillOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_BidirectionalSequenceLSTMOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_BidirectionalSequenceRNNOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_UnidirectionalSequenceLSTMOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_FloorModOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_RangeOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ResizeNearestNeighborOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LeakyReluOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SquaredDifferenceOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_MirrorPadOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_AbsOptions; }; template <> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SplitVOptions; }; bool VerifyBuiltinOptions(flatbuffers::Verifier &verifier, const void *obj, BuiltinOptions type); bool VerifyBuiltinOptionsVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types); enum Padding { Padding_SAME = 0, Padding_VALID = 1, Padding_MIN = Padding_SAME, Padding_MAX = Padding_VALID }; inline const Padding (&EnumValuesPadding())[2] { static const Padding values[] = {Padding_SAME, Padding_VALID}; return values; } inline const char *const *EnumNamesPadding() { static const char *const names[] = {"SAME", "VALID", nullptr}; return names; } inline const char *EnumNamePadding(Padding e) { const size_t index = static_cast(e); return EnumNamesPadding()[index]; } enum ActivationFunctionType { ActivationFunctionType_NONE = 0, ActivationFunctionType_RELU = 1, ActivationFunctionType_RELU_N1_TO_1 = 2, ActivationFunctionType_RELU6 = 3, ActivationFunctionType_TANH = 4, ActivationFunctionType_SIGN_BIT = 5, ActivationFunctionType_MIN = ActivationFunctionType_NONE, ActivationFunctionType_MAX = ActivationFunctionType_SIGN_BIT }; inline const ActivationFunctionType (&EnumValuesActivationFunctionType())[6] { static const ActivationFunctionType values[] = { ActivationFunctionType_NONE, ActivationFunctionType_RELU, ActivationFunctionType_RELU_N1_TO_1, ActivationFunctionType_RELU6, ActivationFunctionType_TANH, ActivationFunctionType_SIGN_BIT}; return values; } inline const char *const *EnumNamesActivationFunctionType() { static const char *const names[] = {"NONE", "RELU", "RELU_N1_TO_1", "RELU6", "TANH", "SIGN_BIT", nullptr}; return names; } inline const char *EnumNameActivationFunctionType(ActivationFunctionType e) { const size_t index = static_cast(e); return EnumNamesActivationFunctionType()[index]; } enum LSHProjectionType { LSHProjectionType_UNKNOWN = 0, LSHProjectionType_SPARSE = 1, LSHProjectionType_DENSE = 2, LSHProjectionType_MIN = LSHProjectionType_UNKNOWN, LSHProjectionType_MAX = LSHProjectionType_DENSE }; inline const LSHProjectionType (&EnumValuesLSHProjectionType())[3] { static const LSHProjectionType values[] = {LSHProjectionType_UNKNOWN, LSHProjectionType_SPARSE, LSHProjectionType_DENSE}; return values; } inline const char *const *EnumNamesLSHProjectionType() { static const char *const names[] = {"UNKNOWN", "SPARSE", "DENSE", nullptr}; return names; } inline const char *EnumNameLSHProjectionType(LSHProjectionType e) { const size_t index = static_cast(e); return EnumNamesLSHProjectionType()[index]; } enum FullyConnectedOptionsWeightsFormat { FullyConnectedOptionsWeightsFormat_DEFAULT = 0, FullyConnectedOptionsWeightsFormat_SHUFFLED4x16INT8 = 1, FullyConnectedOptionsWeightsFormat_MIN = FullyConnectedOptionsWeightsFormat_DEFAULT, FullyConnectedOptionsWeightsFormat_MAX = FullyConnectedOptionsWeightsFormat_SHUFFLED4x16INT8 }; inline const FullyConnectedOptionsWeightsFormat (&EnumValuesFullyConnectedOptionsWeightsFormat())[2] { static const FullyConnectedOptionsWeightsFormat values[] = { FullyConnectedOptionsWeightsFormat_DEFAULT, FullyConnectedOptionsWeightsFormat_SHUFFLED4x16INT8}; return values; } inline const char *const *EnumNamesFullyConnectedOptionsWeightsFormat() { static const char *const names[] = {"DEFAULT", "SHUFFLED4x16INT8", nullptr}; return names; } inline const char *EnumNameFullyConnectedOptionsWeightsFormat(FullyConnectedOptionsWeightsFormat e) { const size_t index = static_cast(e); return EnumNamesFullyConnectedOptionsWeightsFormat()[index]; } enum LSTMKernelType { LSTMKernelType_FULL = 0, LSTMKernelType_BASIC = 1, LSTMKernelType_MIN = LSTMKernelType_FULL, LSTMKernelType_MAX = LSTMKernelType_BASIC }; inline const LSTMKernelType (&EnumValuesLSTMKernelType())[2] { static const LSTMKernelType values[] = {LSTMKernelType_FULL, LSTMKernelType_BASIC}; return values; } inline const char *const *EnumNamesLSTMKernelType() { static const char *const names[] = {"FULL", "BASIC", nullptr}; return names; } inline const char *EnumNameLSTMKernelType(LSTMKernelType e) { const size_t index = static_cast(e); return EnumNamesLSTMKernelType()[index]; } enum CombinerType { CombinerType_SUM = 0, CombinerType_MEAN = 1, CombinerType_SQRTN = 2, CombinerType_MIN = CombinerType_SUM, CombinerType_MAX = CombinerType_SQRTN }; inline const CombinerType (&EnumValuesCombinerType())[3] { static const CombinerType values[] = {CombinerType_SUM, CombinerType_MEAN, CombinerType_SQRTN}; return values; } inline const char *const *EnumNamesCombinerType() { static const char *const names[] = {"SUM", "MEAN", "SQRTN", nullptr}; return names; } inline const char *EnumNameCombinerType(CombinerType e) { const size_t index = static_cast(e); return EnumNamesCombinerType()[index]; } enum MirrorPadMode { MirrorPadMode_REFLECT = 0, MirrorPadMode_SYMMETRIC = 1, MirrorPadMode_MIN = MirrorPadMode_REFLECT, MirrorPadMode_MAX = MirrorPadMode_SYMMETRIC }; inline const MirrorPadMode (&EnumValuesMirrorPadMode())[2] { static const MirrorPadMode values[] = {MirrorPadMode_REFLECT, MirrorPadMode_SYMMETRIC}; return values; } inline const char *const *EnumNamesMirrorPadMode() { static const char *const names[] = {"REFLECT", "SYMMETRIC", nullptr}; return names; } inline const char *EnumNameMirrorPadMode(MirrorPadMode e) { const size_t index = static_cast(e); return EnumNamesMirrorPadMode()[index]; } enum CustomOptionsFormat { CustomOptionsFormat_FLEXBUFFERS = 0, CustomOptionsFormat_MIN = CustomOptionsFormat_FLEXBUFFERS, CustomOptionsFormat_MAX = CustomOptionsFormat_FLEXBUFFERS }; inline const CustomOptionsFormat (&EnumValuesCustomOptionsFormat())[1] { static const CustomOptionsFormat values[] = {CustomOptionsFormat_FLEXBUFFERS}; return values; } inline const char *const *EnumNamesCustomOptionsFormat() { static const char *const names[] = {"FLEXBUFFERS", nullptr}; return names; } inline const char *EnumNameCustomOptionsFormat(CustomOptionsFormat e) { const size_t index = static_cast(e); return EnumNamesCustomOptionsFormat()[index]; } struct CustomQuantization FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_CUSTOM = 4 }; const flatbuffers::Vector *custom() const { return GetPointer *>(VT_CUSTOM); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_CUSTOM) && verifier.VerifyVector(custom()) && verifier.EndTable(); } }; struct CustomQuantizationBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_custom(flatbuffers::Offset> custom) { fbb_.AddOffset(CustomQuantization::VT_CUSTOM, custom); } explicit CustomQuantizationBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } CustomQuantizationBuilder &operator=(const CustomQuantizationBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateCustomQuantization(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> custom = 0) { CustomQuantizationBuilder builder_(_fbb); builder_.add_custom(custom); return builder_.Finish(); } inline flatbuffers::Offset CreateCustomQuantizationDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector *custom = nullptr) { return tflite::CreateCustomQuantization(_fbb, custom ? _fbb.CreateVector(*custom) : 0); } struct QuantizationParameters FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_MIN = 4, VT_MAX = 6, VT_SCALE = 8, VT_ZERO_POINT = 10, VT_DETAILS_TYPE = 12, VT_DETAILS = 14 }; const flatbuffers::Vector *min() const { return GetPointer *>(VT_MIN); } const flatbuffers::Vector *max() const { return GetPointer *>(VT_MAX); } const flatbuffers::Vector *scale() const { return GetPointer *>(VT_SCALE); } const flatbuffers::Vector *zero_point() const { return GetPointer *>(VT_ZERO_POINT); } QuantizationDetails details_type() const { return static_cast(GetField(VT_DETAILS_TYPE, 0)); } const void *details() const { return GetPointer(VT_DETAILS); } template const T *details_as() const; const CustomQuantization *details_as_CustomQuantization() const { return details_type() == QuantizationDetails_CustomQuantization ? static_cast(details()) : nullptr; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_MIN) && verifier.VerifyVector(min()) && VerifyOffset(verifier, VT_MAX) && verifier.VerifyVector(max()) && VerifyOffset(verifier, VT_SCALE) && verifier.VerifyVector(scale()) && VerifyOffset(verifier, VT_ZERO_POINT) && verifier.VerifyVector(zero_point()) && VerifyField(verifier, VT_DETAILS_TYPE) && VerifyOffset(verifier, VT_DETAILS) && VerifyQuantizationDetails(verifier, details(), details_type()) && verifier.EndTable(); } }; template <> inline const CustomQuantization *QuantizationParameters::details_as() const { return details_as_CustomQuantization(); } struct QuantizationParametersBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_min(flatbuffers::Offset> min) { fbb_.AddOffset(QuantizationParameters::VT_MIN, min); } void add_max(flatbuffers::Offset> max) { fbb_.AddOffset(QuantizationParameters::VT_MAX, max); } void add_scale(flatbuffers::Offset> scale) { fbb_.AddOffset(QuantizationParameters::VT_SCALE, scale); } void add_zero_point(flatbuffers::Offset> zero_point) { fbb_.AddOffset(QuantizationParameters::VT_ZERO_POINT, zero_point); } void add_details_type(QuantizationDetails details_type) { fbb_.AddElement(QuantizationParameters::VT_DETAILS_TYPE, static_cast(details_type), 0); } void add_details(flatbuffers::Offset details) { fbb_.AddOffset(QuantizationParameters::VT_DETAILS, details); } explicit QuantizationParametersBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } QuantizationParametersBuilder &operator=(const QuantizationParametersBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateQuantizationParameters(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> min = 0, flatbuffers::Offset> max = 0, flatbuffers::Offset> scale = 0, flatbuffers::Offset> zero_point = 0, QuantizationDetails details_type = QuantizationDetails_NONE, flatbuffers::Offset details = 0) { QuantizationParametersBuilder builder_(_fbb); builder_.add_details(details); builder_.add_zero_point(zero_point); builder_.add_scale(scale); builder_.add_max(max); builder_.add_min(min); builder_.add_details_type(details_type); return builder_.Finish(); } inline flatbuffers::Offset CreateQuantizationParametersDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *min = nullptr, const std::vector *max = nullptr, const std::vector *scale = nullptr, const std::vector *zero_point = nullptr, QuantizationDetails details_type = QuantizationDetails_NONE, flatbuffers::Offset details = 0) { return tflite::CreateQuantizationParameters( _fbb, min ? _fbb.CreateVector(*min) : 0, max ? _fbb.CreateVector(*max) : 0, scale ? _fbb.CreateVector(*scale) : 0, zero_point ? _fbb.CreateVector(*zero_point) : 0, details_type, details); } struct Tensor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_SHAPE = 4, VT_TYPE = 6, VT_BUFFER = 8, VT_NAME = 10, VT_QUANTIZATION = 12, VT_IS_VARIABLE = 14 }; const flatbuffers::Vector *shape() const { return GetPointer *>(VT_SHAPE); } TensorType type() const { return static_cast(GetField(VT_TYPE, 0)); } uint32_t buffer() const { return GetField(VT_BUFFER, 0); } const flatbuffers::String *name() const { return GetPointer(VT_NAME); } const QuantizationParameters *quantization() const { return GetPointer(VT_QUANTIZATION); } bool is_variable() const { return GetField(VT_IS_VARIABLE, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_SHAPE) && verifier.VerifyVector(shape()) && VerifyField(verifier, VT_TYPE) && VerifyField(verifier, VT_BUFFER) && VerifyOffset(verifier, VT_NAME) && verifier.VerifyString(name()) && VerifyOffset(verifier, VT_QUANTIZATION) && verifier.VerifyTable(quantization()) && VerifyField(verifier, VT_IS_VARIABLE) && verifier.EndTable(); } }; struct TensorBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_shape(flatbuffers::Offset> shape) { fbb_.AddOffset(Tensor::VT_SHAPE, shape); } void add_type(TensorType type) { fbb_.AddElement(Tensor::VT_TYPE, static_cast(type), 0); } void add_buffer(uint32_t buffer) { fbb_.AddElement(Tensor::VT_BUFFER, buffer, 0); } void add_name(flatbuffers::Offset name) { fbb_.AddOffset(Tensor::VT_NAME, name); } void add_quantization(flatbuffers::Offset quantization) { fbb_.AddOffset(Tensor::VT_QUANTIZATION, quantization); } void add_is_variable(bool is_variable) { fbb_.AddElement(Tensor::VT_IS_VARIABLE, static_cast(is_variable), 0); } explicit TensorBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } TensorBuilder &operator=(const TensorBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateTensor(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> shape = 0, TensorType type = TensorType_FLOAT32, uint32_t buffer = 0, flatbuffers::Offset name = 0, flatbuffers::Offset quantization = 0, bool is_variable = false) { TensorBuilder builder_(_fbb); builder_.add_quantization(quantization); builder_.add_name(name); builder_.add_buffer(buffer); builder_.add_shape(shape); builder_.add_is_variable(is_variable); builder_.add_type(type); return builder_.Finish(); } inline flatbuffers::Offset CreateTensorDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *shape = nullptr, TensorType type = TensorType_FLOAT32, uint32_t buffer = 0, const char *name = nullptr, flatbuffers::Offset quantization = 0, bool is_variable = false) { return tflite::CreateTensor(_fbb, shape ? _fbb.CreateVector(*shape) : 0, type, buffer, name ? _fbb.CreateString(name) : 0, quantization, is_variable); } struct Conv2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_PADDING = 4, VT_STRIDE_W = 6, VT_STRIDE_H = 8, VT_FUSED_ACTIVATION_FUNCTION = 10, VT_DILATION_W_FACTOR = 12, VT_DILATION_H_FACTOR = 14 }; Padding padding() const { return static_cast(GetField(VT_PADDING, 0)); } int32_t stride_w() const { return GetField(VT_STRIDE_W, 0); } int32_t stride_h() const { return GetField(VT_STRIDE_H, 0); } ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } int32_t dilation_w_factor() const { return GetField(VT_DILATION_W_FACTOR, 1); } int32_t dilation_h_factor() const { return GetField(VT_DILATION_H_FACTOR, 1); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_PADDING) && VerifyField(verifier, VT_STRIDE_W) && VerifyField(verifier, VT_STRIDE_H) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_DILATION_W_FACTOR) && VerifyField(verifier, VT_DILATION_H_FACTOR) && verifier.EndTable(); } }; struct Conv2DOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_padding(Padding padding) { fbb_.AddElement(Conv2DOptions::VT_PADDING, static_cast(padding), 0); } void add_stride_w(int32_t stride_w) { fbb_.AddElement(Conv2DOptions::VT_STRIDE_W, stride_w, 0); } void add_stride_h(int32_t stride_h) { fbb_.AddElement(Conv2DOptions::VT_STRIDE_H, stride_h, 0); } void add_fused_activation_function(ActivationFunctionType fused_activation_function) { fbb_.AddElement(Conv2DOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_dilation_w_factor(int32_t dilation_w_factor) { fbb_.AddElement(Conv2DOptions::VT_DILATION_W_FACTOR, dilation_w_factor, 1); } void add_dilation_h_factor(int32_t dilation_h_factor) { fbb_.AddElement(Conv2DOptions::VT_DILATION_H_FACTOR, dilation_h_factor, 1); } explicit Conv2DOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } Conv2DOptionsBuilder &operator=(const Conv2DOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateConv2DOptions(flatbuffers::FlatBufferBuilder &_fbb, Padding padding = Padding_SAME, int32_t stride_w = 0, int32_t stride_h = 0, ActivationFunctionType fused_activation_function = ActivationFunctionType_NONE, int32_t dilation_w_factor = 1, int32_t dilation_h_factor = 1) { Conv2DOptionsBuilder builder_(_fbb); builder_.add_dilation_h_factor(dilation_h_factor); builder_.add_dilation_w_factor(dilation_w_factor); builder_.add_stride_h(stride_h); builder_.add_stride_w(stride_w); builder_.add_fused_activation_function(fused_activation_function); builder_.add_padding(padding); return builder_.Finish(); } struct Pool2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_PADDING = 4, VT_STRIDE_W = 6, VT_STRIDE_H = 8, VT_FILTER_WIDTH = 10, VT_FILTER_HEIGHT = 12, VT_FUSED_ACTIVATION_FUNCTION = 14 }; Padding padding() const { return static_cast(GetField(VT_PADDING, 0)); } int32_t stride_w() const { return GetField(VT_STRIDE_W, 0); } int32_t stride_h() const { return GetField(VT_STRIDE_H, 0); } int32_t filter_width() const { return GetField(VT_FILTER_WIDTH, 0); } int32_t filter_height() const { return GetField(VT_FILTER_HEIGHT, 0); } ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_PADDING) && VerifyField(verifier, VT_STRIDE_W) && VerifyField(verifier, VT_STRIDE_H) && VerifyField(verifier, VT_FILTER_WIDTH) && VerifyField(verifier, VT_FILTER_HEIGHT) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && verifier.EndTable(); } }; struct Pool2DOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_padding(Padding padding) { fbb_.AddElement(Pool2DOptions::VT_PADDING, static_cast(padding), 0); } void add_stride_w(int32_t stride_w) { fbb_.AddElement(Pool2DOptions::VT_STRIDE_W, stride_w, 0); } void add_stride_h(int32_t stride_h) { fbb_.AddElement(Pool2DOptions::VT_STRIDE_H, stride_h, 0); } void add_filter_width(int32_t filter_width) { fbb_.AddElement(Pool2DOptions::VT_FILTER_WIDTH, filter_width, 0); } void add_filter_height(int32_t filter_height) { fbb_.AddElement(Pool2DOptions::VT_FILTER_HEIGHT, filter_height, 0); } void add_fused_activation_function(ActivationFunctionType fused_activation_function) { fbb_.AddElement(Pool2DOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } explicit Pool2DOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } Pool2DOptionsBuilder &operator=(const Pool2DOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreatePool2DOptions(flatbuffers::FlatBufferBuilder &_fbb, Padding padding = Padding_SAME, int32_t stride_w = 0, int32_t stride_h = 0, int32_t filter_width = 0, int32_t filter_height = 0, ActivationFunctionType fused_activation_function = ActivationFunctionType_NONE) { Pool2DOptionsBuilder builder_(_fbb); builder_.add_filter_height(filter_height); builder_.add_filter_width(filter_width); builder_.add_stride_h(stride_h); builder_.add_stride_w(stride_w); builder_.add_fused_activation_function(fused_activation_function); builder_.add_padding(padding); return builder_.Finish(); } struct DepthwiseConv2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_PADDING = 4, VT_STRIDE_W = 6, VT_STRIDE_H = 8, VT_DEPTH_MULTIPLIER = 10, VT_FUSED_ACTIVATION_FUNCTION = 12, VT_DILATION_W_FACTOR = 14, VT_DILATION_H_FACTOR = 16 }; Padding padding() const { return static_cast(GetField(VT_PADDING, 0)); } int32_t stride_w() const { return GetField(VT_STRIDE_W, 0); } int32_t stride_h() const { return GetField(VT_STRIDE_H, 0); } int32_t depth_multiplier() const { return GetField(VT_DEPTH_MULTIPLIER, 0); } ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } int32_t dilation_w_factor() const { return GetField(VT_DILATION_W_FACTOR, 1); } int32_t dilation_h_factor() const { return GetField(VT_DILATION_H_FACTOR, 1); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_PADDING) && VerifyField(verifier, VT_STRIDE_W) && VerifyField(verifier, VT_STRIDE_H) && VerifyField(verifier, VT_DEPTH_MULTIPLIER) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_DILATION_W_FACTOR) && VerifyField(verifier, VT_DILATION_H_FACTOR) && verifier.EndTable(); } }; struct DepthwiseConv2DOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_padding(Padding padding) { fbb_.AddElement(DepthwiseConv2DOptions::VT_PADDING, static_cast(padding), 0); } void add_stride_w(int32_t stride_w) { fbb_.AddElement(DepthwiseConv2DOptions::VT_STRIDE_W, stride_w, 0); } void add_stride_h(int32_t stride_h) { fbb_.AddElement(DepthwiseConv2DOptions::VT_STRIDE_H, stride_h, 0); } void add_depth_multiplier(int32_t depth_multiplier) { fbb_.AddElement(DepthwiseConv2DOptions::VT_DEPTH_MULTIPLIER, depth_multiplier, 0); } void add_fused_activation_function(ActivationFunctionType fused_activation_function) { fbb_.AddElement(DepthwiseConv2DOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_dilation_w_factor(int32_t dilation_w_factor) { fbb_.AddElement(DepthwiseConv2DOptions::VT_DILATION_W_FACTOR, dilation_w_factor, 1); } void add_dilation_h_factor(int32_t dilation_h_factor) { fbb_.AddElement(DepthwiseConv2DOptions::VT_DILATION_H_FACTOR, dilation_h_factor, 1); } explicit DepthwiseConv2DOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } DepthwiseConv2DOptionsBuilder &operator=(const DepthwiseConv2DOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateDepthwiseConv2DOptions( flatbuffers::FlatBufferBuilder &_fbb, Padding padding = Padding_SAME, int32_t stride_w = 0, int32_t stride_h = 0, int32_t depth_multiplier = 0, ActivationFunctionType fused_activation_function = ActivationFunctionType_NONE, int32_t dilation_w_factor = 1, int32_t dilation_h_factor = 1) { DepthwiseConv2DOptionsBuilder builder_(_fbb); builder_.add_dilation_h_factor(dilation_h_factor); builder_.add_dilation_w_factor(dilation_w_factor); builder_.add_depth_multiplier(depth_multiplier); builder_.add_stride_h(stride_h); builder_.add_stride_w(stride_w); builder_.add_fused_activation_function(fused_activation_function); builder_.add_padding(padding); return builder_.Finish(); } struct ConcatEmbeddingsOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_NUM_CHANNELS = 4, VT_NUM_COLUMNS_PER_CHANNEL = 6, VT_EMBEDDING_DIM_PER_CHANNEL = 8 }; int32_t num_channels() const { return GetField(VT_NUM_CHANNELS, 0); } const flatbuffers::Vector *num_columns_per_channel() const { return GetPointer *>(VT_NUM_COLUMNS_PER_CHANNEL); } const flatbuffers::Vector *embedding_dim_per_channel() const { return GetPointer *>(VT_EMBEDDING_DIM_PER_CHANNEL); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_NUM_CHANNELS) && VerifyOffset(verifier, VT_NUM_COLUMNS_PER_CHANNEL) && verifier.VerifyVector(num_columns_per_channel()) && VerifyOffset(verifier, VT_EMBEDDING_DIM_PER_CHANNEL) && verifier.VerifyVector(embedding_dim_per_channel()) && verifier.EndTable(); } }; struct ConcatEmbeddingsOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_num_channels(int32_t num_channels) { fbb_.AddElement(ConcatEmbeddingsOptions::VT_NUM_CHANNELS, num_channels, 0); } void add_num_columns_per_channel( flatbuffers::Offset> num_columns_per_channel) { fbb_.AddOffset(ConcatEmbeddingsOptions::VT_NUM_COLUMNS_PER_CHANNEL, num_columns_per_channel); } void add_embedding_dim_per_channel( flatbuffers::Offset> embedding_dim_per_channel) { fbb_.AddOffset(ConcatEmbeddingsOptions::VT_EMBEDDING_DIM_PER_CHANNEL, embedding_dim_per_channel); } explicit ConcatEmbeddingsOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ConcatEmbeddingsOptionsBuilder &operator=(const ConcatEmbeddingsOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateConcatEmbeddingsOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t num_channels = 0, flatbuffers::Offset> num_columns_per_channel = 0, flatbuffers::Offset> embedding_dim_per_channel = 0) { ConcatEmbeddingsOptionsBuilder builder_(_fbb); builder_.add_embedding_dim_per_channel(embedding_dim_per_channel); builder_.add_num_columns_per_channel(num_columns_per_channel); builder_.add_num_channels(num_channels); return builder_.Finish(); } inline flatbuffers::Offset CreateConcatEmbeddingsOptionsDirect(flatbuffers::FlatBufferBuilder &_fbb, int32_t num_channels = 0, const std::vector *num_columns_per_channel = nullptr, const std::vector *embedding_dim_per_channel = nullptr) { return tflite::CreateConcatEmbeddingsOptions( _fbb, num_channels, num_columns_per_channel ? _fbb.CreateVector(*num_columns_per_channel) : 0, embedding_dim_per_channel ? _fbb.CreateVector(*embedding_dim_per_channel) : 0); } struct LSHProjectionOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_TYPE = 4 }; LSHProjectionType type() const { return static_cast(GetField(VT_TYPE, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_TYPE) && verifier.EndTable(); } }; struct LSHProjectionOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_type(LSHProjectionType type) { fbb_.AddElement(LSHProjectionOptions::VT_TYPE, static_cast(type), 0); } explicit LSHProjectionOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } LSHProjectionOptionsBuilder &operator=(const LSHProjectionOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLSHProjectionOptions(flatbuffers::FlatBufferBuilder &_fbb, LSHProjectionType type = LSHProjectionType_UNKNOWN) { LSHProjectionOptionsBuilder builder_(_fbb); builder_.add_type(type); return builder_.Finish(); } struct SVDFOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_RANK = 4, VT_FUSED_ACTIVATION_FUNCTION = 6 }; int32_t rank() const { return GetField(VT_RANK, 0); } ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_RANK) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && verifier.EndTable(); } }; struct SVDFOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_rank(int32_t rank) { fbb_.AddElement(SVDFOptions::VT_RANK, rank, 0); } void add_fused_activation_function(ActivationFunctionType fused_activation_function) { fbb_.AddElement(SVDFOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } explicit SVDFOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SVDFOptionsBuilder &operator=(const SVDFOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSVDFOptions(flatbuffers::FlatBufferBuilder &_fbb, int32_t rank = 0, ActivationFunctionType fused_activation_function = ActivationFunctionType_NONE) { SVDFOptionsBuilder builder_(_fbb); builder_.add_rank(rank); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct RNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_FUSED_ACTIVATION_FUNCTION = 4 }; ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && verifier.EndTable(); } }; struct RNNOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(ActivationFunctionType fused_activation_function) { fbb_.AddElement(RNNOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } explicit RNNOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } RNNOptionsBuilder &operator=(const RNNOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateRNNOptions(flatbuffers::FlatBufferBuilder &_fbb, ActivationFunctionType fused_activation_function = ActivationFunctionType_NONE) { RNNOptionsBuilder builder_(_fbb); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct SequenceRNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_TIME_MAJOR = 4, VT_FUSED_ACTIVATION_FUNCTION = 6 }; bool time_major() const { return GetField(VT_TIME_MAJOR, 0) != 0; } ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_TIME_MAJOR) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && verifier.EndTable(); } }; struct SequenceRNNOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_time_major(bool time_major) { fbb_.AddElement(SequenceRNNOptions::VT_TIME_MAJOR, static_cast(time_major), 0); } void add_fused_activation_function(ActivationFunctionType fused_activation_function) { fbb_.AddElement(SequenceRNNOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } explicit SequenceRNNOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SequenceRNNOptionsBuilder &operator=(const SequenceRNNOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSequenceRNNOptions( flatbuffers::FlatBufferBuilder &_fbb, bool time_major = false, ActivationFunctionType fused_activation_function = ActivationFunctionType_NONE) { SequenceRNNOptionsBuilder builder_(_fbb); builder_.add_fused_activation_function(fused_activation_function); builder_.add_time_major(time_major); return builder_.Finish(); } struct BidirectionalSequenceRNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_TIME_MAJOR = 4, VT_FUSED_ACTIVATION_FUNCTION = 6, VT_MERGE_OUTPUTS = 8 }; bool time_major() const { return GetField(VT_TIME_MAJOR, 0) != 0; } ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool merge_outputs() const { return GetField(VT_MERGE_OUTPUTS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_TIME_MAJOR) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_MERGE_OUTPUTS) && verifier.EndTable(); } }; struct BidirectionalSequenceRNNOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_time_major(bool time_major) { fbb_.AddElement(BidirectionalSequenceRNNOptions::VT_TIME_MAJOR, static_cast(time_major), 0); } void add_fused_activation_function(ActivationFunctionType fused_activation_function) { fbb_.AddElement(BidirectionalSequenceRNNOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_merge_outputs(bool merge_outputs) { fbb_.AddElement(BidirectionalSequenceRNNOptions::VT_MERGE_OUTPUTS, static_cast(merge_outputs), 0); } explicit BidirectionalSequenceRNNOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } BidirectionalSequenceRNNOptionsBuilder &operator=(const BidirectionalSequenceRNNOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateBidirectionalSequenceRNNOptions( flatbuffers::FlatBufferBuilder &_fbb, bool time_major = false, ActivationFunctionType fused_activation_function = ActivationFunctionType_NONE, bool merge_outputs = false) { BidirectionalSequenceRNNOptionsBuilder builder_(_fbb); builder_.add_merge_outputs(merge_outputs); builder_.add_fused_activation_function(fused_activation_function); builder_.add_time_major(time_major); return builder_.Finish(); } struct FullyConnectedOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_FUSED_ACTIVATION_FUNCTION = 4, VT_WEIGHTS_FORMAT = 6 }; ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } FullyConnectedOptionsWeightsFormat weights_format() const { return static_cast(GetField(VT_WEIGHTS_FORMAT, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_WEIGHTS_FORMAT) && verifier.EndTable(); } }; struct FullyConnectedOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(ActivationFunctionType fused_activation_function) { fbb_.AddElement(FullyConnectedOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_weights_format(FullyConnectedOptionsWeightsFormat weights_format) { fbb_.AddElement(FullyConnectedOptions::VT_WEIGHTS_FORMAT, static_cast(weights_format), 0); } explicit FullyConnectedOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } FullyConnectedOptionsBuilder &operator=(const FullyConnectedOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateFullyConnectedOptions( flatbuffers::FlatBufferBuilder &_fbb, ActivationFunctionType fused_activation_function = ActivationFunctionType_NONE, FullyConnectedOptionsWeightsFormat weights_format = FullyConnectedOptionsWeightsFormat_DEFAULT) { FullyConnectedOptionsBuilder builder_(_fbb); builder_.add_weights_format(weights_format); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct SoftmaxOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_BETA = 4 }; float beta() const { return GetField(VT_BETA, 0.0f); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_BETA) && verifier.EndTable(); } }; struct SoftmaxOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_beta(float beta) { fbb_.AddElement(SoftmaxOptions::VT_BETA, beta, 0.0f); } explicit SoftmaxOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SoftmaxOptionsBuilder &operator=(const SoftmaxOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSoftmaxOptions(flatbuffers::FlatBufferBuilder &_fbb, float beta = 0.0f) { SoftmaxOptionsBuilder builder_(_fbb); builder_.add_beta(beta); return builder_.Finish(); } struct ConcatenationOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_AXIS = 4, VT_FUSED_ACTIVATION_FUNCTION = 6 }; int32_t axis() const { return GetField(VT_AXIS, 0); } ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_AXIS) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && verifier.EndTable(); } }; struct ConcatenationOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_axis(int32_t axis) { fbb_.AddElement(ConcatenationOptions::VT_AXIS, axis, 0); } void add_fused_activation_function(ActivationFunctionType fused_activation_function) { fbb_.AddElement(ConcatenationOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } explicit ConcatenationOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ConcatenationOptionsBuilder &operator=(const ConcatenationOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateConcatenationOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t axis = 0, ActivationFunctionType fused_activation_function = ActivationFunctionType_NONE) { ConcatenationOptionsBuilder builder_(_fbb); builder_.add_axis(axis); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct AddOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_FUSED_ACTIVATION_FUNCTION = 4 }; ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && verifier.EndTable(); } }; struct AddOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(ActivationFunctionType fused_activation_function) { fbb_.AddElement(AddOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } explicit AddOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } AddOptionsBuilder &operator=(const AddOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateAddOptions(flatbuffers::FlatBufferBuilder &_fbb, ActivationFunctionType fused_activation_function = ActivationFunctionType_NONE) { AddOptionsBuilder builder_(_fbb); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct MulOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_FUSED_ACTIVATION_FUNCTION = 4 }; ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && verifier.EndTable(); } }; struct MulOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(ActivationFunctionType fused_activation_function) { fbb_.AddElement(MulOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } explicit MulOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } MulOptionsBuilder &operator=(const MulOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateMulOptions(flatbuffers::FlatBufferBuilder &_fbb, ActivationFunctionType fused_activation_function = ActivationFunctionType_NONE) { MulOptionsBuilder builder_(_fbb); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct L2NormOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_FUSED_ACTIVATION_FUNCTION = 4 }; ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && verifier.EndTable(); } }; struct L2NormOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(ActivationFunctionType fused_activation_function) { fbb_.AddElement(L2NormOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } explicit L2NormOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } L2NormOptionsBuilder &operator=(const L2NormOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateL2NormOptions(flatbuffers::FlatBufferBuilder &_fbb, ActivationFunctionType fused_activation_function = ActivationFunctionType_NONE) { L2NormOptionsBuilder builder_(_fbb); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct LocalResponseNormalizationOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_RADIUS = 4, VT_BIAS = 6, VT_ALPHA = 8, VT_BETA = 10 }; int32_t radius() const { return GetField(VT_RADIUS, 0); } float bias() const { return GetField(VT_BIAS, 0.0f); } float alpha() const { return GetField(VT_ALPHA, 0.0f); } float beta() const { return GetField(VT_BETA, 0.0f); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_RADIUS) && VerifyField(verifier, VT_BIAS) && VerifyField(verifier, VT_ALPHA) && VerifyField(verifier, VT_BETA) && verifier.EndTable(); } }; struct LocalResponseNormalizationOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_radius(int32_t radius) { fbb_.AddElement(LocalResponseNormalizationOptions::VT_RADIUS, radius, 0); } void add_bias(float bias) { fbb_.AddElement(LocalResponseNormalizationOptions::VT_BIAS, bias, 0.0f); } void add_alpha(float alpha) { fbb_.AddElement(LocalResponseNormalizationOptions::VT_ALPHA, alpha, 0.0f); } void add_beta(float beta) { fbb_.AddElement(LocalResponseNormalizationOptions::VT_BETA, beta, 0.0f); } explicit LocalResponseNormalizationOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } LocalResponseNormalizationOptionsBuilder & operator=(const LocalResponseNormalizationOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLocalResponseNormalizationOptions(flatbuffers::FlatBufferBuilder &_fbb, int32_t radius = 0, float bias = 0.0f, float alpha = 0.0f, float beta = 0.0f) { LocalResponseNormalizationOptionsBuilder builder_(_fbb); builder_.add_beta(beta); builder_.add_alpha(alpha); builder_.add_bias(bias); builder_.add_radius(radius); return builder_.Finish(); } struct LSTMOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_FUSED_ACTIVATION_FUNCTION = 4, VT_CELL_CLIP = 6, VT_PROJ_CLIP = 8, VT_KERNEL_TYPE = 10 }; ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } float cell_clip() const { return GetField(VT_CELL_CLIP, 0.0f); } float proj_clip() const { return GetField(VT_PROJ_CLIP, 0.0f); } LSTMKernelType kernel_type() const { return static_cast(GetField(VT_KERNEL_TYPE, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_CELL_CLIP) && VerifyField(verifier, VT_PROJ_CLIP) && VerifyField(verifier, VT_KERNEL_TYPE) && verifier.EndTable(); } }; struct LSTMOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(ActivationFunctionType fused_activation_function) { fbb_.AddElement(LSTMOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_cell_clip(float cell_clip) { fbb_.AddElement(LSTMOptions::VT_CELL_CLIP, cell_clip, 0.0f); } void add_proj_clip(float proj_clip) { fbb_.AddElement(LSTMOptions::VT_PROJ_CLIP, proj_clip, 0.0f); } void add_kernel_type(LSTMKernelType kernel_type) { fbb_.AddElement(LSTMOptions::VT_KERNEL_TYPE, static_cast(kernel_type), 0); } explicit LSTMOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } LSTMOptionsBuilder &operator=(const LSTMOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLSTMOptions(flatbuffers::FlatBufferBuilder &_fbb, ActivationFunctionType fused_activation_function = ActivationFunctionType_NONE, float cell_clip = 0.0f, float proj_clip = 0.0f, LSTMKernelType kernel_type = LSTMKernelType_FULL) { LSTMOptionsBuilder builder_(_fbb); builder_.add_proj_clip(proj_clip); builder_.add_cell_clip(cell_clip); builder_.add_kernel_type(kernel_type); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct UnidirectionalSequenceLSTMOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_FUSED_ACTIVATION_FUNCTION = 4, VT_CELL_CLIP = 6, VT_PROJ_CLIP = 8, VT_TIME_MAJOR = 10 }; ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } float cell_clip() const { return GetField(VT_CELL_CLIP, 0.0f); } float proj_clip() const { return GetField(VT_PROJ_CLIP, 0.0f); } bool time_major() const { return GetField(VT_TIME_MAJOR, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_CELL_CLIP) && VerifyField(verifier, VT_PROJ_CLIP) && VerifyField(verifier, VT_TIME_MAJOR) && verifier.EndTable(); } }; struct UnidirectionalSequenceLSTMOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(ActivationFunctionType fused_activation_function) { fbb_.AddElement(UnidirectionalSequenceLSTMOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_cell_clip(float cell_clip) { fbb_.AddElement(UnidirectionalSequenceLSTMOptions::VT_CELL_CLIP, cell_clip, 0.0f); } void add_proj_clip(float proj_clip) { fbb_.AddElement(UnidirectionalSequenceLSTMOptions::VT_PROJ_CLIP, proj_clip, 0.0f); } void add_time_major(bool time_major) { fbb_.AddElement(UnidirectionalSequenceLSTMOptions::VT_TIME_MAJOR, static_cast(time_major), 0); } explicit UnidirectionalSequenceLSTMOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } UnidirectionalSequenceLSTMOptionsBuilder & operator=(const UnidirectionalSequenceLSTMOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateUnidirectionalSequenceLSTMOptions( flatbuffers::FlatBufferBuilder &_fbb, ActivationFunctionType fused_activation_function = ActivationFunctionType_NONE, float cell_clip = 0.0f, float proj_clip = 0.0f, bool time_major = false) { UnidirectionalSequenceLSTMOptionsBuilder builder_(_fbb); builder_.add_proj_clip(proj_clip); builder_.add_cell_clip(cell_clip); builder_.add_time_major(time_major); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct BidirectionalSequenceLSTMOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_FUSED_ACTIVATION_FUNCTION = 4, VT_CELL_CLIP = 6, VT_PROJ_CLIP = 8, VT_MERGE_OUTPUTS = 10 }; ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } float cell_clip() const { return GetField(VT_CELL_CLIP, 0.0f); } float proj_clip() const { return GetField(VT_PROJ_CLIP, 0.0f); } bool merge_outputs() const { return GetField(VT_MERGE_OUTPUTS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_CELL_CLIP) && VerifyField(verifier, VT_PROJ_CLIP) && VerifyField(verifier, VT_MERGE_OUTPUTS) && verifier.EndTable(); } }; struct BidirectionalSequenceLSTMOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(ActivationFunctionType fused_activation_function) { fbb_.AddElement(BidirectionalSequenceLSTMOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_cell_clip(float cell_clip) { fbb_.AddElement(BidirectionalSequenceLSTMOptions::VT_CELL_CLIP, cell_clip, 0.0f); } void add_proj_clip(float proj_clip) { fbb_.AddElement(BidirectionalSequenceLSTMOptions::VT_PROJ_CLIP, proj_clip, 0.0f); } void add_merge_outputs(bool merge_outputs) { fbb_.AddElement(BidirectionalSequenceLSTMOptions::VT_MERGE_OUTPUTS, static_cast(merge_outputs), 0); } explicit BidirectionalSequenceLSTMOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } BidirectionalSequenceLSTMOptionsBuilder & operator=(const BidirectionalSequenceLSTMOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateBidirectionalSequenceLSTMOptions( flatbuffers::FlatBufferBuilder &_fbb, ActivationFunctionType fused_activation_function = ActivationFunctionType_NONE, float cell_clip = 0.0f, float proj_clip = 0.0f, bool merge_outputs = false) { BidirectionalSequenceLSTMOptionsBuilder builder_(_fbb); builder_.add_proj_clip(proj_clip); builder_.add_cell_clip(cell_clip); builder_.add_merge_outputs(merge_outputs); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct ResizeBilinearOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_ALIGN_CORNERS = 8 }; bool align_corners() const { return GetField(VT_ALIGN_CORNERS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_ALIGN_CORNERS) && verifier.EndTable(); } }; struct ResizeBilinearOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_align_corners(bool align_corners) { fbb_.AddElement(ResizeBilinearOptions::VT_ALIGN_CORNERS, static_cast(align_corners), 0); } explicit ResizeBilinearOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ResizeBilinearOptionsBuilder &operator=(const ResizeBilinearOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateResizeBilinearOptions(flatbuffers::FlatBufferBuilder &_fbb, bool align_corners = false) { ResizeBilinearOptionsBuilder builder_(_fbb); builder_.add_align_corners(align_corners); return builder_.Finish(); } struct ResizeNearestNeighborOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_ALIGN_CORNERS = 4 }; bool align_corners() const { return GetField(VT_ALIGN_CORNERS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_ALIGN_CORNERS) && verifier.EndTable(); } }; struct ResizeNearestNeighborOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_align_corners(bool align_corners) { fbb_.AddElement(ResizeNearestNeighborOptions::VT_ALIGN_CORNERS, static_cast(align_corners), 0); } explicit ResizeNearestNeighborOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ResizeNearestNeighborOptionsBuilder &operator=(const ResizeNearestNeighborOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateResizeNearestNeighborOptions(flatbuffers::FlatBufferBuilder &_fbb, bool align_corners = false) { ResizeNearestNeighborOptionsBuilder builder_(_fbb); builder_.add_align_corners(align_corners); return builder_.Finish(); } struct CallOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_SUBGRAPH = 4 }; uint32_t subgraph() const { return GetField(VT_SUBGRAPH, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_SUBGRAPH) && verifier.EndTable(); } }; struct CallOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_subgraph(uint32_t subgraph) { fbb_.AddElement(CallOptions::VT_SUBGRAPH, subgraph, 0); } explicit CallOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } CallOptionsBuilder &operator=(const CallOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateCallOptions(flatbuffers::FlatBufferBuilder &_fbb, uint32_t subgraph = 0) { CallOptionsBuilder builder_(_fbb); builder_.add_subgraph(subgraph); return builder_.Finish(); } struct PadOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct PadOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit PadOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } PadOptionsBuilder &operator=(const PadOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreatePadOptions(flatbuffers::FlatBufferBuilder &_fbb) { PadOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct PadV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct PadV2OptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit PadV2OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } PadV2OptionsBuilder &operator=(const PadV2OptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreatePadV2Options(flatbuffers::FlatBufferBuilder &_fbb) { PadV2OptionsBuilder builder_(_fbb); return builder_.Finish(); } struct ReshapeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_NEW_SHAPE = 4 }; const flatbuffers::Vector *new_shape() const { return GetPointer *>(VT_NEW_SHAPE); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_NEW_SHAPE) && verifier.VerifyVector(new_shape()) && verifier.EndTable(); } }; struct ReshapeOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_new_shape(flatbuffers::Offset> new_shape) { fbb_.AddOffset(ReshapeOptions::VT_NEW_SHAPE, new_shape); } explicit ReshapeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ReshapeOptionsBuilder &operator=(const ReshapeOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateReshapeOptions(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> new_shape = 0) { ReshapeOptionsBuilder builder_(_fbb); builder_.add_new_shape(new_shape); return builder_.Finish(); } inline flatbuffers::Offset CreateReshapeOptionsDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector *new_shape = nullptr) { return tflite::CreateReshapeOptions(_fbb, new_shape ? _fbb.CreateVector(*new_shape) : 0); } struct SpaceToBatchNDOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct SpaceToBatchNDOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit SpaceToBatchNDOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SpaceToBatchNDOptionsBuilder &operator=(const SpaceToBatchNDOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSpaceToBatchNDOptions(flatbuffers::FlatBufferBuilder &_fbb) { SpaceToBatchNDOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct BatchToSpaceNDOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct BatchToSpaceNDOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit BatchToSpaceNDOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } BatchToSpaceNDOptionsBuilder &operator=(const BatchToSpaceNDOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateBatchToSpaceNDOptions(flatbuffers::FlatBufferBuilder &_fbb) { BatchToSpaceNDOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct SkipGramOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_NGRAM_SIZE = 4, VT_MAX_SKIP_SIZE = 6, VT_INCLUDE_ALL_NGRAMS = 8 }; int32_t ngram_size() const { return GetField(VT_NGRAM_SIZE, 0); } int32_t max_skip_size() const { return GetField(VT_MAX_SKIP_SIZE, 0); } bool include_all_ngrams() const { return GetField(VT_INCLUDE_ALL_NGRAMS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_NGRAM_SIZE) && VerifyField(verifier, VT_MAX_SKIP_SIZE) && VerifyField(verifier, VT_INCLUDE_ALL_NGRAMS) && verifier.EndTable(); } }; struct SkipGramOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_ngram_size(int32_t ngram_size) { fbb_.AddElement(SkipGramOptions::VT_NGRAM_SIZE, ngram_size, 0); } void add_max_skip_size(int32_t max_skip_size) { fbb_.AddElement(SkipGramOptions::VT_MAX_SKIP_SIZE, max_skip_size, 0); } void add_include_all_ngrams(bool include_all_ngrams) { fbb_.AddElement(SkipGramOptions::VT_INCLUDE_ALL_NGRAMS, static_cast(include_all_ngrams), 0); } explicit SkipGramOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SkipGramOptionsBuilder &operator=(const SkipGramOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSkipGramOptions(flatbuffers::FlatBufferBuilder &_fbb, int32_t ngram_size = 0, int32_t max_skip_size = 0, bool include_all_ngrams = false) { SkipGramOptionsBuilder builder_(_fbb); builder_.add_max_skip_size(max_skip_size); builder_.add_ngram_size(ngram_size); builder_.add_include_all_ngrams(include_all_ngrams); return builder_.Finish(); } struct SpaceToDepthOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_BLOCK_SIZE = 4 }; int32_t block_size() const { return GetField(VT_BLOCK_SIZE, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_BLOCK_SIZE) && verifier.EndTable(); } }; struct SpaceToDepthOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_block_size(int32_t block_size) { fbb_.AddElement(SpaceToDepthOptions::VT_BLOCK_SIZE, block_size, 0); } explicit SpaceToDepthOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SpaceToDepthOptionsBuilder &operator=(const SpaceToDepthOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSpaceToDepthOptions(flatbuffers::FlatBufferBuilder &_fbb, int32_t block_size = 0) { SpaceToDepthOptionsBuilder builder_(_fbb); builder_.add_block_size(block_size); return builder_.Finish(); } struct SubOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_FUSED_ACTIVATION_FUNCTION = 4 }; ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && verifier.EndTable(); } }; struct SubOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(ActivationFunctionType fused_activation_function) { fbb_.AddElement(SubOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } explicit SubOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SubOptionsBuilder &operator=(const SubOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSubOptions(flatbuffers::FlatBufferBuilder &_fbb, ActivationFunctionType fused_activation_function = ActivationFunctionType_NONE) { SubOptionsBuilder builder_(_fbb); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct DivOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_FUSED_ACTIVATION_FUNCTION = 4 }; ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && verifier.EndTable(); } }; struct DivOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(ActivationFunctionType fused_activation_function) { fbb_.AddElement(DivOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } explicit DivOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } DivOptionsBuilder &operator=(const DivOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateDivOptions(flatbuffers::FlatBufferBuilder &_fbb, ActivationFunctionType fused_activation_function = ActivationFunctionType_NONE) { DivOptionsBuilder builder_(_fbb); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct TopKV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct TopKV2OptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit TopKV2OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } TopKV2OptionsBuilder &operator=(const TopKV2OptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateTopKV2Options(flatbuffers::FlatBufferBuilder &_fbb) { TopKV2OptionsBuilder builder_(_fbb); return builder_.Finish(); } struct EmbeddingLookupSparseOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_COMBINER = 4 }; CombinerType combiner() const { return static_cast(GetField(VT_COMBINER, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_COMBINER) && verifier.EndTable(); } }; struct EmbeddingLookupSparseOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_combiner(CombinerType combiner) { fbb_.AddElement(EmbeddingLookupSparseOptions::VT_COMBINER, static_cast(combiner), 0); } explicit EmbeddingLookupSparseOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } EmbeddingLookupSparseOptionsBuilder &operator=(const EmbeddingLookupSparseOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateEmbeddingLookupSparseOptions(flatbuffers::FlatBufferBuilder &_fbb, CombinerType combiner = CombinerType_SUM) { EmbeddingLookupSparseOptionsBuilder builder_(_fbb); builder_.add_combiner(combiner); return builder_.Finish(); } struct GatherOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_AXIS = 4 }; int32_t axis() const { return GetField(VT_AXIS, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_AXIS) && verifier.EndTable(); } }; struct GatherOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_axis(int32_t axis) { fbb_.AddElement(GatherOptions::VT_AXIS, axis, 0); } explicit GatherOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } GatherOptionsBuilder &operator=(const GatherOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateGatherOptions(flatbuffers::FlatBufferBuilder &_fbb, int32_t axis = 0) { GatherOptionsBuilder builder_(_fbb); builder_.add_axis(axis); return builder_.Finish(); } struct TransposeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct TransposeOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit TransposeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } TransposeOptionsBuilder &operator=(const TransposeOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateTransposeOptions(flatbuffers::FlatBufferBuilder &_fbb) { TransposeOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct ExpOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct ExpOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit ExpOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ExpOptionsBuilder &operator=(const ExpOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateExpOptions(flatbuffers::FlatBufferBuilder &_fbb) { ExpOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct ReducerOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_KEEP_DIMS = 4 }; bool keep_dims() const { return GetField(VT_KEEP_DIMS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_KEEP_DIMS) && verifier.EndTable(); } }; struct ReducerOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_keep_dims(bool keep_dims) { fbb_.AddElement(ReducerOptions::VT_KEEP_DIMS, static_cast(keep_dims), 0); } explicit ReducerOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ReducerOptionsBuilder &operator=(const ReducerOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateReducerOptions(flatbuffers::FlatBufferBuilder &_fbb, bool keep_dims = false) { ReducerOptionsBuilder builder_(_fbb); builder_.add_keep_dims(keep_dims); return builder_.Finish(); } struct SqueezeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_SQUEEZE_DIMS = 4 }; const flatbuffers::Vector *squeeze_dims() const { return GetPointer *>(VT_SQUEEZE_DIMS); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_SQUEEZE_DIMS) && verifier.VerifyVector(squeeze_dims()) && verifier.EndTable(); } }; struct SqueezeOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_squeeze_dims(flatbuffers::Offset> squeeze_dims) { fbb_.AddOffset(SqueezeOptions::VT_SQUEEZE_DIMS, squeeze_dims); } explicit SqueezeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SqueezeOptionsBuilder &operator=(const SqueezeOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSqueezeOptions(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> squeeze_dims = 0) { SqueezeOptionsBuilder builder_(_fbb); builder_.add_squeeze_dims(squeeze_dims); return builder_.Finish(); } inline flatbuffers::Offset CreateSqueezeOptionsDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector *squeeze_dims = nullptr) { return tflite::CreateSqueezeOptions(_fbb, squeeze_dims ? _fbb.CreateVector(*squeeze_dims) : 0); } struct SplitOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_NUM_SPLITS = 4 }; int32_t num_splits() const { return GetField(VT_NUM_SPLITS, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_NUM_SPLITS) && verifier.EndTable(); } }; struct SplitOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_num_splits(int32_t num_splits) { fbb_.AddElement(SplitOptions::VT_NUM_SPLITS, num_splits, 0); } explicit SplitOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SplitOptionsBuilder &operator=(const SplitOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSplitOptions(flatbuffers::FlatBufferBuilder &_fbb, int32_t num_splits = 0) { SplitOptionsBuilder builder_(_fbb); builder_.add_num_splits(num_splits); return builder_.Finish(); } struct SplitVOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_NUM_SPLITS = 4 }; int32_t num_splits() const { return GetField(VT_NUM_SPLITS, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_NUM_SPLITS) && verifier.EndTable(); } }; struct SplitVOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_num_splits(int32_t num_splits) { fbb_.AddElement(SplitVOptions::VT_NUM_SPLITS, num_splits, 0); } explicit SplitVOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SplitVOptionsBuilder &operator=(const SplitVOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSplitVOptions(flatbuffers::FlatBufferBuilder &_fbb, int32_t num_splits = 0) { SplitVOptionsBuilder builder_(_fbb); builder_.add_num_splits(num_splits); return builder_.Finish(); } struct StridedSliceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_BEGIN_MASK = 4, VT_END_MASK = 6, VT_ELLIPSIS_MASK = 8, VT_NEW_AXIS_MASK = 10, VT_SHRINK_AXIS_MASK = 12 }; int32_t begin_mask() const { return GetField(VT_BEGIN_MASK, 0); } int32_t end_mask() const { return GetField(VT_END_MASK, 0); } int32_t ellipsis_mask() const { return GetField(VT_ELLIPSIS_MASK, 0); } int32_t new_axis_mask() const { return GetField(VT_NEW_AXIS_MASK, 0); } int32_t shrink_axis_mask() const { return GetField(VT_SHRINK_AXIS_MASK, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_BEGIN_MASK) && VerifyField(verifier, VT_END_MASK) && VerifyField(verifier, VT_ELLIPSIS_MASK) && VerifyField(verifier, VT_NEW_AXIS_MASK) && VerifyField(verifier, VT_SHRINK_AXIS_MASK) && verifier.EndTable(); } }; struct StridedSliceOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_begin_mask(int32_t begin_mask) { fbb_.AddElement(StridedSliceOptions::VT_BEGIN_MASK, begin_mask, 0); } void add_end_mask(int32_t end_mask) { fbb_.AddElement(StridedSliceOptions::VT_END_MASK, end_mask, 0); } void add_ellipsis_mask(int32_t ellipsis_mask) { fbb_.AddElement(StridedSliceOptions::VT_ELLIPSIS_MASK, ellipsis_mask, 0); } void add_new_axis_mask(int32_t new_axis_mask) { fbb_.AddElement(StridedSliceOptions::VT_NEW_AXIS_MASK, new_axis_mask, 0); } void add_shrink_axis_mask(int32_t shrink_axis_mask) { fbb_.AddElement(StridedSliceOptions::VT_SHRINK_AXIS_MASK, shrink_axis_mask, 0); } explicit StridedSliceOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } StridedSliceOptionsBuilder &operator=(const StridedSliceOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateStridedSliceOptions(flatbuffers::FlatBufferBuilder &_fbb, int32_t begin_mask = 0, int32_t end_mask = 0, int32_t ellipsis_mask = 0, int32_t new_axis_mask = 0, int32_t shrink_axis_mask = 0) { StridedSliceOptionsBuilder builder_(_fbb); builder_.add_shrink_axis_mask(shrink_axis_mask); builder_.add_new_axis_mask(new_axis_mask); builder_.add_ellipsis_mask(ellipsis_mask); builder_.add_end_mask(end_mask); builder_.add_begin_mask(begin_mask); return builder_.Finish(); } struct LogSoftmaxOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct LogSoftmaxOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit LogSoftmaxOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } LogSoftmaxOptionsBuilder &operator=(const LogSoftmaxOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLogSoftmaxOptions(flatbuffers::FlatBufferBuilder &_fbb) { LogSoftmaxOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct CastOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_IN_DATA_TYPE = 4, VT_OUT_DATA_TYPE = 6 }; TensorType in_data_type() const { return static_cast(GetField(VT_IN_DATA_TYPE, 0)); } TensorType out_data_type() const { return static_cast(GetField(VT_OUT_DATA_TYPE, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_IN_DATA_TYPE) && VerifyField(verifier, VT_OUT_DATA_TYPE) && verifier.EndTable(); } }; struct CastOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_in_data_type(TensorType in_data_type) { fbb_.AddElement(CastOptions::VT_IN_DATA_TYPE, static_cast(in_data_type), 0); } void add_out_data_type(TensorType out_data_type) { fbb_.AddElement(CastOptions::VT_OUT_DATA_TYPE, static_cast(out_data_type), 0); } explicit CastOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } CastOptionsBuilder &operator=(const CastOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateCastOptions(flatbuffers::FlatBufferBuilder &_fbb, TensorType in_data_type = TensorType_FLOAT32, TensorType out_data_type = TensorType_FLOAT32) { CastOptionsBuilder builder_(_fbb); builder_.add_out_data_type(out_data_type); builder_.add_in_data_type(in_data_type); return builder_.Finish(); } struct DequantizeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct DequantizeOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit DequantizeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } DequantizeOptionsBuilder &operator=(const DequantizeOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateDequantizeOptions(flatbuffers::FlatBufferBuilder &_fbb) { DequantizeOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct MaximumMinimumOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct MaximumMinimumOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit MaximumMinimumOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } MaximumMinimumOptionsBuilder &operator=(const MaximumMinimumOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateMaximumMinimumOptions(flatbuffers::FlatBufferBuilder &_fbb) { MaximumMinimumOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct TileOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct TileOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit TileOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } TileOptionsBuilder &operator=(const TileOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateTileOptions(flatbuffers::FlatBufferBuilder &_fbb) { TileOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct ArgMaxOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_OUTPUT_TYPE = 4 }; TensorType output_type() const { return static_cast(GetField(VT_OUTPUT_TYPE, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_OUTPUT_TYPE) && verifier.EndTable(); } }; struct ArgMaxOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_output_type(TensorType output_type) { fbb_.AddElement(ArgMaxOptions::VT_OUTPUT_TYPE, static_cast(output_type), 0); } explicit ArgMaxOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ArgMaxOptionsBuilder &operator=(const ArgMaxOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateArgMaxOptions(flatbuffers::FlatBufferBuilder &_fbb, TensorType output_type = TensorType_FLOAT32) { ArgMaxOptionsBuilder builder_(_fbb); builder_.add_output_type(output_type); return builder_.Finish(); } struct ArgMinOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_OUTPUT_TYPE = 4 }; TensorType output_type() const { return static_cast(GetField(VT_OUTPUT_TYPE, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_OUTPUT_TYPE) && verifier.EndTable(); } }; struct ArgMinOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_output_type(TensorType output_type) { fbb_.AddElement(ArgMinOptions::VT_OUTPUT_TYPE, static_cast(output_type), 0); } explicit ArgMinOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ArgMinOptionsBuilder &operator=(const ArgMinOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateArgMinOptions(flatbuffers::FlatBufferBuilder &_fbb, TensorType output_type = TensorType_FLOAT32) { ArgMinOptionsBuilder builder_(_fbb); builder_.add_output_type(output_type); return builder_.Finish(); } struct GreaterOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct GreaterOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit GreaterOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } GreaterOptionsBuilder &operator=(const GreaterOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateGreaterOptions(flatbuffers::FlatBufferBuilder &_fbb) { GreaterOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct GreaterEqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct GreaterEqualOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit GreaterEqualOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } GreaterEqualOptionsBuilder &operator=(const GreaterEqualOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateGreaterEqualOptions(flatbuffers::FlatBufferBuilder &_fbb) { GreaterEqualOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct LessOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct LessOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit LessOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } LessOptionsBuilder &operator=(const LessOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLessOptions(flatbuffers::FlatBufferBuilder &_fbb) { LessOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct LessEqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct LessEqualOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit LessEqualOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } LessEqualOptionsBuilder &operator=(const LessEqualOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLessEqualOptions(flatbuffers::FlatBufferBuilder &_fbb) { LessEqualOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct NegOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct NegOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit NegOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } NegOptionsBuilder &operator=(const NegOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateNegOptions(flatbuffers::FlatBufferBuilder &_fbb) { NegOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct SelectOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct SelectOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit SelectOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SelectOptionsBuilder &operator=(const SelectOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSelectOptions(flatbuffers::FlatBufferBuilder &_fbb) { SelectOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct SliceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct SliceOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit SliceOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SliceOptionsBuilder &operator=(const SliceOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSliceOptions(flatbuffers::FlatBufferBuilder &_fbb) { SliceOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct TransposeConvOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_PADDING = 4, VT_STRIDE_W = 6, VT_STRIDE_H = 8 }; Padding padding() const { return static_cast(GetField(VT_PADDING, 0)); } int32_t stride_w() const { return GetField(VT_STRIDE_W, 0); } int32_t stride_h() const { return GetField(VT_STRIDE_H, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_PADDING) && VerifyField(verifier, VT_STRIDE_W) && VerifyField(verifier, VT_STRIDE_H) && verifier.EndTable(); } }; struct TransposeConvOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_padding(Padding padding) { fbb_.AddElement(TransposeConvOptions::VT_PADDING, static_cast(padding), 0); } void add_stride_w(int32_t stride_w) { fbb_.AddElement(TransposeConvOptions::VT_STRIDE_W, stride_w, 0); } void add_stride_h(int32_t stride_h) { fbb_.AddElement(TransposeConvOptions::VT_STRIDE_H, stride_h, 0); } explicit TransposeConvOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } TransposeConvOptionsBuilder &operator=(const TransposeConvOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateTransposeConvOptions(flatbuffers::FlatBufferBuilder &_fbb, Padding padding = Padding_SAME, int32_t stride_w = 0, int32_t stride_h = 0) { TransposeConvOptionsBuilder builder_(_fbb); builder_.add_stride_h(stride_h); builder_.add_stride_w(stride_w); builder_.add_padding(padding); return builder_.Finish(); } struct ExpandDimsOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct ExpandDimsOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit ExpandDimsOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ExpandDimsOptionsBuilder &operator=(const ExpandDimsOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateExpandDimsOptions(flatbuffers::FlatBufferBuilder &_fbb) { ExpandDimsOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct SparseToDenseOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_VALIDATE_INDICES = 4 }; bool validate_indices() const { return GetField(VT_VALIDATE_INDICES, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_VALIDATE_INDICES) && verifier.EndTable(); } }; struct SparseToDenseOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_validate_indices(bool validate_indices) { fbb_.AddElement(SparseToDenseOptions::VT_VALIDATE_INDICES, static_cast(validate_indices), 0); } explicit SparseToDenseOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SparseToDenseOptionsBuilder &operator=(const SparseToDenseOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSparseToDenseOptions(flatbuffers::FlatBufferBuilder &_fbb, bool validate_indices = false) { SparseToDenseOptionsBuilder builder_(_fbb); builder_.add_validate_indices(validate_indices); return builder_.Finish(); } struct EqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct EqualOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit EqualOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } EqualOptionsBuilder &operator=(const EqualOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateEqualOptions(flatbuffers::FlatBufferBuilder &_fbb) { EqualOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct NotEqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct NotEqualOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit NotEqualOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } NotEqualOptionsBuilder &operator=(const NotEqualOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateNotEqualOptions(flatbuffers::FlatBufferBuilder &_fbb) { NotEqualOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct ShapeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_OUT_TYPE = 4 }; TensorType out_type() const { return static_cast(GetField(VT_OUT_TYPE, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_OUT_TYPE) && verifier.EndTable(); } }; struct ShapeOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_out_type(TensorType out_type) { fbb_.AddElement(ShapeOptions::VT_OUT_TYPE, static_cast(out_type), 0); } explicit ShapeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ShapeOptionsBuilder &operator=(const ShapeOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateShapeOptions(flatbuffers::FlatBufferBuilder &_fbb, TensorType out_type = TensorType_FLOAT32) { ShapeOptionsBuilder builder_(_fbb); builder_.add_out_type(out_type); return builder_.Finish(); } struct PowOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct PowOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit PowOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } PowOptionsBuilder &operator=(const PowOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreatePowOptions(flatbuffers::FlatBufferBuilder &_fbb) { PowOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct FakeQuantOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_MIN = 4, VT_MAX = 6, VT_NUM_BITS = 8, VT_NARROW_RANGE = 10 }; float min() const { return GetField(VT_MIN, 0.0f); } float max() const { return GetField(VT_MAX, 0.0f); } int32_t num_bits() const { return GetField(VT_NUM_BITS, 0); } bool narrow_range() const { return GetField(VT_NARROW_RANGE, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_MIN) && VerifyField(verifier, VT_MAX) && VerifyField(verifier, VT_NUM_BITS) && VerifyField(verifier, VT_NARROW_RANGE) && verifier.EndTable(); } }; struct FakeQuantOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_min(float min) { fbb_.AddElement(FakeQuantOptions::VT_MIN, min, 0.0f); } void add_max(float max) { fbb_.AddElement(FakeQuantOptions::VT_MAX, max, 0.0f); } void add_num_bits(int32_t num_bits) { fbb_.AddElement(FakeQuantOptions::VT_NUM_BITS, num_bits, 0); } void add_narrow_range(bool narrow_range) { fbb_.AddElement(FakeQuantOptions::VT_NARROW_RANGE, static_cast(narrow_range), 0); } explicit FakeQuantOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } FakeQuantOptionsBuilder &operator=(const FakeQuantOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateFakeQuantOptions(flatbuffers::FlatBufferBuilder &_fbb, float min = 0.0f, float max = 0.0f, int32_t num_bits = 0, bool narrow_range = false) { FakeQuantOptionsBuilder builder_(_fbb); builder_.add_num_bits(num_bits); builder_.add_max(max); builder_.add_min(min); builder_.add_narrow_range(narrow_range); return builder_.Finish(); } struct PackOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_VALUES_COUNT = 4, VT_AXIS = 6 }; int32_t values_count() const { return GetField(VT_VALUES_COUNT, 0); } int32_t axis() const { return GetField(VT_AXIS, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_VALUES_COUNT) && VerifyField(verifier, VT_AXIS) && verifier.EndTable(); } }; struct PackOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_values_count(int32_t values_count) { fbb_.AddElement(PackOptions::VT_VALUES_COUNT, values_count, 0); } void add_axis(int32_t axis) { fbb_.AddElement(PackOptions::VT_AXIS, axis, 0); } explicit PackOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } PackOptionsBuilder &operator=(const PackOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreatePackOptions(flatbuffers::FlatBufferBuilder &_fbb, int32_t values_count = 0, int32_t axis = 0) { PackOptionsBuilder builder_(_fbb); builder_.add_axis(axis); builder_.add_values_count(values_count); return builder_.Finish(); } struct LogicalOrOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct LogicalOrOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit LogicalOrOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } LogicalOrOptionsBuilder &operator=(const LogicalOrOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLogicalOrOptions(flatbuffers::FlatBufferBuilder &_fbb) { LogicalOrOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct OneHotOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_AXIS = 4 }; int32_t axis() const { return GetField(VT_AXIS, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_AXIS) && verifier.EndTable(); } }; struct OneHotOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_axis(int32_t axis) { fbb_.AddElement(OneHotOptions::VT_AXIS, axis, 0); } explicit OneHotOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } OneHotOptionsBuilder &operator=(const OneHotOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateOneHotOptions(flatbuffers::FlatBufferBuilder &_fbb, int32_t axis = 0) { OneHotOptionsBuilder builder_(_fbb); builder_.add_axis(axis); return builder_.Finish(); } struct AbsOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct AbsOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit AbsOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } AbsOptionsBuilder &operator=(const AbsOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateAbsOptions(flatbuffers::FlatBufferBuilder &_fbb) { AbsOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct LogicalAndOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct LogicalAndOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit LogicalAndOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } LogicalAndOptionsBuilder &operator=(const LogicalAndOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLogicalAndOptions(flatbuffers::FlatBufferBuilder &_fbb) { LogicalAndOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct LogicalNotOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct LogicalNotOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit LogicalNotOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } LogicalNotOptionsBuilder &operator=(const LogicalNotOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLogicalNotOptions(flatbuffers::FlatBufferBuilder &_fbb) { LogicalNotOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct UnpackOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_NUM = 4, VT_AXIS = 6 }; int32_t num() const { return GetField(VT_NUM, 0); } int32_t axis() const { return GetField(VT_AXIS, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_NUM) && VerifyField(verifier, VT_AXIS) && verifier.EndTable(); } }; struct UnpackOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_num(int32_t num) { fbb_.AddElement(UnpackOptions::VT_NUM, num, 0); } void add_axis(int32_t axis) { fbb_.AddElement(UnpackOptions::VT_AXIS, axis, 0); } explicit UnpackOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } UnpackOptionsBuilder &operator=(const UnpackOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateUnpackOptions(flatbuffers::FlatBufferBuilder &_fbb, int32_t num = 0, int32_t axis = 0) { UnpackOptionsBuilder builder_(_fbb); builder_.add_axis(axis); builder_.add_num(num); return builder_.Finish(); } struct FloorDivOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct FloorDivOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit FloorDivOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } FloorDivOptionsBuilder &operator=(const FloorDivOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateFloorDivOptions(flatbuffers::FlatBufferBuilder &_fbb) { FloorDivOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct SquareOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct SquareOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit SquareOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SquareOptionsBuilder &operator=(const SquareOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSquareOptions(flatbuffers::FlatBufferBuilder &_fbb) { SquareOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct ZerosLikeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct ZerosLikeOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit ZerosLikeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ZerosLikeOptionsBuilder &operator=(const ZerosLikeOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateZerosLikeOptions(flatbuffers::FlatBufferBuilder &_fbb) { ZerosLikeOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct FillOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct FillOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit FillOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } FillOptionsBuilder &operator=(const FillOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateFillOptions(flatbuffers::FlatBufferBuilder &_fbb) { FillOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct FloorModOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct FloorModOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit FloorModOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } FloorModOptionsBuilder &operator=(const FloorModOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateFloorModOptions(flatbuffers::FlatBufferBuilder &_fbb) { FloorModOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct RangeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct RangeOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit RangeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } RangeOptionsBuilder &operator=(const RangeOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateRangeOptions(flatbuffers::FlatBufferBuilder &_fbb) { RangeOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct LeakyReluOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_ALPHA = 4 }; float alpha() const { return GetField(VT_ALPHA, 0.0f); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_ALPHA) && verifier.EndTable(); } }; struct LeakyReluOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_alpha(float alpha) { fbb_.AddElement(LeakyReluOptions::VT_ALPHA, alpha, 0.0f); } explicit LeakyReluOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } LeakyReluOptionsBuilder &operator=(const LeakyReluOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLeakyReluOptions(flatbuffers::FlatBufferBuilder &_fbb, float alpha = 0.0f) { LeakyReluOptionsBuilder builder_(_fbb); builder_.add_alpha(alpha); return builder_.Finish(); } struct SquaredDifferenceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct SquaredDifferenceOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit SquaredDifferenceOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SquaredDifferenceOptionsBuilder &operator=(const SquaredDifferenceOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSquaredDifferenceOptions(flatbuffers::FlatBufferBuilder &_fbb) { SquaredDifferenceOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct MirrorPadOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_MODE = 4 }; MirrorPadMode mode() const { return static_cast(GetField(VT_MODE, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_MODE) && verifier.EndTable(); } }; struct MirrorPadOptionsBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_mode(MirrorPadMode mode) { fbb_.AddElement(MirrorPadOptions::VT_MODE, static_cast(mode), 0); } explicit MirrorPadOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } MirrorPadOptionsBuilder &operator=(const MirrorPadOptionsBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateMirrorPadOptions(flatbuffers::FlatBufferBuilder &_fbb, MirrorPadMode mode = MirrorPadMode_REFLECT) { MirrorPadOptionsBuilder builder_(_fbb); builder_.add_mode(mode); return builder_.Finish(); } struct OperatorCode FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_BUILTIN_CODE = 4, VT_CUSTOM_CODE = 6, VT_VERSION = 8 }; BuiltinOperator builtin_code() const { return static_cast(GetField(VT_BUILTIN_CODE, 0)); } const flatbuffers::String *custom_code() const { return GetPointer(VT_CUSTOM_CODE); } int32_t version() const { return GetField(VT_VERSION, 1); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_BUILTIN_CODE) && VerifyOffset(verifier, VT_CUSTOM_CODE) && verifier.VerifyString(custom_code()) && VerifyField(verifier, VT_VERSION) && verifier.EndTable(); } }; struct OperatorCodeBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_builtin_code(BuiltinOperator builtin_code) { fbb_.AddElement(OperatorCode::VT_BUILTIN_CODE, static_cast(builtin_code), 0); } void add_custom_code(flatbuffers::Offset custom_code) { fbb_.AddOffset(OperatorCode::VT_CUSTOM_CODE, custom_code); } void add_version(int32_t version) { fbb_.AddElement(OperatorCode::VT_VERSION, version, 1); } explicit OperatorCodeBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } OperatorCodeBuilder &operator=(const OperatorCodeBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateOperatorCode(flatbuffers::FlatBufferBuilder &_fbb, BuiltinOperator builtin_code = BuiltinOperator_ADD, flatbuffers::Offset custom_code = 0, int32_t version = 1) { OperatorCodeBuilder builder_(_fbb); builder_.add_version(version); builder_.add_custom_code(custom_code); builder_.add_builtin_code(builtin_code); return builder_.Finish(); } inline flatbuffers::Offset CreateOperatorCodeDirect(flatbuffers::FlatBufferBuilder &_fbb, BuiltinOperator builtin_code = BuiltinOperator_ADD, const char *custom_code = nullptr, int32_t version = 1) { return tflite::CreateOperatorCode(_fbb, builtin_code, custom_code ? _fbb.CreateString(custom_code) : 0, version); } struct Operator FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_OPCODE_INDEX = 4, VT_INPUTS = 6, VT_OUTPUTS = 8, VT_BUILTIN_OPTIONS_TYPE = 10, VT_BUILTIN_OPTIONS = 12, VT_CUSTOM_OPTIONS = 14, VT_CUSTOM_OPTIONS_FORMAT = 16, VT_MUTATING_VARIABLE_INPUTS = 18 }; uint32_t opcode_index() const { return GetField(VT_OPCODE_INDEX, 0); } const flatbuffers::Vector *inputs() const { return GetPointer *>(VT_INPUTS); } const flatbuffers::Vector *outputs() const { return GetPointer *>(VT_OUTPUTS); } BuiltinOptions builtin_options_type() const { return static_cast(GetField(VT_BUILTIN_OPTIONS_TYPE, 0)); } const void *builtin_options() const { return GetPointer(VT_BUILTIN_OPTIONS); } template const T *builtin_options_as() const; const Conv2DOptions *builtin_options_as_Conv2DOptions() const { return builtin_options_type() == BuiltinOptions_Conv2DOptions ? static_cast(builtin_options()) : nullptr; } const DepthwiseConv2DOptions *builtin_options_as_DepthwiseConv2DOptions() const { return builtin_options_type() == BuiltinOptions_DepthwiseConv2DOptions ? static_cast(builtin_options()) : nullptr; } const ConcatEmbeddingsOptions *builtin_options_as_ConcatEmbeddingsOptions() const { return builtin_options_type() == BuiltinOptions_ConcatEmbeddingsOptions ? static_cast(builtin_options()) : nullptr; } const LSHProjectionOptions *builtin_options_as_LSHProjectionOptions() const { return builtin_options_type() == BuiltinOptions_LSHProjectionOptions ? static_cast(builtin_options()) : nullptr; } const Pool2DOptions *builtin_options_as_Pool2DOptions() const { return builtin_options_type() == BuiltinOptions_Pool2DOptions ? static_cast(builtin_options()) : nullptr; } const SVDFOptions *builtin_options_as_SVDFOptions() const { return builtin_options_type() == BuiltinOptions_SVDFOptions ? static_cast(builtin_options()) : nullptr; } const RNNOptions *builtin_options_as_RNNOptions() const { return builtin_options_type() == BuiltinOptions_RNNOptions ? static_cast(builtin_options()) : nullptr; } const FullyConnectedOptions *builtin_options_as_FullyConnectedOptions() const { return builtin_options_type() == BuiltinOptions_FullyConnectedOptions ? static_cast(builtin_options()) : nullptr; } const SoftmaxOptions *builtin_options_as_SoftmaxOptions() const { return builtin_options_type() == BuiltinOptions_SoftmaxOptions ? static_cast(builtin_options()) : nullptr; } const ConcatenationOptions *builtin_options_as_ConcatenationOptions() const { return builtin_options_type() == BuiltinOptions_ConcatenationOptions ? static_cast(builtin_options()) : nullptr; } const AddOptions *builtin_options_as_AddOptions() const { return builtin_options_type() == BuiltinOptions_AddOptions ? static_cast(builtin_options()) : nullptr; } const L2NormOptions *builtin_options_as_L2NormOptions() const { return builtin_options_type() == BuiltinOptions_L2NormOptions ? static_cast(builtin_options()) : nullptr; } const LocalResponseNormalizationOptions * builtin_options_as_LocalResponseNormalizationOptions() const { return builtin_options_type() == BuiltinOptions_LocalResponseNormalizationOptions ? static_cast(builtin_options()) : nullptr; } const LSTMOptions *builtin_options_as_LSTMOptions() const { return builtin_options_type() == BuiltinOptions_LSTMOptions ? static_cast(builtin_options()) : nullptr; } const ResizeBilinearOptions *builtin_options_as_ResizeBilinearOptions() const { return builtin_options_type() == BuiltinOptions_ResizeBilinearOptions ? static_cast(builtin_options()) : nullptr; } const CallOptions *builtin_options_as_CallOptions() const { return builtin_options_type() == BuiltinOptions_CallOptions ? static_cast(builtin_options()) : nullptr; } const ReshapeOptions *builtin_options_as_ReshapeOptions() const { return builtin_options_type() == BuiltinOptions_ReshapeOptions ? static_cast(builtin_options()) : nullptr; } const SkipGramOptions *builtin_options_as_SkipGramOptions() const { return builtin_options_type() == BuiltinOptions_SkipGramOptions ? static_cast(builtin_options()) : nullptr; } const SpaceToDepthOptions *builtin_options_as_SpaceToDepthOptions() const { return builtin_options_type() == BuiltinOptions_SpaceToDepthOptions ? static_cast(builtin_options()) : nullptr; } const EmbeddingLookupSparseOptions *builtin_options_as_EmbeddingLookupSparseOptions() const { return builtin_options_type() == BuiltinOptions_EmbeddingLookupSparseOptions ? static_cast(builtin_options()) : nullptr; } const MulOptions *builtin_options_as_MulOptions() const { return builtin_options_type() == BuiltinOptions_MulOptions ? static_cast(builtin_options()) : nullptr; } const PadOptions *builtin_options_as_PadOptions() const { return builtin_options_type() == BuiltinOptions_PadOptions ? static_cast(builtin_options()) : nullptr; } const GatherOptions *builtin_options_as_GatherOptions() const { return builtin_options_type() == BuiltinOptions_GatherOptions ? static_cast(builtin_options()) : nullptr; } const BatchToSpaceNDOptions *builtin_options_as_BatchToSpaceNDOptions() const { return builtin_options_type() == BuiltinOptions_BatchToSpaceNDOptions ? static_cast(builtin_options()) : nullptr; } const SpaceToBatchNDOptions *builtin_options_as_SpaceToBatchNDOptions() const { return builtin_options_type() == BuiltinOptions_SpaceToBatchNDOptions ? static_cast(builtin_options()) : nullptr; } const TransposeOptions *builtin_options_as_TransposeOptions() const { return builtin_options_type() == BuiltinOptions_TransposeOptions ? static_cast(builtin_options()) : nullptr; } const ReducerOptions *builtin_options_as_ReducerOptions() const { return builtin_options_type() == BuiltinOptions_ReducerOptions ? static_cast(builtin_options()) : nullptr; } const SubOptions *builtin_options_as_SubOptions() const { return builtin_options_type() == BuiltinOptions_SubOptions ? static_cast(builtin_options()) : nullptr; } const DivOptions *builtin_options_as_DivOptions() const { return builtin_options_type() == BuiltinOptions_DivOptions ? static_cast(builtin_options()) : nullptr; } const SqueezeOptions *builtin_options_as_SqueezeOptions() const { return builtin_options_type() == BuiltinOptions_SqueezeOptions ? static_cast(builtin_options()) : nullptr; } const SequenceRNNOptions *builtin_options_as_SequenceRNNOptions() const { return builtin_options_type() == BuiltinOptions_SequenceRNNOptions ? static_cast(builtin_options()) : nullptr; } const StridedSliceOptions *builtin_options_as_StridedSliceOptions() const { return builtin_options_type() == BuiltinOptions_StridedSliceOptions ? static_cast(builtin_options()) : nullptr; } const ExpOptions *builtin_options_as_ExpOptions() const { return builtin_options_type() == BuiltinOptions_ExpOptions ? static_cast(builtin_options()) : nullptr; } const TopKV2Options *builtin_options_as_TopKV2Options() const { return builtin_options_type() == BuiltinOptions_TopKV2Options ? static_cast(builtin_options()) : nullptr; } const SplitOptions *builtin_options_as_SplitOptions() const { return builtin_options_type() == BuiltinOptions_SplitOptions ? static_cast(builtin_options()) : nullptr; } const LogSoftmaxOptions *builtin_options_as_LogSoftmaxOptions() const { return builtin_options_type() == BuiltinOptions_LogSoftmaxOptions ? static_cast(builtin_options()) : nullptr; } const CastOptions *builtin_options_as_CastOptions() const { return builtin_options_type() == BuiltinOptions_CastOptions ? static_cast(builtin_options()) : nullptr; } const DequantizeOptions *builtin_options_as_DequantizeOptions() const { return builtin_options_type() == BuiltinOptions_DequantizeOptions ? static_cast(builtin_options()) : nullptr; } const MaximumMinimumOptions *builtin_options_as_MaximumMinimumOptions() const { return builtin_options_type() == BuiltinOptions_MaximumMinimumOptions ? static_cast(builtin_options()) : nullptr; } const ArgMaxOptions *builtin_options_as_ArgMaxOptions() const { return builtin_options_type() == BuiltinOptions_ArgMaxOptions ? static_cast(builtin_options()) : nullptr; } const LessOptions *builtin_options_as_LessOptions() const { return builtin_options_type() == BuiltinOptions_LessOptions ? static_cast(builtin_options()) : nullptr; } const NegOptions *builtin_options_as_NegOptions() const { return builtin_options_type() == BuiltinOptions_NegOptions ? static_cast(builtin_options()) : nullptr; } const PadV2Options *builtin_options_as_PadV2Options() const { return builtin_options_type() == BuiltinOptions_PadV2Options ? static_cast(builtin_options()) : nullptr; } const GreaterOptions *builtin_options_as_GreaterOptions() const { return builtin_options_type() == BuiltinOptions_GreaterOptions ? static_cast(builtin_options()) : nullptr; } const GreaterEqualOptions *builtin_options_as_GreaterEqualOptions() const { return builtin_options_type() == BuiltinOptions_GreaterEqualOptions ? static_cast(builtin_options()) : nullptr; } const LessEqualOptions *builtin_options_as_LessEqualOptions() const { return builtin_options_type() == BuiltinOptions_LessEqualOptions ? static_cast(builtin_options()) : nullptr; } const SelectOptions *builtin_options_as_SelectOptions() const { return builtin_options_type() == BuiltinOptions_SelectOptions ? static_cast(builtin_options()) : nullptr; } const SliceOptions *builtin_options_as_SliceOptions() const { return builtin_options_type() == BuiltinOptions_SliceOptions ? static_cast(builtin_options()) : nullptr; } const TransposeConvOptions *builtin_options_as_TransposeConvOptions() const { return builtin_options_type() == BuiltinOptions_TransposeConvOptions ? static_cast(builtin_options()) : nullptr; } const SparseToDenseOptions *builtin_options_as_SparseToDenseOptions() const { return builtin_options_type() == BuiltinOptions_SparseToDenseOptions ? static_cast(builtin_options()) : nullptr; } const TileOptions *builtin_options_as_TileOptions() const { return builtin_options_type() == BuiltinOptions_TileOptions ? static_cast(builtin_options()) : nullptr; } const ExpandDimsOptions *builtin_options_as_ExpandDimsOptions() const { return builtin_options_type() == BuiltinOptions_ExpandDimsOptions ? static_cast(builtin_options()) : nullptr; } const EqualOptions *builtin_options_as_EqualOptions() const { return builtin_options_type() == BuiltinOptions_EqualOptions ? static_cast(builtin_options()) : nullptr; } const NotEqualOptions *builtin_options_as_NotEqualOptions() const { return builtin_options_type() == BuiltinOptions_NotEqualOptions ? static_cast(builtin_options()) : nullptr; } const ShapeOptions *builtin_options_as_ShapeOptions() const { return builtin_options_type() == BuiltinOptions_ShapeOptions ? static_cast(builtin_options()) : nullptr; } const PowOptions *builtin_options_as_PowOptions() const { return builtin_options_type() == BuiltinOptions_PowOptions ? static_cast(builtin_options()) : nullptr; } const ArgMinOptions *builtin_options_as_ArgMinOptions() const { return builtin_options_type() == BuiltinOptions_ArgMinOptions ? static_cast(builtin_options()) : nullptr; } const FakeQuantOptions *builtin_options_as_FakeQuantOptions() const { return builtin_options_type() == BuiltinOptions_FakeQuantOptions ? static_cast(builtin_options()) : nullptr; } const PackOptions *builtin_options_as_PackOptions() const { return builtin_options_type() == BuiltinOptions_PackOptions ? static_cast(builtin_options()) : nullptr; } const LogicalOrOptions *builtin_options_as_LogicalOrOptions() const { return builtin_options_type() == BuiltinOptions_LogicalOrOptions ? static_cast(builtin_options()) : nullptr; } const OneHotOptions *builtin_options_as_OneHotOptions() const { return builtin_options_type() == BuiltinOptions_OneHotOptions ? static_cast(builtin_options()) : nullptr; } const LogicalAndOptions *builtin_options_as_LogicalAndOptions() const { return builtin_options_type() == BuiltinOptions_LogicalAndOptions ? static_cast(builtin_options()) : nullptr; } const LogicalNotOptions *builtin_options_as_LogicalNotOptions() const { return builtin_options_type() == BuiltinOptions_LogicalNotOptions ? static_cast(builtin_options()) : nullptr; } const UnpackOptions *builtin_options_as_UnpackOptions() const { return builtin_options_type() == BuiltinOptions_UnpackOptions ? static_cast(builtin_options()) : nullptr; } const FloorDivOptions *builtin_options_as_FloorDivOptions() const { return builtin_options_type() == BuiltinOptions_FloorDivOptions ? static_cast(builtin_options()) : nullptr; } const SquareOptions *builtin_options_as_SquareOptions() const { return builtin_options_type() == BuiltinOptions_SquareOptions ? static_cast(builtin_options()) : nullptr; } const ZerosLikeOptions *builtin_options_as_ZerosLikeOptions() const { return builtin_options_type() == BuiltinOptions_ZerosLikeOptions ? static_cast(builtin_options()) : nullptr; } const FillOptions *builtin_options_as_FillOptions() const { return builtin_options_type() == BuiltinOptions_FillOptions ? static_cast(builtin_options()) : nullptr; } const BidirectionalSequenceLSTMOptions * builtin_options_as_BidirectionalSequenceLSTMOptions() const { return builtin_options_type() == BuiltinOptions_BidirectionalSequenceLSTMOptions ? static_cast(builtin_options()) : nullptr; } const BidirectionalSequenceRNNOptions *builtin_options_as_BidirectionalSequenceRNNOptions() const { return builtin_options_type() == BuiltinOptions_BidirectionalSequenceRNNOptions ? static_cast(builtin_options()) : nullptr; } const UnidirectionalSequenceLSTMOptions * builtin_options_as_UnidirectionalSequenceLSTMOptions() const { return builtin_options_type() == BuiltinOptions_UnidirectionalSequenceLSTMOptions ? static_cast(builtin_options()) : nullptr; } const FloorModOptions *builtin_options_as_FloorModOptions() const { return builtin_options_type() == BuiltinOptions_FloorModOptions ? static_cast(builtin_options()) : nullptr; } const RangeOptions *builtin_options_as_RangeOptions() const { return builtin_options_type() == BuiltinOptions_RangeOptions ? static_cast(builtin_options()) : nullptr; } const ResizeNearestNeighborOptions *builtin_options_as_ResizeNearestNeighborOptions() const { return builtin_options_type() == BuiltinOptions_ResizeNearestNeighborOptions ? static_cast(builtin_options()) : nullptr; } const LeakyReluOptions *builtin_options_as_LeakyReluOptions() const { return builtin_options_type() == BuiltinOptions_LeakyReluOptions ? static_cast(builtin_options()) : nullptr; } const SquaredDifferenceOptions *builtin_options_as_SquaredDifferenceOptions() const { return builtin_options_type() == BuiltinOptions_SquaredDifferenceOptions ? static_cast(builtin_options()) : nullptr; } const MirrorPadOptions *builtin_options_as_MirrorPadOptions() const { return builtin_options_type() == BuiltinOptions_MirrorPadOptions ? static_cast(builtin_options()) : nullptr; } const AbsOptions *builtin_options_as_AbsOptions() const { return builtin_options_type() == BuiltinOptions_AbsOptions ? static_cast(builtin_options()) : nullptr; } const SplitVOptions *builtin_options_as_SplitVOptions() const { return builtin_options_type() == BuiltinOptions_SplitVOptions ? static_cast(builtin_options()) : nullptr; } const flatbuffers::Vector *custom_options() const { return GetPointer *>(VT_CUSTOM_OPTIONS); } CustomOptionsFormat custom_options_format() const { return static_cast(GetField(VT_CUSTOM_OPTIONS_FORMAT, 0)); } const flatbuffers::Vector *mutating_variable_inputs() const { return GetPointer *>(VT_MUTATING_VARIABLE_INPUTS); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_OPCODE_INDEX) && VerifyOffset(verifier, VT_INPUTS) && verifier.VerifyVector(inputs()) && VerifyOffset(verifier, VT_OUTPUTS) && verifier.VerifyVector(outputs()) && VerifyField(verifier, VT_BUILTIN_OPTIONS_TYPE) && VerifyOffset(verifier, VT_BUILTIN_OPTIONS) && VerifyBuiltinOptions(verifier, builtin_options(), builtin_options_type()) && VerifyOffset(verifier, VT_CUSTOM_OPTIONS) && verifier.VerifyVector(custom_options()) && VerifyField(verifier, VT_CUSTOM_OPTIONS_FORMAT) && VerifyOffset(verifier, VT_MUTATING_VARIABLE_INPUTS) && verifier.VerifyVector(mutating_variable_inputs()) && verifier.EndTable(); } }; template <> inline const Conv2DOptions *Operator::builtin_options_as() const { return builtin_options_as_Conv2DOptions(); } template <> inline const DepthwiseConv2DOptions *Operator::builtin_options_as() const { return builtin_options_as_DepthwiseConv2DOptions(); } template <> inline const ConcatEmbeddingsOptions *Operator::builtin_options_as() const { return builtin_options_as_ConcatEmbeddingsOptions(); } template <> inline const LSHProjectionOptions *Operator::builtin_options_as() const { return builtin_options_as_LSHProjectionOptions(); } template <> inline const Pool2DOptions *Operator::builtin_options_as() const { return builtin_options_as_Pool2DOptions(); } template <> inline const SVDFOptions *Operator::builtin_options_as() const { return builtin_options_as_SVDFOptions(); } template <> inline const RNNOptions *Operator::builtin_options_as() const { return builtin_options_as_RNNOptions(); } template <> inline const FullyConnectedOptions *Operator::builtin_options_as() const { return builtin_options_as_FullyConnectedOptions(); } template <> inline const SoftmaxOptions *Operator::builtin_options_as() const { return builtin_options_as_SoftmaxOptions(); } template <> inline const ConcatenationOptions *Operator::builtin_options_as() const { return builtin_options_as_ConcatenationOptions(); } template <> inline const AddOptions *Operator::builtin_options_as() const { return builtin_options_as_AddOptions(); } template <> inline const L2NormOptions *Operator::builtin_options_as() const { return builtin_options_as_L2NormOptions(); } template <> inline const LocalResponseNormalizationOptions * Operator::builtin_options_as() const { return builtin_options_as_LocalResponseNormalizationOptions(); } template <> inline const LSTMOptions *Operator::builtin_options_as() const { return builtin_options_as_LSTMOptions(); } template <> inline const ResizeBilinearOptions *Operator::builtin_options_as() const { return builtin_options_as_ResizeBilinearOptions(); } template <> inline const CallOptions *Operator::builtin_options_as() const { return builtin_options_as_CallOptions(); } template <> inline const ReshapeOptions *Operator::builtin_options_as() const { return builtin_options_as_ReshapeOptions(); } template <> inline const SkipGramOptions *Operator::builtin_options_as() const { return builtin_options_as_SkipGramOptions(); } template <> inline const SpaceToDepthOptions *Operator::builtin_options_as() const { return builtin_options_as_SpaceToDepthOptions(); } template <> inline const EmbeddingLookupSparseOptions * Operator::builtin_options_as() const { return builtin_options_as_EmbeddingLookupSparseOptions(); } template <> inline const MulOptions *Operator::builtin_options_as() const { return builtin_options_as_MulOptions(); } template <> inline const PadOptions *Operator::builtin_options_as() const { return builtin_options_as_PadOptions(); } template <> inline const GatherOptions *Operator::builtin_options_as() const { return builtin_options_as_GatherOptions(); } template <> inline const BatchToSpaceNDOptions *Operator::builtin_options_as() const { return builtin_options_as_BatchToSpaceNDOptions(); } template <> inline const SpaceToBatchNDOptions *Operator::builtin_options_as() const { return builtin_options_as_SpaceToBatchNDOptions(); } template <> inline const TransposeOptions *Operator::builtin_options_as() const { return builtin_options_as_TransposeOptions(); } template <> inline const ReducerOptions *Operator::builtin_options_as() const { return builtin_options_as_ReducerOptions(); } template <> inline const SubOptions *Operator::builtin_options_as() const { return builtin_options_as_SubOptions(); } template <> inline const DivOptions *Operator::builtin_options_as() const { return builtin_options_as_DivOptions(); } template <> inline const SqueezeOptions *Operator::builtin_options_as() const { return builtin_options_as_SqueezeOptions(); } template <> inline const SequenceRNNOptions *Operator::builtin_options_as() const { return builtin_options_as_SequenceRNNOptions(); } template <> inline const StridedSliceOptions *Operator::builtin_options_as() const { return builtin_options_as_StridedSliceOptions(); } template <> inline const ExpOptions *Operator::builtin_options_as() const { return builtin_options_as_ExpOptions(); } template <> inline const TopKV2Options *Operator::builtin_options_as() const { return builtin_options_as_TopKV2Options(); } template <> inline const SplitOptions *Operator::builtin_options_as() const { return builtin_options_as_SplitOptions(); } template <> inline const LogSoftmaxOptions *Operator::builtin_options_as() const { return builtin_options_as_LogSoftmaxOptions(); } template <> inline const CastOptions *Operator::builtin_options_as() const { return builtin_options_as_CastOptions(); } template <> inline const DequantizeOptions *Operator::builtin_options_as() const { return builtin_options_as_DequantizeOptions(); } template <> inline const MaximumMinimumOptions *Operator::builtin_options_as() const { return builtin_options_as_MaximumMinimumOptions(); } template <> inline const ArgMaxOptions *Operator::builtin_options_as() const { return builtin_options_as_ArgMaxOptions(); } template <> inline const LessOptions *Operator::builtin_options_as() const { return builtin_options_as_LessOptions(); } template <> inline const NegOptions *Operator::builtin_options_as() const { return builtin_options_as_NegOptions(); } template <> inline const PadV2Options *Operator::builtin_options_as() const { return builtin_options_as_PadV2Options(); } template <> inline const GreaterOptions *Operator::builtin_options_as() const { return builtin_options_as_GreaterOptions(); } template <> inline const GreaterEqualOptions *Operator::builtin_options_as() const { return builtin_options_as_GreaterEqualOptions(); } template <> inline const LessEqualOptions *Operator::builtin_options_as() const { return builtin_options_as_LessEqualOptions(); } template <> inline const SelectOptions *Operator::builtin_options_as() const { return builtin_options_as_SelectOptions(); } template <> inline const SliceOptions *Operator::builtin_options_as() const { return builtin_options_as_SliceOptions(); } template <> inline const TransposeConvOptions *Operator::builtin_options_as() const { return builtin_options_as_TransposeConvOptions(); } template <> inline const SparseToDenseOptions *Operator::builtin_options_as() const { return builtin_options_as_SparseToDenseOptions(); } template <> inline const TileOptions *Operator::builtin_options_as() const { return builtin_options_as_TileOptions(); } template <> inline const ExpandDimsOptions *Operator::builtin_options_as() const { return builtin_options_as_ExpandDimsOptions(); } template <> inline const EqualOptions *Operator::builtin_options_as() const { return builtin_options_as_EqualOptions(); } template <> inline const NotEqualOptions *Operator::builtin_options_as() const { return builtin_options_as_NotEqualOptions(); } template <> inline const ShapeOptions *Operator::builtin_options_as() const { return builtin_options_as_ShapeOptions(); } template <> inline const PowOptions *Operator::builtin_options_as() const { return builtin_options_as_PowOptions(); } template <> inline const ArgMinOptions *Operator::builtin_options_as() const { return builtin_options_as_ArgMinOptions(); } template <> inline const FakeQuantOptions *Operator::builtin_options_as() const { return builtin_options_as_FakeQuantOptions(); } template <> inline const PackOptions *Operator::builtin_options_as() const { return builtin_options_as_PackOptions(); } template <> inline const LogicalOrOptions *Operator::builtin_options_as() const { return builtin_options_as_LogicalOrOptions(); } template <> inline const OneHotOptions *Operator::builtin_options_as() const { return builtin_options_as_OneHotOptions(); } template <> inline const LogicalAndOptions *Operator::builtin_options_as() const { return builtin_options_as_LogicalAndOptions(); } template <> inline const LogicalNotOptions *Operator::builtin_options_as() const { return builtin_options_as_LogicalNotOptions(); } template <> inline const UnpackOptions *Operator::builtin_options_as() const { return builtin_options_as_UnpackOptions(); } template <> inline const FloorDivOptions *Operator::builtin_options_as() const { return builtin_options_as_FloorDivOptions(); } template <> inline const SquareOptions *Operator::builtin_options_as() const { return builtin_options_as_SquareOptions(); } template <> inline const ZerosLikeOptions *Operator::builtin_options_as() const { return builtin_options_as_ZerosLikeOptions(); } template <> inline const FillOptions *Operator::builtin_options_as() const { return builtin_options_as_FillOptions(); } template <> inline const BidirectionalSequenceLSTMOptions * Operator::builtin_options_as() const { return builtin_options_as_BidirectionalSequenceLSTMOptions(); } template <> inline const BidirectionalSequenceRNNOptions * Operator::builtin_options_as() const { return builtin_options_as_BidirectionalSequenceRNNOptions(); } template <> inline const UnidirectionalSequenceLSTMOptions * Operator::builtin_options_as() const { return builtin_options_as_UnidirectionalSequenceLSTMOptions(); } template <> inline const FloorModOptions *Operator::builtin_options_as() const { return builtin_options_as_FloorModOptions(); } template <> inline const RangeOptions *Operator::builtin_options_as() const { return builtin_options_as_RangeOptions(); } template <> inline const ResizeNearestNeighborOptions * Operator::builtin_options_as() const { return builtin_options_as_ResizeNearestNeighborOptions(); } template <> inline const LeakyReluOptions *Operator::builtin_options_as() const { return builtin_options_as_LeakyReluOptions(); } template <> inline const SquaredDifferenceOptions * Operator::builtin_options_as() const { return builtin_options_as_SquaredDifferenceOptions(); } template <> inline const MirrorPadOptions *Operator::builtin_options_as() const { return builtin_options_as_MirrorPadOptions(); } template <> inline const AbsOptions *Operator::builtin_options_as() const { return builtin_options_as_AbsOptions(); } template <> inline const SplitVOptions *Operator::builtin_options_as() const { return builtin_options_as_SplitVOptions(); } struct OperatorBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_opcode_index(uint32_t opcode_index) { fbb_.AddElement(Operator::VT_OPCODE_INDEX, opcode_index, 0); } void add_inputs(flatbuffers::Offset> inputs) { fbb_.AddOffset(Operator::VT_INPUTS, inputs); } void add_outputs(flatbuffers::Offset> outputs) { fbb_.AddOffset(Operator::VT_OUTPUTS, outputs); } void add_builtin_options_type(BuiltinOptions builtin_options_type) { fbb_.AddElement(Operator::VT_BUILTIN_OPTIONS_TYPE, static_cast(builtin_options_type), 0); } void add_builtin_options(flatbuffers::Offset builtin_options) { fbb_.AddOffset(Operator::VT_BUILTIN_OPTIONS, builtin_options); } void add_custom_options(flatbuffers::Offset> custom_options) { fbb_.AddOffset(Operator::VT_CUSTOM_OPTIONS, custom_options); } void add_custom_options_format(CustomOptionsFormat custom_options_format) { fbb_.AddElement(Operator::VT_CUSTOM_OPTIONS_FORMAT, static_cast(custom_options_format), 0); } void add_mutating_variable_inputs( flatbuffers::Offset> mutating_variable_inputs) { fbb_.AddOffset(Operator::VT_MUTATING_VARIABLE_INPUTS, mutating_variable_inputs); } explicit OperatorBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } OperatorBuilder &operator=(const OperatorBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateOperator(flatbuffers::FlatBufferBuilder &_fbb, uint32_t opcode_index = 0, flatbuffers::Offset> inputs = 0, flatbuffers::Offset> outputs = 0, BuiltinOptions builtin_options_type = BuiltinOptions_NONE, flatbuffers::Offset builtin_options = 0, flatbuffers::Offset> custom_options = 0, CustomOptionsFormat custom_options_format = CustomOptionsFormat_FLEXBUFFERS, flatbuffers::Offset> mutating_variable_inputs = 0) { OperatorBuilder builder_(_fbb); builder_.add_mutating_variable_inputs(mutating_variable_inputs); builder_.add_custom_options(custom_options); builder_.add_builtin_options(builtin_options); builder_.add_outputs(outputs); builder_.add_inputs(inputs); builder_.add_opcode_index(opcode_index); builder_.add_custom_options_format(custom_options_format); builder_.add_builtin_options_type(builtin_options_type); return builder_.Finish(); } inline flatbuffers::Offset CreateOperatorDirect(flatbuffers::FlatBufferBuilder &_fbb, uint32_t opcode_index = 0, const std::vector *inputs = nullptr, const std::vector *outputs = nullptr, BuiltinOptions builtin_options_type = BuiltinOptions_NONE, flatbuffers::Offset builtin_options = 0, const std::vector *custom_options = nullptr, CustomOptionsFormat custom_options_format = CustomOptionsFormat_FLEXBUFFERS, const std::vector *mutating_variable_inputs = nullptr) { return tflite::CreateOperator( _fbb, opcode_index, inputs ? _fbb.CreateVector(*inputs) : 0, outputs ? _fbb.CreateVector(*outputs) : 0, builtin_options_type, builtin_options, custom_options ? _fbb.CreateVector(*custom_options) : 0, custom_options_format, mutating_variable_inputs ? _fbb.CreateVector(*mutating_variable_inputs) : 0); } struct SubGraph FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_TENSORS = 4, VT_INPUTS = 6, VT_OUTPUTS = 8, VT_OPERATORS = 10, VT_NAME = 12 }; const flatbuffers::Vector> *tensors() const { return GetPointer> *>(VT_TENSORS); } const flatbuffers::Vector *inputs() const { return GetPointer *>(VT_INPUTS); } const flatbuffers::Vector *outputs() const { return GetPointer *>(VT_OUTPUTS); } const flatbuffers::Vector> *operators() const { return GetPointer> *>(VT_OPERATORS); } const flatbuffers::String *name() const { return GetPointer(VT_NAME); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_TENSORS) && verifier.VerifyVector(tensors()) && verifier.VerifyVectorOfTables(tensors()) && VerifyOffset(verifier, VT_INPUTS) && verifier.VerifyVector(inputs()) && VerifyOffset(verifier, VT_OUTPUTS) && verifier.VerifyVector(outputs()) && VerifyOffset(verifier, VT_OPERATORS) && verifier.VerifyVector(operators()) && verifier.VerifyVectorOfTables(operators()) && VerifyOffset(verifier, VT_NAME) && verifier.VerifyString(name()) && verifier.EndTable(); } }; struct SubGraphBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_tensors(flatbuffers::Offset>> tensors) { fbb_.AddOffset(SubGraph::VT_TENSORS, tensors); } void add_inputs(flatbuffers::Offset> inputs) { fbb_.AddOffset(SubGraph::VT_INPUTS, inputs); } void add_outputs(flatbuffers::Offset> outputs) { fbb_.AddOffset(SubGraph::VT_OUTPUTS, outputs); } void add_operators(flatbuffers::Offset>> operators) { fbb_.AddOffset(SubGraph::VT_OPERATORS, operators); } void add_name(flatbuffers::Offset name) { fbb_.AddOffset(SubGraph::VT_NAME, name); } explicit SubGraphBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SubGraphBuilder &operator=(const SubGraphBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSubGraph( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset>> tensors = 0, flatbuffers::Offset> inputs = 0, flatbuffers::Offset> outputs = 0, flatbuffers::Offset>> operators = 0, flatbuffers::Offset name = 0) { SubGraphBuilder builder_(_fbb); builder_.add_name(name); builder_.add_operators(operators); builder_.add_outputs(outputs); builder_.add_inputs(inputs); builder_.add_tensors(tensors); return builder_.Finish(); } inline flatbuffers::Offset CreateSubGraphDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector> *tensors = nullptr, const std::vector *inputs = nullptr, const std::vector *outputs = nullptr, const std::vector> *operators = nullptr, const char *name = nullptr) { return tflite::CreateSubGraph( _fbb, tensors ? _fbb.CreateVector>(*tensors) : 0, inputs ? _fbb.CreateVector(*inputs) : 0, outputs ? _fbb.CreateVector(*outputs) : 0, operators ? _fbb.CreateVector>(*operators) : 0, name ? _fbb.CreateString(name) : 0); } struct Buffer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_DATA = 4 }; const flatbuffers::Vector *data() const { return GetPointer *>(VT_DATA); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_DATA) && verifier.VerifyVector(data()) && verifier.EndTable(); } }; struct BufferBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_data(flatbuffers::Offset> data) { fbb_.AddOffset(Buffer::VT_DATA, data); } explicit BufferBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } BufferBuilder &operator=(const BufferBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateBuffer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> data = 0) { BufferBuilder builder_(_fbb); builder_.add_data(data); return builder_.Finish(); } inline flatbuffers::Offset CreateBufferDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector *data = nullptr) { return tflite::CreateBuffer(_fbb, data ? _fbb.CreateVector(*data) : 0); } struct Model FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_VERSION = 4, VT_OPERATOR_CODES = 6, VT_SUBGRAPHS = 8, VT_DESCRIPTION = 10, VT_BUFFERS = 12, VT_METADATA_BUFFER = 14 }; uint32_t version() const { return GetField(VT_VERSION, 0); } const flatbuffers::Vector> *operator_codes() const { return GetPointer> *>( VT_OPERATOR_CODES); } const flatbuffers::Vector> *subgraphs() const { return GetPointer> *>(VT_SUBGRAPHS); } const flatbuffers::String *description() const { return GetPointer(VT_DESCRIPTION); } const flatbuffers::Vector> *buffers() const { return GetPointer> *>(VT_BUFFERS); } const flatbuffers::Vector *metadata_buffer() const { return GetPointer *>(VT_METADATA_BUFFER); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_VERSION) && VerifyOffset(verifier, VT_OPERATOR_CODES) && verifier.VerifyVector(operator_codes()) && verifier.VerifyVectorOfTables(operator_codes()) && VerifyOffset(verifier, VT_SUBGRAPHS) && verifier.VerifyVector(subgraphs()) && verifier.VerifyVectorOfTables(subgraphs()) && VerifyOffset(verifier, VT_DESCRIPTION) && verifier.VerifyString(description()) && VerifyOffset(verifier, VT_BUFFERS) && verifier.VerifyVector(buffers()) && verifier.VerifyVectorOfTables(buffers()) && VerifyOffset(verifier, VT_METADATA_BUFFER) && verifier.VerifyVector(metadata_buffer()) && verifier.EndTable(); } }; struct ModelBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_version(uint32_t version) { fbb_.AddElement(Model::VT_VERSION, version, 0); } void add_operator_codes( flatbuffers::Offset>> operator_codes) { fbb_.AddOffset(Model::VT_OPERATOR_CODES, operator_codes); } void add_subgraphs(flatbuffers::Offset>> subgraphs) { fbb_.AddOffset(Model::VT_SUBGRAPHS, subgraphs); } void add_description(flatbuffers::Offset description) { fbb_.AddOffset(Model::VT_DESCRIPTION, description); } void add_buffers(flatbuffers::Offset>> buffers) { fbb_.AddOffset(Model::VT_BUFFERS, buffers); } void add_metadata_buffer(flatbuffers::Offset> metadata_buffer) { fbb_.AddOffset(Model::VT_METADATA_BUFFER, metadata_buffer); } explicit ModelBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ModelBuilder &operator=(const ModelBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateModel( flatbuffers::FlatBufferBuilder &_fbb, uint32_t version = 0, flatbuffers::Offset>> operator_codes = 0, flatbuffers::Offset>> subgraphs = 0, flatbuffers::Offset description = 0, flatbuffers::Offset>> buffers = 0, flatbuffers::Offset> metadata_buffer = 0) { ModelBuilder builder_(_fbb); builder_.add_metadata_buffer(metadata_buffer); builder_.add_buffers(buffers); builder_.add_description(description); builder_.add_subgraphs(subgraphs); builder_.add_operator_codes(operator_codes); builder_.add_version(version); return builder_.Finish(); } inline flatbuffers::Offset CreateModelDirect(flatbuffers::FlatBufferBuilder &_fbb, uint32_t version = 0, const std::vector> *operator_codes = nullptr, const std::vector> *subgraphs = nullptr, const char *description = nullptr, const std::vector> *buffers = nullptr, const std::vector *metadata_buffer = nullptr) { return tflite::CreateModel( _fbb, version, operator_codes ? _fbb.CreateVector>(*operator_codes) : 0, subgraphs ? _fbb.CreateVector>(*subgraphs) : 0, description ? _fbb.CreateString(description) : 0, buffers ? _fbb.CreateVector>(*buffers) : 0, metadata_buffer ? _fbb.CreateVector(*metadata_buffer) : 0); } inline bool VerifyQuantizationDetails(flatbuffers::Verifier &verifier, const void *obj, QuantizationDetails type) { switch (type) { case QuantizationDetails_NONE: { return true; } case QuantizationDetails_CustomQuantization: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } default: return false; } } inline bool VerifyQuantizationDetailsVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types) { if (!values || !types) return !values && !types; if (values->size() != types->size()) return false; for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { if (!VerifyQuantizationDetails(verifier, values->Get(i), types->GetEnum(i))) { return false; } } return true; } inline bool VerifyBuiltinOptions(flatbuffers::Verifier &verifier, const void *obj, BuiltinOptions type) { switch (type) { case BuiltinOptions_NONE: { return true; } case BuiltinOptions_Conv2DOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_DepthwiseConv2DOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ConcatEmbeddingsOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LSHProjectionOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_Pool2DOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SVDFOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_RNNOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_FullyConnectedOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SoftmaxOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ConcatenationOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_AddOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_L2NormOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LocalResponseNormalizationOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LSTMOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ResizeBilinearOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_CallOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ReshapeOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SkipGramOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SpaceToDepthOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_EmbeddingLookupSparseOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_MulOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_PadOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_GatherOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_BatchToSpaceNDOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SpaceToBatchNDOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_TransposeOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ReducerOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SubOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_DivOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SqueezeOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SequenceRNNOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_StridedSliceOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ExpOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_TopKV2Options: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SplitOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LogSoftmaxOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_CastOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_DequantizeOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_MaximumMinimumOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ArgMaxOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LessOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_NegOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_PadV2Options: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_GreaterOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_GreaterEqualOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LessEqualOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SelectOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SliceOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_TransposeConvOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SparseToDenseOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_TileOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ExpandDimsOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_EqualOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_NotEqualOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ShapeOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_PowOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ArgMinOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_FakeQuantOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_PackOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LogicalOrOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_OneHotOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LogicalAndOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LogicalNotOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_UnpackOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_FloorDivOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SquareOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ZerosLikeOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_FillOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_BidirectionalSequenceLSTMOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_BidirectionalSequenceRNNOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_UnidirectionalSequenceLSTMOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_FloorModOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_RangeOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ResizeNearestNeighborOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LeakyReluOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SquaredDifferenceOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_MirrorPadOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_AbsOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SplitVOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } default: return false; } } inline bool VerifyBuiltinOptionsVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types) { if (!values || !types) return !values && !types; if (values->size() != types->size()) return false; for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { if (!VerifyBuiltinOptions(verifier, values->Get(i), types->GetEnum(i))) { return false; } } return true; } inline const tflite::Model *GetModel(const void *buf) { return flatbuffers::GetRoot(buf); } inline const tflite::Model *GetSizePrefixedModel(const void *buf) { return flatbuffers::GetSizePrefixedRoot(buf); } inline const char *ModelIdentifier() { return "TFL3"; } inline bool ModelBufferHasIdentifier(const void *buf) { return flatbuffers::BufferHasIdentifier(buf, ModelIdentifier()); } inline bool VerifyModelBuffer(flatbuffers::Verifier &verifier) { return verifier.VerifyBuffer(ModelIdentifier()); } inline bool VerifySizePrefixedModelBuffer(flatbuffers::Verifier &verifier) { return verifier.VerifySizePrefixedBuffer(ModelIdentifier()); } inline const char *ModelExtension() { return "tflite"; } inline void FinishModelBuffer(flatbuffers::FlatBufferBuilder &fbb, flatbuffers::Offset root) { fbb.Finish(root, ModelIdentifier()); } inline void FinishSizePrefixedModelBuffer(flatbuffers::FlatBufferBuilder &fbb, flatbuffers::Offset root) { fbb.FinishSizePrefixed(root, ModelIdentifier()); } } // namespace tflite #endif // FLATBUFFERS_GENERATED_SCHEMA_TFLITE_H_