// automatically generated by the FlatBuffers compiler, do not modify #ifndef FLATBUFFERS_GENERATED_CAFFEOP_MNN_H_ #define FLATBUFFERS_GENERATED_CAFFEOP_MNN_H_ #include "Tensor_generated.h" #include "Type_generated.h" namespace MNN { struct Convolution2DCommon; struct Convolution2DCommonT; struct Convolution3DCommon; struct Convolution3DCommonT; struct SparseCommon; struct SparseCommonT; struct IDSTQuan; struct IDSTQuanT; struct QuantizedFloatParam; struct QuantizedFloatParamT; struct Convolution2D; struct Convolution2DT; struct Convolution3D; struct Convolution3DT; struct InnerProduct; struct InnerProductT; struct Pool; struct PoolT; struct Pool3D; struct Pool3DT; struct Relu; struct ReluT; struct Relu6; struct Relu6T; struct PRelu; struct PReluT; struct ELU; struct ELUT; struct LRN; struct LRNT; struct ArgMax; struct ArgMaxT; struct Axis; struct AxisT; struct Input; struct InputT; struct LSTM; struct LSTMT; struct Slice; struct SliceT; struct BatchNorm; struct BatchNormT; struct Scale; struct ScaleT; struct Eltwise; struct EltwiseT; struct Flatten; struct FlattenT; struct Permute; struct PermuteT; struct Reshape; struct ReshapeT; struct DetectionOutput; struct DetectionOutputT; struct RoiParameters; struct RoiParametersT; struct Proposal; struct ProposalT; struct Interp; struct InterpT; struct Resize; struct ResizeT; struct PriorBox; struct PriorBoxT; struct Normalize; struct NormalizeT; struct EltwiseInt8; struct EltwiseInt8T; struct CumSum; struct CumSumT; inline const flatbuffers::TypeTable *Convolution2DCommonTypeTable(); inline const flatbuffers::TypeTable *Convolution3DCommonTypeTable(); inline const flatbuffers::TypeTable *SparseCommonTypeTable(); inline const flatbuffers::TypeTable *IDSTQuanTypeTable(); inline const flatbuffers::TypeTable *QuantizedFloatParamTypeTable(); inline const flatbuffers::TypeTable *Convolution2DTypeTable(); inline const flatbuffers::TypeTable *Convolution3DTypeTable(); inline const flatbuffers::TypeTable *InnerProductTypeTable(); inline const flatbuffers::TypeTable *PoolTypeTable(); inline const flatbuffers::TypeTable *Pool3DTypeTable(); inline const flatbuffers::TypeTable *ReluTypeTable(); inline const flatbuffers::TypeTable *Relu6TypeTable(); inline const flatbuffers::TypeTable *PReluTypeTable(); inline const flatbuffers::TypeTable *ELUTypeTable(); inline const flatbuffers::TypeTable *LRNTypeTable(); inline const flatbuffers::TypeTable *ArgMaxTypeTable(); inline const flatbuffers::TypeTable *AxisTypeTable(); inline const flatbuffers::TypeTable *InputTypeTable(); inline const flatbuffers::TypeTable *LSTMTypeTable(); inline const flatbuffers::TypeTable *SliceTypeTable(); inline const flatbuffers::TypeTable *BatchNormTypeTable(); inline const flatbuffers::TypeTable *ScaleTypeTable(); inline const flatbuffers::TypeTable *EltwiseTypeTable(); inline const flatbuffers::TypeTable *FlattenTypeTable(); inline const flatbuffers::TypeTable *PermuteTypeTable(); inline const flatbuffers::TypeTable *ReshapeTypeTable(); inline const flatbuffers::TypeTable *DetectionOutputTypeTable(); inline const flatbuffers::TypeTable *RoiParametersTypeTable(); inline const flatbuffers::TypeTable *ProposalTypeTable(); inline const flatbuffers::TypeTable *InterpTypeTable(); inline const flatbuffers::TypeTable *ResizeTypeTable(); inline const flatbuffers::TypeTable *PriorBoxTypeTable(); inline const flatbuffers::TypeTable *NormalizeTypeTable(); inline const flatbuffers::TypeTable *EltwiseInt8TypeTable(); inline const flatbuffers::TypeTable *CumSumTypeTable(); enum PadMode { PadMode_CAFFE = 0, PadMode_VALID = 1, PadMode_SAME = 2, PadMode_MIN = PadMode_CAFFE, PadMode_MAX = PadMode_SAME }; inline const PadMode (&EnumValuesPadMode())[3] { static const PadMode values[] = { PadMode_CAFFE, PadMode_VALID, PadMode_SAME }; return values; } inline const char * const *EnumNamesPadMode() { static const char * const names[] = { "CAFFE", "VALID", "SAME", nullptr }; return names; } inline const char *EnumNamePadMode(PadMode e) { if (e < PadMode_CAFFE || e > PadMode_SAME) return ""; const size_t index = static_cast(e); return EnumNamesPadMode()[index]; } enum SparseAlgo { SparseAlgo_RANDOM = 0, SparseAlgo_SIMD_OC = 1, SparseAlgo_MIN = SparseAlgo_RANDOM, SparseAlgo_MAX = SparseAlgo_SIMD_OC }; inline const SparseAlgo (&EnumValuesSparseAlgo())[2] { static const SparseAlgo values[] = { SparseAlgo_RANDOM, SparseAlgo_SIMD_OC }; return values; } inline const char * const *EnumNamesSparseAlgo() { static const char * const names[] = { "RANDOM", "SIMD_OC", nullptr }; return names; } inline const char *EnumNameSparseAlgo(SparseAlgo e) { if (e < SparseAlgo_RANDOM || e > SparseAlgo_SIMD_OC) return ""; const size_t index = static_cast(e); return EnumNamesSparseAlgo()[index]; } enum ScaleStorageType { ScaleStorageType_FP32 = 0, ScaleStorageType_FP16 = 1, ScaleStorageType_MIN = ScaleStorageType_FP32, ScaleStorageType_MAX = ScaleStorageType_FP16 }; inline const ScaleStorageType (&EnumValuesScaleStorageType())[2] { static const ScaleStorageType values[] = { ScaleStorageType_FP32, ScaleStorageType_FP16 }; return values; } inline const char * const *EnumNamesScaleStorageType() { static const char * const names[] = { "FP32", "FP16", nullptr }; return names; } inline const char *EnumNameScaleStorageType(ScaleStorageType e) { if (e < ScaleStorageType_FP32 || e > ScaleStorageType_FP16) return ""; const size_t index = static_cast(e); return EnumNamesScaleStorageType()[index]; } enum QuantizeAlgo { QuantizeAlgo_DEFAULT = 0, QuantizeAlgo_OVERFLOW_AWARE = 1, QuantizeAlgo_WINOGRAD_AWARE = 2, QuantizeAlgo_MIN = QuantizeAlgo_DEFAULT, QuantizeAlgo_MAX = QuantizeAlgo_WINOGRAD_AWARE }; inline const QuantizeAlgo (&EnumValuesQuantizeAlgo())[3] { static const QuantizeAlgo values[] = { QuantizeAlgo_DEFAULT, QuantizeAlgo_OVERFLOW_AWARE, QuantizeAlgo_WINOGRAD_AWARE }; return values; } inline const char * const *EnumNamesQuantizeAlgo() { static const char * const names[] = { "DEFAULT", "OVERFLOW_AWARE", "WINOGRAD_AWARE", nullptr }; return names; } inline const char *EnumNameQuantizeAlgo(QuantizeAlgo e) { if (e < QuantizeAlgo_DEFAULT || e > QuantizeAlgo_WINOGRAD_AWARE) return ""; const size_t index = static_cast(e); return EnumNamesQuantizeAlgo()[index]; } enum PoolType { PoolType_MAXPOOL = 0, PoolType_AVEPOOL = 1, PoolType_MIN = PoolType_MAXPOOL, PoolType_MAX = PoolType_AVEPOOL }; inline const PoolType (&EnumValuesPoolType())[2] { static const PoolType values[] = { PoolType_MAXPOOL, PoolType_AVEPOOL }; return values; } inline const char * const *EnumNamesPoolType() { static const char * const names[] = { "MAXPOOL", "AVEPOOL", nullptr }; return names; } inline const char *EnumNamePoolType(PoolType e) { if (e < PoolType_MAXPOOL || e > PoolType_AVEPOOL) return ""; const size_t index = static_cast(e); return EnumNamesPoolType()[index]; } enum PoolPadType { PoolPadType_CAFFE = 0, PoolPadType_VALID = 1, PoolPadType_SAME = 2, PoolPadType_MIN = PoolPadType_CAFFE, PoolPadType_MAX = PoolPadType_SAME }; inline const PoolPadType (&EnumValuesPoolPadType())[3] { static const PoolPadType values[] = { PoolPadType_CAFFE, PoolPadType_VALID, PoolPadType_SAME }; return values; } inline const char * const *EnumNamesPoolPadType() { static const char * const names[] = { "CAFFE", "VALID", "SAME", nullptr }; return names; } inline const char *EnumNamePoolPadType(PoolPadType e) { if (e < PoolPadType_CAFFE || e > PoolPadType_SAME) return ""; const size_t index = static_cast(e); return EnumNamesPoolPadType()[index]; } enum AvgPoolCountType { AvgPoolCountType_DEFAULT = 0, AvgPoolCountType_INCLUDE_PADDING = 1, AvgPoolCountType_EXCLUDE_PADDING = 2, AvgPoolCountType_MIN = AvgPoolCountType_DEFAULT, AvgPoolCountType_MAX = AvgPoolCountType_EXCLUDE_PADDING }; inline const AvgPoolCountType (&EnumValuesAvgPoolCountType())[3] { static const AvgPoolCountType values[] = { AvgPoolCountType_DEFAULT, AvgPoolCountType_INCLUDE_PADDING, AvgPoolCountType_EXCLUDE_PADDING }; return values; } inline const char * const *EnumNamesAvgPoolCountType() { static const char * const names[] = { "DEFAULT", "INCLUDE_PADDING", "EXCLUDE_PADDING", nullptr }; return names; } inline const char *EnumNameAvgPoolCountType(AvgPoolCountType e) { if (e < AvgPoolCountType_DEFAULT || e > AvgPoolCountType_EXCLUDE_PADDING) return ""; const size_t index = static_cast(e); return EnumNamesAvgPoolCountType()[index]; } enum EltwiseType { EltwiseType_PROD = 0, EltwiseType_SUM = 1, EltwiseType_MAXIMUM = 2, EltwiseType_SUB = 3, EltwiseType_MIN = EltwiseType_PROD, EltwiseType_MAX = EltwiseType_SUB }; inline const EltwiseType (&EnumValuesEltwiseType())[4] { static const EltwiseType values[] = { EltwiseType_PROD, EltwiseType_SUM, EltwiseType_MAXIMUM, EltwiseType_SUB }; return values; } inline const char * const *EnumNamesEltwiseType() { static const char * const names[] = { "PROD", "SUM", "MAXIMUM", "SUB", nullptr }; return names; } inline const char *EnumNameEltwiseType(EltwiseType e) { if (e < EltwiseType_PROD || e > EltwiseType_SUB) return ""; const size_t index = static_cast(e); return EnumNamesEltwiseType()[index]; } enum CoordinateTransformationMode { CoordinateTransformationMode_NotSet = 0, CoordinateTransformationMode_AlignCorners = 1, CoordinateTransformationMode_HalfPixels = 2, CoordinateTransformationMode_PytorchHalfPixels = 3, CoordinateTransformationMode_Asymmetric = 4, CoordinateTransformationMode_TensorflowHalfPixels = 5, CoordinateTransformationMode_TensorflowCropAndResize = 6, CoordinateTransformationMode_MIN = CoordinateTransformationMode_NotSet, CoordinateTransformationMode_MAX = CoordinateTransformationMode_TensorflowCropAndResize }; inline const CoordinateTransformationMode (&EnumValuesCoordinateTransformationMode())[7] { static const CoordinateTransformationMode values[] = { CoordinateTransformationMode_NotSet, CoordinateTransformationMode_AlignCorners, CoordinateTransformationMode_HalfPixels, CoordinateTransformationMode_PytorchHalfPixels, CoordinateTransformationMode_Asymmetric, CoordinateTransformationMode_TensorflowHalfPixels, CoordinateTransformationMode_TensorflowCropAndResize }; return values; } inline const char * const *EnumNamesCoordinateTransformationMode() { static const char * const names[] = { "NotSet", "AlignCorners", "HalfPixels", "PytorchHalfPixels", "Asymmetric", "TensorflowHalfPixels", "TensorflowCropAndResize", nullptr }; return names; } inline const char *EnumNameCoordinateTransformationMode(CoordinateTransformationMode e) { if (e < CoordinateTransformationMode_NotSet || e > CoordinateTransformationMode_TensorflowCropAndResize) return ""; const size_t index = static_cast(e); return EnumNamesCoordinateTransformationMode()[index]; } struct Convolution2DCommonT : public flatbuffers::NativeTable { typedef Convolution2DCommon TableType; int32_t padX; int32_t padY; int32_t kernelX; int32_t kernelY; int32_t strideX; int32_t strideY; int32_t dilateX; int32_t dilateY; PadMode padMode; int32_t group; int32_t outputCount; int32_t inputCount; bool relu; bool relu6; std::vector pads; std::vector outPads; bool hasOutputShape; Convolution2DCommonT() : padX(0), padY(0), kernelX(1), kernelY(1), strideX(1), strideY(1), dilateX(1), dilateY(1), padMode(PadMode_CAFFE), group(1), outputCount(0), inputCount(0), relu(false), relu6(false), hasOutputShape(false) { } }; struct Convolution2DCommon FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Convolution2DCommonT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return Convolution2DCommonTypeTable(); } int32_t padX() const { return GetField(4, 0); } int32_t padY() const { return GetField(6, 0); } int32_t kernelX() const { return GetField(8, 1); } int32_t kernelY() const { return GetField(10, 1); } int32_t strideX() const { return GetField(12, 1); } int32_t strideY() const { return GetField(14, 1); } int32_t dilateX() const { return GetField(16, 1); } int32_t dilateY() const { return GetField(18, 1); } PadMode padMode() const { return static_cast(GetField(20, 0)); } int32_t group() const { return GetField(22, 1); } int32_t outputCount() const { return GetField(24, 0); } int32_t inputCount() const { return GetField(26, 0); } bool relu() const { return GetField(28, 0) != 0; } bool relu6() const { return GetField(30, 0) != 0; } const flatbuffers::Vector *pads() const { return GetPointer *>(32); } const flatbuffers::Vector *outPads() const { return GetPointer *>(34); } bool hasOutputShape() const { return GetField(36, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyField(verifier, 6) && VerifyField(verifier, 8) && VerifyField(verifier, 10) && VerifyField(verifier, 12) && VerifyField(verifier, 14) && VerifyField(verifier, 16) && VerifyField(verifier, 18) && VerifyField(verifier, 20) && VerifyField(verifier, 22) && VerifyField(verifier, 24) && VerifyField(verifier, 26) && VerifyField(verifier, 28) && VerifyField(verifier, 30) && VerifyOffset(verifier, 32) && verifier.VerifyVector(pads()) && VerifyOffset(verifier, 34) && verifier.VerifyVector(outPads()) && VerifyField(verifier, 36) && verifier.EndTable(); } Convolution2DCommonT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(Convolution2DCommonT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const Convolution2DCommonT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct Convolution2DCommonBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_padX(int32_t padX) { fbb_.AddElement(4, padX, 0); } void add_padY(int32_t padY) { fbb_.AddElement(6, padY, 0); } void add_kernelX(int32_t kernelX) { fbb_.AddElement(8, kernelX, 1); } void add_kernelY(int32_t kernelY) { fbb_.AddElement(10, kernelY, 1); } void add_strideX(int32_t strideX) { fbb_.AddElement(12, strideX, 1); } void add_strideY(int32_t strideY) { fbb_.AddElement(14, strideY, 1); } void add_dilateX(int32_t dilateX) { fbb_.AddElement(16, dilateX, 1); } void add_dilateY(int32_t dilateY) { fbb_.AddElement(18, dilateY, 1); } void add_padMode(PadMode padMode) { fbb_.AddElement(20, static_cast(padMode), 0); } void add_group(int32_t group) { fbb_.AddElement(22, group, 1); } void add_outputCount(int32_t outputCount) { fbb_.AddElement(24, outputCount, 0); } void add_inputCount(int32_t inputCount) { fbb_.AddElement(26, inputCount, 0); } void add_relu(bool relu) { fbb_.AddElement(28, static_cast(relu), 0); } void add_relu6(bool relu6) { fbb_.AddElement(30, static_cast(relu6), 0); } void add_pads(flatbuffers::Offset> pads) { fbb_.AddOffset(32, pads); } void add_outPads(flatbuffers::Offset> outPads) { fbb_.AddOffset(34, outPads); } void add_hasOutputShape(bool hasOutputShape) { fbb_.AddElement(36, static_cast(hasOutputShape), 0); } explicit Convolution2DCommonBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } Convolution2DCommonBuilder &operator=(const Convolution2DCommonBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateConvolution2DCommon( flatbuffers::FlatBufferBuilder &_fbb, int32_t padX = 0, int32_t padY = 0, int32_t kernelX = 1, int32_t kernelY = 1, int32_t strideX = 1, int32_t strideY = 1, int32_t dilateX = 1, int32_t dilateY = 1, PadMode padMode = PadMode_CAFFE, int32_t group = 1, int32_t outputCount = 0, int32_t inputCount = 0, bool relu = false, bool relu6 = false, flatbuffers::Offset> pads = 0, flatbuffers::Offset> outPads = 0, bool hasOutputShape = false) { Convolution2DCommonBuilder builder_(_fbb); builder_.add_outPads(outPads); builder_.add_pads(pads); builder_.add_inputCount(inputCount); builder_.add_outputCount(outputCount); builder_.add_group(group); builder_.add_dilateY(dilateY); builder_.add_dilateX(dilateX); builder_.add_strideY(strideY); builder_.add_strideX(strideX); builder_.add_kernelY(kernelY); builder_.add_kernelX(kernelX); builder_.add_padY(padY); builder_.add_padX(padX); builder_.add_hasOutputShape(hasOutputShape); builder_.add_relu6(relu6); builder_.add_relu(relu); builder_.add_padMode(padMode); return builder_.Finish(); } flatbuffers::Offset CreateConvolution2DCommon(flatbuffers::FlatBufferBuilder &_fbb, const Convolution2DCommonT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct Convolution3DCommonT : public flatbuffers::NativeTable { typedef Convolution3DCommon TableType; std::vector dilates; std::vector strides; std::vector kernels; std::vector pads; PadMode padMode; int32_t inputCount; int32_t outputCount; bool relu; bool relu6; int32_t group; std::vector outPads; bool hasOutputShape; Convolution3DCommonT() : padMode(PadMode_CAFFE), inputCount(0), outputCount(0), relu(false), relu6(false), group(1), hasOutputShape(false) { } }; struct Convolution3DCommon FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Convolution3DCommonT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return Convolution3DCommonTypeTable(); } const flatbuffers::Vector *dilates() const { return GetPointer *>(4); } const flatbuffers::Vector *strides() const { return GetPointer *>(6); } const flatbuffers::Vector *kernels() const { return GetPointer *>(8); } const flatbuffers::Vector *pads() const { return GetPointer *>(10); } PadMode padMode() const { return static_cast(GetField(12, 0)); } int32_t inputCount() const { return GetField(14, 0); } int32_t outputCount() const { return GetField(16, 0); } bool relu() const { return GetField(18, 0) != 0; } bool relu6() const { return GetField(20, 0) != 0; } int32_t group() const { return GetField(22, 1); } const flatbuffers::Vector *outPads() const { return GetPointer *>(24); } bool hasOutputShape() const { return GetField(26, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, 4) && verifier.VerifyVector(dilates()) && VerifyOffset(verifier, 6) && verifier.VerifyVector(strides()) && VerifyOffset(verifier, 8) && verifier.VerifyVector(kernels()) && VerifyOffset(verifier, 10) && verifier.VerifyVector(pads()) && VerifyField(verifier, 12) && VerifyField(verifier, 14) && VerifyField(verifier, 16) && VerifyField(verifier, 18) && VerifyField(verifier, 20) && VerifyField(verifier, 22) && VerifyOffset(verifier, 24) && verifier.VerifyVector(outPads()) && VerifyField(verifier, 26) && verifier.EndTable(); } Convolution3DCommonT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(Convolution3DCommonT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const Convolution3DCommonT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct Convolution3DCommonBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_dilates(flatbuffers::Offset> dilates) { fbb_.AddOffset(4, dilates); } void add_strides(flatbuffers::Offset> strides) { fbb_.AddOffset(6, strides); } void add_kernels(flatbuffers::Offset> kernels) { fbb_.AddOffset(8, kernels); } void add_pads(flatbuffers::Offset> pads) { fbb_.AddOffset(10, pads); } void add_padMode(PadMode padMode) { fbb_.AddElement(12, static_cast(padMode), 0); } void add_inputCount(int32_t inputCount) { fbb_.AddElement(14, inputCount, 0); } void add_outputCount(int32_t outputCount) { fbb_.AddElement(16, outputCount, 0); } void add_relu(bool relu) { fbb_.AddElement(18, static_cast(relu), 0); } void add_relu6(bool relu6) { fbb_.AddElement(20, static_cast(relu6), 0); } void add_group(int32_t group) { fbb_.AddElement(22, group, 1); } void add_outPads(flatbuffers::Offset> outPads) { fbb_.AddOffset(24, outPads); } void add_hasOutputShape(bool hasOutputShape) { fbb_.AddElement(26, static_cast(hasOutputShape), 0); } explicit Convolution3DCommonBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } Convolution3DCommonBuilder &operator=(const Convolution3DCommonBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateConvolution3DCommon( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> dilates = 0, flatbuffers::Offset> strides = 0, flatbuffers::Offset> kernels = 0, flatbuffers::Offset> pads = 0, PadMode padMode = PadMode_CAFFE, int32_t inputCount = 0, int32_t outputCount = 0, bool relu = false, bool relu6 = false, int32_t group = 1, flatbuffers::Offset> outPads = 0, bool hasOutputShape = false) { Convolution3DCommonBuilder builder_(_fbb); builder_.add_outPads(outPads); builder_.add_group(group); builder_.add_outputCount(outputCount); builder_.add_inputCount(inputCount); builder_.add_pads(pads); builder_.add_kernels(kernels); builder_.add_strides(strides); builder_.add_dilates(dilates); builder_.add_hasOutputShape(hasOutputShape); builder_.add_relu6(relu6); builder_.add_relu(relu); builder_.add_padMode(padMode); return builder_.Finish(); } flatbuffers::Offset CreateConvolution3DCommon(flatbuffers::FlatBufferBuilder &_fbb, const Convolution3DCommonT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct SparseCommonT : public flatbuffers::NativeTable { typedef SparseCommon TableType; SparseAlgo method; std::vector> args; SparseCommonT() : method(SparseAlgo_RANDOM) { } }; struct SparseCommon FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SparseCommonT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return SparseCommonTypeTable(); } SparseAlgo method() const { return static_cast(GetField(4, 0)); } const flatbuffers::Vector> *args() const { return GetPointer> *>(6); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyOffset(verifier, 6) && verifier.VerifyVector(args()) && verifier.VerifyVectorOfTables(args()) && verifier.EndTable(); } SparseCommonT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(SparseCommonT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SparseCommonT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct SparseCommonBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_method(SparseAlgo method) { fbb_.AddElement(4, static_cast(method), 0); } void add_args(flatbuffers::Offset>> args) { fbb_.AddOffset(6, args); } explicit SparseCommonBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SparseCommonBuilder &operator=(const SparseCommonBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSparseCommon( flatbuffers::FlatBufferBuilder &_fbb, SparseAlgo method = SparseAlgo_RANDOM, flatbuffers::Offset>> args = 0) { SparseCommonBuilder builder_(_fbb); builder_.add_args(args); builder_.add_method(method); return builder_.Finish(); } flatbuffers::Offset CreateSparseCommon(flatbuffers::FlatBufferBuilder &_fbb, const SparseCommonT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct IDSTQuanT : public flatbuffers::NativeTable { typedef IDSTQuan TableType; std::vector buffer; std::vector alpha; int32_t type; bool useInt32; float quantScale; float scaleIn; float scaleOut; int32_t aMaxOrBits; int32_t aMin; int32_t readType; bool has_scaleInt; bool shapeInt32; uint32_t weightSize; std::vector index; std::vector alphaFp16; ScaleStorageType scaleStorage; IDSTQuanT() : type(0), useInt32(false), quantScale(0.0f), scaleIn(0.0f), scaleOut(0.0f), aMaxOrBits(0), aMin(0), readType(0), has_scaleInt(false), shapeInt32(false), weightSize(0), scaleStorage(ScaleStorageType_FP32) { } }; struct IDSTQuan FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef IDSTQuanT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return IDSTQuanTypeTable(); } const flatbuffers::Vector *buffer() const { return GetPointer *>(4); } const flatbuffers::Vector *alpha() const { return GetPointer *>(6); } int32_t type() const { return GetField(8, 0); } bool useInt32() const { return GetField(10, 0) != 0; } float quantScale() const { return GetField(12, 0.0f); } float scaleIn() const { return GetField(14, 0.0f); } float scaleOut() const { return GetField(16, 0.0f); } int32_t aMaxOrBits() const { return GetField(18, 0); } int32_t aMin() const { return GetField(20, 0); } int32_t readType() const { return GetField(22, 0); } bool has_scaleInt() const { return GetField(24, 0) != 0; } bool shapeInt32() const { return GetField(26, 0) != 0; } uint32_t weightSize() const { return GetField(28, 0); } const flatbuffers::Vector *index() const { return GetPointer *>(30); } const flatbuffers::Vector *alphaFp16() const { return GetPointer *>(32); } ScaleStorageType scaleStorage() const { return static_cast(GetField(34, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, 4) && verifier.VerifyVector(buffer()) && VerifyOffset(verifier, 6) && verifier.VerifyVector(alpha()) && VerifyField(verifier, 8) && VerifyField(verifier, 10) && VerifyField(verifier, 12) && VerifyField(verifier, 14) && VerifyField(verifier, 16) && VerifyField(verifier, 18) && VerifyField(verifier, 20) && VerifyField(verifier, 22) && VerifyField(verifier, 24) && VerifyField(verifier, 26) && VerifyField(verifier, 28) && VerifyOffset(verifier, 30) && verifier.VerifyVector(index()) && VerifyOffset(verifier, 32) && verifier.VerifyVector(alphaFp16()) && VerifyField(verifier, 34) && verifier.EndTable(); } IDSTQuanT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(IDSTQuanT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const IDSTQuanT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct IDSTQuanBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_buffer(flatbuffers::Offset> buffer) { fbb_.AddOffset(4, buffer); } void add_alpha(flatbuffers::Offset> alpha) { fbb_.AddOffset(6, alpha); } void add_type(int32_t type) { fbb_.AddElement(8, type, 0); } void add_useInt32(bool useInt32) { fbb_.AddElement(10, static_cast(useInt32), 0); } void add_quantScale(float quantScale) { fbb_.AddElement(12, quantScale, 0.0f); } void add_scaleIn(float scaleIn) { fbb_.AddElement(14, scaleIn, 0.0f); } void add_scaleOut(float scaleOut) { fbb_.AddElement(16, scaleOut, 0.0f); } void add_aMaxOrBits(int32_t aMaxOrBits) { fbb_.AddElement(18, aMaxOrBits, 0); } void add_aMin(int32_t aMin) { fbb_.AddElement(20, aMin, 0); } void add_readType(int32_t readType) { fbb_.AddElement(22, readType, 0); } void add_has_scaleInt(bool has_scaleInt) { fbb_.AddElement(24, static_cast(has_scaleInt), 0); } void add_shapeInt32(bool shapeInt32) { fbb_.AddElement(26, static_cast(shapeInt32), 0); } void add_weightSize(uint32_t weightSize) { fbb_.AddElement(28, weightSize, 0); } void add_index(flatbuffers::Offset> index) { fbb_.AddOffset(30, index); } void add_alphaFp16(flatbuffers::Offset> alphaFp16) { fbb_.AddOffset(32, alphaFp16); } void add_scaleStorage(ScaleStorageType scaleStorage) { fbb_.AddElement(34, static_cast(scaleStorage), 0); } explicit IDSTQuanBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } IDSTQuanBuilder &operator=(const IDSTQuanBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateIDSTQuan( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> buffer = 0, flatbuffers::Offset> alpha = 0, int32_t type = 0, bool useInt32 = false, float quantScale = 0.0f, float scaleIn = 0.0f, float scaleOut = 0.0f, int32_t aMaxOrBits = 0, int32_t aMin = 0, int32_t readType = 0, bool has_scaleInt = false, bool shapeInt32 = false, uint32_t weightSize = 0, flatbuffers::Offset> index = 0, flatbuffers::Offset> alphaFp16 = 0, ScaleStorageType scaleStorage = ScaleStorageType_FP32) { IDSTQuanBuilder builder_(_fbb); builder_.add_alphaFp16(alphaFp16); builder_.add_index(index); builder_.add_weightSize(weightSize); builder_.add_readType(readType); builder_.add_aMin(aMin); builder_.add_aMaxOrBits(aMaxOrBits); builder_.add_scaleOut(scaleOut); builder_.add_scaleIn(scaleIn); builder_.add_quantScale(quantScale); builder_.add_type(type); builder_.add_alpha(alpha); builder_.add_buffer(buffer); builder_.add_scaleStorage(scaleStorage); builder_.add_shapeInt32(shapeInt32); builder_.add_has_scaleInt(has_scaleInt); builder_.add_useInt32(useInt32); return builder_.Finish(); } flatbuffers::Offset CreateIDSTQuan(flatbuffers::FlatBufferBuilder &_fbb, const IDSTQuanT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct QuantizedFloatParamT : public flatbuffers::NativeTable { typedef QuantizedFloatParam TableType; std::vector weight; std::vector bias; std::vector scale; std::vector tensorScale; QuantizeAlgo method; int32_t nbits; int8_t zeroPoint; int8_t outputZeroPoint; int8_t clampMin; int8_t clampMax; std::vector winogradAttr; DataType outputDataType; std::vector floatzeros; QuantizedFloatParamT() : method(QuantizeAlgo_DEFAULT), nbits(8), zeroPoint(0), outputZeroPoint(0), clampMin(-128), clampMax(127), outputDataType(DataType_DT_INT8) { } }; struct QuantizedFloatParam FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef QuantizedFloatParamT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return QuantizedFloatParamTypeTable(); } const flatbuffers::Vector *weight() const { return GetPointer *>(4); } const flatbuffers::Vector *bias() const { return GetPointer *>(6); } const flatbuffers::Vector *scale() const { return GetPointer *>(8); } const flatbuffers::Vector *tensorScale() const { return GetPointer *>(10); } QuantizeAlgo method() const { return static_cast(GetField(12, 0)); } int32_t nbits() const { return GetField(14, 8); } int8_t zeroPoint() const { return GetField(16, 0); } int8_t outputZeroPoint() const { return GetField(18, 0); } int8_t clampMin() const { return GetField(20, -128); } int8_t clampMax() const { return GetField(22, 127); } const flatbuffers::Vector *winogradAttr() const { return GetPointer *>(24); } DataType outputDataType() const { return static_cast(GetField(26, 6)); } const flatbuffers::Vector *floatzeros() const { return GetPointer *>(28); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, 4) && verifier.VerifyVector(weight()) && VerifyOffset(verifier, 6) && verifier.VerifyVector(bias()) && VerifyOffset(verifier, 8) && verifier.VerifyVector(scale()) && VerifyOffset(verifier, 10) && verifier.VerifyVector(tensorScale()) && VerifyField(verifier, 12) && VerifyField(verifier, 14) && VerifyField(verifier, 16) && VerifyField(verifier, 18) && VerifyField(verifier, 20) && VerifyField(verifier, 22) && VerifyOffset(verifier, 24) && verifier.VerifyVector(winogradAttr()) && VerifyField(verifier, 26) && VerifyOffset(verifier, 28) && verifier.VerifyVector(floatzeros()) && verifier.EndTable(); } QuantizedFloatParamT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(QuantizedFloatParamT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const QuantizedFloatParamT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct QuantizedFloatParamBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_weight(flatbuffers::Offset> weight) { fbb_.AddOffset(4, weight); } void add_bias(flatbuffers::Offset> bias) { fbb_.AddOffset(6, bias); } void add_scale(flatbuffers::Offset> scale) { fbb_.AddOffset(8, scale); } void add_tensorScale(flatbuffers::Offset> tensorScale) { fbb_.AddOffset(10, tensorScale); } void add_method(QuantizeAlgo method) { fbb_.AddElement(12, static_cast(method), 0); } void add_nbits(int32_t nbits) { fbb_.AddElement(14, nbits, 8); } void add_zeroPoint(int8_t zeroPoint) { fbb_.AddElement(16, zeroPoint, 0); } void add_outputZeroPoint(int8_t outputZeroPoint) { fbb_.AddElement(18, outputZeroPoint, 0); } void add_clampMin(int8_t clampMin) { fbb_.AddElement(20, clampMin, -128); } void add_clampMax(int8_t clampMax) { fbb_.AddElement(22, clampMax, 127); } void add_winogradAttr(flatbuffers::Offset> winogradAttr) { fbb_.AddOffset(24, winogradAttr); } void add_outputDataType(DataType outputDataType) { fbb_.AddElement(26, static_cast(outputDataType), 6); } void add_floatzeros(flatbuffers::Offset> floatzeros) { fbb_.AddOffset(28, floatzeros); } explicit QuantizedFloatParamBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } QuantizedFloatParamBuilder &operator=(const QuantizedFloatParamBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateQuantizedFloatParam( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> weight = 0, flatbuffers::Offset> bias = 0, flatbuffers::Offset> scale = 0, flatbuffers::Offset> tensorScale = 0, QuantizeAlgo method = QuantizeAlgo_DEFAULT, int32_t nbits = 8, int8_t zeroPoint = 0, int8_t outputZeroPoint = 0, int8_t clampMin = -128, int8_t clampMax = 127, flatbuffers::Offset> winogradAttr = 0, DataType outputDataType = DataType_DT_INT8, flatbuffers::Offset> floatzeros = 0) { QuantizedFloatParamBuilder builder_(_fbb); builder_.add_floatzeros(floatzeros); builder_.add_outputDataType(outputDataType); builder_.add_winogradAttr(winogradAttr); builder_.add_nbits(nbits); builder_.add_tensorScale(tensorScale); builder_.add_scale(scale); builder_.add_bias(bias); builder_.add_weight(weight); builder_.add_clampMax(clampMax); builder_.add_clampMin(clampMin); builder_.add_outputZeroPoint(outputZeroPoint); builder_.add_zeroPoint(zeroPoint); builder_.add_method(method); return builder_.Finish(); } flatbuffers::Offset CreateQuantizedFloatParam(flatbuffers::FlatBufferBuilder &_fbb, const QuantizedFloatParamT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct Convolution2DT : public flatbuffers::NativeTable { typedef Convolution2D TableType; std::unique_ptr common; std::vector weight; std::vector bias; std::unique_ptr quanParameter; std::unique_ptr symmetricQuan; std::unique_ptr sparseParameter; std::vector external; Convolution2DT() { } }; struct Convolution2D FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Convolution2DT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return Convolution2DTypeTable(); } const Convolution2DCommon *common() const { return GetPointer(4); } const flatbuffers::Vector *weight() const { return GetPointer *>(6); } const flatbuffers::Vector *bias() const { return GetPointer *>(8); } const IDSTQuan *quanParameter() const { return GetPointer(10); } const QuantizedFloatParam *symmetricQuan() const { return GetPointer(12); } const SparseCommon *sparseParameter() const { return GetPointer(14); } const flatbuffers::Vector *external() const { return GetPointer *>(16); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, 4) && verifier.VerifyTable(common()) && VerifyOffset(verifier, 6) && verifier.VerifyVector(weight()) && VerifyOffset(verifier, 8) && verifier.VerifyVector(bias()) && VerifyOffset(verifier, 10) && verifier.VerifyTable(quanParameter()) && VerifyOffset(verifier, 12) && verifier.VerifyTable(symmetricQuan()) && VerifyOffset(verifier, 14) && verifier.VerifyTable(sparseParameter()) && VerifyOffset(verifier, 16) && verifier.VerifyVector(external()) && verifier.EndTable(); } Convolution2DT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(Convolution2DT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const Convolution2DT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct Convolution2DBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_common(flatbuffers::Offset common) { fbb_.AddOffset(4, common); } void add_weight(flatbuffers::Offset> weight) { fbb_.AddOffset(6, weight); } void add_bias(flatbuffers::Offset> bias) { fbb_.AddOffset(8, bias); } void add_quanParameter(flatbuffers::Offset quanParameter) { fbb_.AddOffset(10, quanParameter); } void add_symmetricQuan(flatbuffers::Offset symmetricQuan) { fbb_.AddOffset(12, symmetricQuan); } void add_sparseParameter(flatbuffers::Offset sparseParameter) { fbb_.AddOffset(14, sparseParameter); } void add_external(flatbuffers::Offset> external) { fbb_.AddOffset(16, external); } explicit Convolution2DBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } Convolution2DBuilder &operator=(const Convolution2DBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateConvolution2D( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset common = 0, flatbuffers::Offset> weight = 0, flatbuffers::Offset> bias = 0, flatbuffers::Offset quanParameter = 0, flatbuffers::Offset symmetricQuan = 0, flatbuffers::Offset sparseParameter = 0, flatbuffers::Offset> external = 0) { Convolution2DBuilder builder_(_fbb); builder_.add_external(external); builder_.add_sparseParameter(sparseParameter); builder_.add_symmetricQuan(symmetricQuan); builder_.add_quanParameter(quanParameter); builder_.add_bias(bias); builder_.add_weight(weight); builder_.add_common(common); return builder_.Finish(); } flatbuffers::Offset CreateConvolution2D(flatbuffers::FlatBufferBuilder &_fbb, const Convolution2DT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct Convolution3DT : public flatbuffers::NativeTable { typedef Convolution3D TableType; std::unique_ptr common; std::vector weight; std::vector bias; std::vector external; Convolution3DT() { } }; struct Convolution3D FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Convolution3DT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return Convolution3DTypeTable(); } const Convolution3DCommon *common() const { return GetPointer(4); } const flatbuffers::Vector *weight() const { return GetPointer *>(6); } const flatbuffers::Vector *bias() const { return GetPointer *>(8); } const flatbuffers::Vector *external() const { return GetPointer *>(10); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, 4) && verifier.VerifyTable(common()) && VerifyOffset(verifier, 6) && verifier.VerifyVector(weight()) && VerifyOffset(verifier, 8) && verifier.VerifyVector(bias()) && VerifyOffset(verifier, 10) && verifier.VerifyVector(external()) && verifier.EndTable(); } Convolution3DT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(Convolution3DT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const Convolution3DT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct Convolution3DBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_common(flatbuffers::Offset common) { fbb_.AddOffset(4, common); } void add_weight(flatbuffers::Offset> weight) { fbb_.AddOffset(6, weight); } void add_bias(flatbuffers::Offset> bias) { fbb_.AddOffset(8, bias); } void add_external(flatbuffers::Offset> external) { fbb_.AddOffset(10, external); } explicit Convolution3DBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } Convolution3DBuilder &operator=(const Convolution3DBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateConvolution3D( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset common = 0, flatbuffers::Offset> weight = 0, flatbuffers::Offset> bias = 0, flatbuffers::Offset> external = 0) { Convolution3DBuilder builder_(_fbb); builder_.add_external(external); builder_.add_bias(bias); builder_.add_weight(weight); builder_.add_common(common); return builder_.Finish(); } flatbuffers::Offset CreateConvolution3D(flatbuffers::FlatBufferBuilder &_fbb, const Convolution3DT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct InnerProductT : public flatbuffers::NativeTable { typedef InnerProduct TableType; int32_t outputCount; int32_t biasTerm; int32_t weightSize; std::vector weight; std::vector bias; int32_t axis; bool transpose; std::unique_ptr quanParameter; InnerProductT() : outputCount(0), biasTerm(0), weightSize(0), axis(0), transpose(false) { } }; struct InnerProduct FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef InnerProductT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return InnerProductTypeTable(); } int32_t outputCount() const { return GetField(4, 0); } int32_t biasTerm() const { return GetField(6, 0); } int32_t weightSize() const { return GetField(8, 0); } const flatbuffers::Vector *weight() const { return GetPointer *>(10); } const flatbuffers::Vector *bias() const { return GetPointer *>(12); } int32_t axis() const { return GetField(14, 0); } bool transpose() const { return GetField(16, 0) != 0; } const IDSTQuan *quanParameter() const { return GetPointer(18); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyField(verifier, 6) && VerifyField(verifier, 8) && VerifyOffset(verifier, 10) && verifier.VerifyVector(weight()) && VerifyOffset(verifier, 12) && verifier.VerifyVector(bias()) && VerifyField(verifier, 14) && VerifyField(verifier, 16) && VerifyOffset(verifier, 18) && verifier.VerifyTable(quanParameter()) && verifier.EndTable(); } InnerProductT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(InnerProductT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const InnerProductT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct InnerProductBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_outputCount(int32_t outputCount) { fbb_.AddElement(4, outputCount, 0); } void add_biasTerm(int32_t biasTerm) { fbb_.AddElement(6, biasTerm, 0); } void add_weightSize(int32_t weightSize) { fbb_.AddElement(8, weightSize, 0); } void add_weight(flatbuffers::Offset> weight) { fbb_.AddOffset(10, weight); } void add_bias(flatbuffers::Offset> bias) { fbb_.AddOffset(12, bias); } void add_axis(int32_t axis) { fbb_.AddElement(14, axis, 0); } void add_transpose(bool transpose) { fbb_.AddElement(16, static_cast(transpose), 0); } void add_quanParameter(flatbuffers::Offset quanParameter) { fbb_.AddOffset(18, quanParameter); } explicit InnerProductBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } InnerProductBuilder &operator=(const InnerProductBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateInnerProduct( flatbuffers::FlatBufferBuilder &_fbb, int32_t outputCount = 0, int32_t biasTerm = 0, int32_t weightSize = 0, flatbuffers::Offset> weight = 0, flatbuffers::Offset> bias = 0, int32_t axis = 0, bool transpose = false, flatbuffers::Offset quanParameter = 0) { InnerProductBuilder builder_(_fbb); builder_.add_quanParameter(quanParameter); builder_.add_axis(axis); builder_.add_bias(bias); builder_.add_weight(weight); builder_.add_weightSize(weightSize); builder_.add_biasTerm(biasTerm); builder_.add_outputCount(outputCount); builder_.add_transpose(transpose); return builder_.Finish(); } flatbuffers::Offset CreateInnerProduct(flatbuffers::FlatBufferBuilder &_fbb, const InnerProductT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct PoolT : public flatbuffers::NativeTable { typedef Pool TableType; int32_t padX; int32_t padY; bool isGlobal; int32_t kernelX; int32_t kernelY; int32_t strideX; int32_t strideY; PoolType type; PoolPadType padType; DataType dataType; bool ceilModel; std::vector pads; AvgPoolCountType countType; PoolT() : padX(0), padY(0), isGlobal(false), kernelX(0), kernelY(0), strideX(0), strideY(0), type(PoolType_MAXPOOL), padType(PoolPadType_CAFFE), dataType(DataType_DT_FLOAT), ceilModel(true), countType(AvgPoolCountType_DEFAULT) { } }; struct Pool FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef PoolT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return PoolTypeTable(); } int32_t padX() const { return GetField(4, 0); } int32_t padY() const { return GetField(6, 0); } bool isGlobal() const { return GetField(8, 0) != 0; } int32_t kernelX() const { return GetField(10, 0); } int32_t kernelY() const { return GetField(12, 0); } int32_t strideX() const { return GetField(14, 0); } int32_t strideY() const { return GetField(16, 0); } PoolType type() const { return static_cast(GetField(18, 0)); } PoolPadType padType() const { return static_cast(GetField(20, 0)); } DataType dataType() const { return static_cast(GetField(22, 1)); } bool ceilModel() const { return GetField(24, 1) != 0; } const flatbuffers::Vector *pads() const { return GetPointer *>(26); } AvgPoolCountType countType() const { return static_cast(GetField(28, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyField(verifier, 6) && VerifyField(verifier, 8) && VerifyField(verifier, 10) && VerifyField(verifier, 12) && VerifyField(verifier, 14) && VerifyField(verifier, 16) && VerifyField(verifier, 18) && VerifyField(verifier, 20) && VerifyField(verifier, 22) && VerifyField(verifier, 24) && VerifyOffset(verifier, 26) && verifier.VerifyVector(pads()) && VerifyField(verifier, 28) && verifier.EndTable(); } PoolT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(PoolT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const PoolT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct PoolBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_padX(int32_t padX) { fbb_.AddElement(4, padX, 0); } void add_padY(int32_t padY) { fbb_.AddElement(6, padY, 0); } void add_isGlobal(bool isGlobal) { fbb_.AddElement(8, static_cast(isGlobal), 0); } void add_kernelX(int32_t kernelX) { fbb_.AddElement(10, kernelX, 0); } void add_kernelY(int32_t kernelY) { fbb_.AddElement(12, kernelY, 0); } void add_strideX(int32_t strideX) { fbb_.AddElement(14, strideX, 0); } void add_strideY(int32_t strideY) { fbb_.AddElement(16, strideY, 0); } void add_type(PoolType type) { fbb_.AddElement(18, static_cast(type), 0); } void add_padType(PoolPadType padType) { fbb_.AddElement(20, static_cast(padType), 0); } void add_dataType(DataType dataType) { fbb_.AddElement(22, static_cast(dataType), 1); } void add_ceilModel(bool ceilModel) { fbb_.AddElement(24, static_cast(ceilModel), 1); } void add_pads(flatbuffers::Offset> pads) { fbb_.AddOffset(26, pads); } void add_countType(AvgPoolCountType countType) { fbb_.AddElement(28, static_cast(countType), 0); } explicit PoolBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } PoolBuilder &operator=(const PoolBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreatePool( flatbuffers::FlatBufferBuilder &_fbb, int32_t padX = 0, int32_t padY = 0, bool isGlobal = false, int32_t kernelX = 0, int32_t kernelY = 0, int32_t strideX = 0, int32_t strideY = 0, PoolType type = PoolType_MAXPOOL, PoolPadType padType = PoolPadType_CAFFE, DataType dataType = DataType_DT_FLOAT, bool ceilModel = true, flatbuffers::Offset> pads = 0, AvgPoolCountType countType = AvgPoolCountType_DEFAULT) { PoolBuilder builder_(_fbb); builder_.add_pads(pads); builder_.add_dataType(dataType); builder_.add_strideY(strideY); builder_.add_strideX(strideX); builder_.add_kernelY(kernelY); builder_.add_kernelX(kernelX); builder_.add_padY(padY); builder_.add_padX(padX); builder_.add_countType(countType); builder_.add_ceilModel(ceilModel); builder_.add_padType(padType); builder_.add_type(type); builder_.add_isGlobal(isGlobal); return builder_.Finish(); } flatbuffers::Offset CreatePool(flatbuffers::FlatBufferBuilder &_fbb, const PoolT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct Pool3DT : public flatbuffers::NativeTable { typedef Pool3D TableType; std::vector strides; std::vector kernels; std::vector pads; PoolType type; PoolPadType padType; bool isGlobal; Pool3DT() : type(PoolType_MAXPOOL), padType(PoolPadType_CAFFE), isGlobal(false) { } }; struct Pool3D FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Pool3DT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return Pool3DTypeTable(); } const flatbuffers::Vector *strides() const { return GetPointer *>(4); } const flatbuffers::Vector *kernels() const { return GetPointer *>(6); } const flatbuffers::Vector *pads() const { return GetPointer *>(8); } PoolType type() const { return static_cast(GetField(10, 0)); } PoolPadType padType() const { return static_cast(GetField(12, 0)); } bool isGlobal() const { return GetField(14, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, 4) && verifier.VerifyVector(strides()) && VerifyOffset(verifier, 6) && verifier.VerifyVector(kernels()) && VerifyOffset(verifier, 8) && verifier.VerifyVector(pads()) && VerifyField(verifier, 10) && VerifyField(verifier, 12) && VerifyField(verifier, 14) && verifier.EndTable(); } Pool3DT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(Pool3DT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const Pool3DT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct Pool3DBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_strides(flatbuffers::Offset> strides) { fbb_.AddOffset(4, strides); } void add_kernels(flatbuffers::Offset> kernels) { fbb_.AddOffset(6, kernels); } void add_pads(flatbuffers::Offset> pads) { fbb_.AddOffset(8, pads); } void add_type(PoolType type) { fbb_.AddElement(10, static_cast(type), 0); } void add_padType(PoolPadType padType) { fbb_.AddElement(12, static_cast(padType), 0); } void add_isGlobal(bool isGlobal) { fbb_.AddElement(14, static_cast(isGlobal), 0); } explicit Pool3DBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } Pool3DBuilder &operator=(const Pool3DBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreatePool3D( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> strides = 0, flatbuffers::Offset> kernels = 0, flatbuffers::Offset> pads = 0, PoolType type = PoolType_MAXPOOL, PoolPadType padType = PoolPadType_CAFFE, bool isGlobal = false) { Pool3DBuilder builder_(_fbb); builder_.add_pads(pads); builder_.add_kernels(kernels); builder_.add_strides(strides); builder_.add_isGlobal(isGlobal); builder_.add_padType(padType); builder_.add_type(type); return builder_.Finish(); } flatbuffers::Offset CreatePool3D(flatbuffers::FlatBufferBuilder &_fbb, const Pool3DT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct ReluT : public flatbuffers::NativeTable { typedef Relu TableType; float slope; ReluT() : slope(0.0f) { } }; struct Relu FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ReluT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return ReluTypeTable(); } float slope() const { return GetField(4, 0.0f); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && verifier.EndTable(); } ReluT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(ReluT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ReluT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct ReluBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_slope(float slope) { fbb_.AddElement(4, slope, 0.0f); } explicit ReluBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ReluBuilder &operator=(const ReluBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateRelu( flatbuffers::FlatBufferBuilder &_fbb, float slope = 0.0f) { ReluBuilder builder_(_fbb); builder_.add_slope(slope); return builder_.Finish(); } flatbuffers::Offset CreateRelu(flatbuffers::FlatBufferBuilder &_fbb, const ReluT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct Relu6T : public flatbuffers::NativeTable { typedef Relu6 TableType; float minValue; float maxValue; Relu6T() : minValue(0.0f), maxValue(6.0f) { } }; struct Relu6 FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Relu6T NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return Relu6TypeTable(); } float minValue() const { return GetField(4, 0.0f); } float maxValue() const { return GetField(6, 6.0f); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyField(verifier, 6) && verifier.EndTable(); } Relu6T *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(Relu6T *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const Relu6T* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct Relu6Builder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_minValue(float minValue) { fbb_.AddElement(4, minValue, 0.0f); } void add_maxValue(float maxValue) { fbb_.AddElement(6, maxValue, 6.0f); } explicit Relu6Builder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } Relu6Builder &operator=(const Relu6Builder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateRelu6( flatbuffers::FlatBufferBuilder &_fbb, float minValue = 0.0f, float maxValue = 6.0f) { Relu6Builder builder_(_fbb); builder_.add_maxValue(maxValue); builder_.add_minValue(minValue); return builder_.Finish(); } flatbuffers::Offset CreateRelu6(flatbuffers::FlatBufferBuilder &_fbb, const Relu6T *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct PReluT : public flatbuffers::NativeTable { typedef PRelu TableType; int32_t slopeCount; std::vector slope; PReluT() : slopeCount(0) { } }; struct PRelu FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef PReluT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return PReluTypeTable(); } int32_t slopeCount() const { return GetField(4, 0); } const flatbuffers::Vector *slope() const { return GetPointer *>(6); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyOffset(verifier, 6) && verifier.VerifyVector(slope()) && verifier.EndTable(); } PReluT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(PReluT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const PReluT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct PReluBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_slopeCount(int32_t slopeCount) { fbb_.AddElement(4, slopeCount, 0); } void add_slope(flatbuffers::Offset> slope) { fbb_.AddOffset(6, slope); } explicit PReluBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } PReluBuilder &operator=(const PReluBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreatePRelu( flatbuffers::FlatBufferBuilder &_fbb, int32_t slopeCount = 0, flatbuffers::Offset> slope = 0) { PReluBuilder builder_(_fbb); builder_.add_slope(slope); builder_.add_slopeCount(slopeCount); return builder_.Finish(); } flatbuffers::Offset CreatePRelu(flatbuffers::FlatBufferBuilder &_fbb, const PReluT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct ELUT : public flatbuffers::NativeTable { typedef ELU TableType; float alpha; ELUT() : alpha(0.0f) { } }; struct ELU FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ELUT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return ELUTypeTable(); } float alpha() const { return GetField(4, 0.0f); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && verifier.EndTable(); } ELUT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(ELUT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ELUT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct ELUBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_alpha(float alpha) { fbb_.AddElement(4, alpha, 0.0f); } explicit ELUBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ELUBuilder &operator=(const ELUBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateELU( flatbuffers::FlatBufferBuilder &_fbb, float alpha = 0.0f) { ELUBuilder builder_(_fbb); builder_.add_alpha(alpha); return builder_.Finish(); } flatbuffers::Offset CreateELU(flatbuffers::FlatBufferBuilder &_fbb, const ELUT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct LRNT : public flatbuffers::NativeTable { typedef LRN TableType; int32_t regionType; int32_t localSize; float alpha; float beta; float bias; LRNT() : regionType(0), localSize(0), alpha(0.0f), beta(0.0f), bias(1.0f) { } }; struct LRN FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef LRNT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return LRNTypeTable(); } int32_t regionType() const { return GetField(4, 0); } int32_t localSize() const { return GetField(6, 0); } float alpha() const { return GetField(8, 0.0f); } float beta() const { return GetField(10, 0.0f); } float bias() const { return GetField(12, 1.0f); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyField(verifier, 6) && VerifyField(verifier, 8) && VerifyField(verifier, 10) && VerifyField(verifier, 12) && verifier.EndTable(); } LRNT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(LRNT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LRNT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct LRNBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_regionType(int32_t regionType) { fbb_.AddElement(4, regionType, 0); } void add_localSize(int32_t localSize) { fbb_.AddElement(6, localSize, 0); } void add_alpha(float alpha) { fbb_.AddElement(8, alpha, 0.0f); } void add_beta(float beta) { fbb_.AddElement(10, beta, 0.0f); } void add_bias(float bias) { fbb_.AddElement(12, bias, 1.0f); } explicit LRNBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } LRNBuilder &operator=(const LRNBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLRN( flatbuffers::FlatBufferBuilder &_fbb, int32_t regionType = 0, int32_t localSize = 0, float alpha = 0.0f, float beta = 0.0f, float bias = 1.0f) { LRNBuilder builder_(_fbb); builder_.add_bias(bias); builder_.add_beta(beta); builder_.add_alpha(alpha); builder_.add_localSize(localSize); builder_.add_regionType(regionType); return builder_.Finish(); } flatbuffers::Offset CreateLRN(flatbuffers::FlatBufferBuilder &_fbb, const LRNT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct ArgMaxT : public flatbuffers::NativeTable { typedef ArgMax TableType; int32_t outMaxVal; int32_t topK; int32_t axis; int32_t softmaxThreshold; ArgMaxT() : outMaxVal(0), topK(0), axis(0), softmaxThreshold(0) { } }; struct ArgMax FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ArgMaxT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return ArgMaxTypeTable(); } int32_t outMaxVal() const { return GetField(4, 0); } int32_t topK() const { return GetField(6, 0); } int32_t axis() const { return GetField(8, 0); } int32_t softmaxThreshold() const { return GetField(10, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyField(verifier, 6) && VerifyField(verifier, 8) && VerifyField(verifier, 10) && verifier.EndTable(); } ArgMaxT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(ArgMaxT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ArgMaxT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct ArgMaxBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_outMaxVal(int32_t outMaxVal) { fbb_.AddElement(4, outMaxVal, 0); } void add_topK(int32_t topK) { fbb_.AddElement(6, topK, 0); } void add_axis(int32_t axis) { fbb_.AddElement(8, axis, 0); } void add_softmaxThreshold(int32_t softmaxThreshold) { fbb_.AddElement(10, softmaxThreshold, 0); } explicit ArgMaxBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ArgMaxBuilder &operator=(const ArgMaxBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateArgMax( flatbuffers::FlatBufferBuilder &_fbb, int32_t outMaxVal = 0, int32_t topK = 0, int32_t axis = 0, int32_t softmaxThreshold = 0) { ArgMaxBuilder builder_(_fbb); builder_.add_softmaxThreshold(softmaxThreshold); builder_.add_axis(axis); builder_.add_topK(topK); builder_.add_outMaxVal(outMaxVal); return builder_.Finish(); } flatbuffers::Offset CreateArgMax(flatbuffers::FlatBufferBuilder &_fbb, const ArgMaxT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct AxisT : public flatbuffers::NativeTable { typedef Axis TableType; int32_t axis; AxisT() : axis(0) { } }; struct Axis FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef AxisT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return AxisTypeTable(); } int32_t axis() const { return GetField(4, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && verifier.EndTable(); } AxisT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(AxisT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AxisT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct AxisBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_axis(int32_t axis) { fbb_.AddElement(4, axis, 0); } explicit AxisBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } AxisBuilder &operator=(const AxisBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateAxis( flatbuffers::FlatBufferBuilder &_fbb, int32_t axis = 0) { AxisBuilder builder_(_fbb); builder_.add_axis(axis); return builder_.Finish(); } flatbuffers::Offset CreateAxis(flatbuffers::FlatBufferBuilder &_fbb, const AxisT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct InputT : public flatbuffers::NativeTable { typedef Input TableType; std::vector dims; DataType dtype; MNN_DATA_FORMAT dformat; InputT() : dtype(DataType_DT_FLOAT), dformat(MNN_DATA_FORMAT_NC4HW4) { } }; struct Input FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef InputT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return InputTypeTable(); } const flatbuffers::Vector *dims() const { return GetPointer *>(4); } DataType dtype() const { return static_cast(GetField(6, 1)); } MNN_DATA_FORMAT dformat() const { return static_cast(GetField(8, 2)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, 4) && verifier.VerifyVector(dims()) && VerifyField(verifier, 6) && VerifyField(verifier, 8) && verifier.EndTable(); } InputT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(InputT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const InputT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct InputBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_dims(flatbuffers::Offset> dims) { fbb_.AddOffset(4, dims); } void add_dtype(DataType dtype) { fbb_.AddElement(6, static_cast(dtype), 1); } void add_dformat(MNN_DATA_FORMAT dformat) { fbb_.AddElement(8, static_cast(dformat), 2); } explicit InputBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } InputBuilder &operator=(const InputBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateInput( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> dims = 0, DataType dtype = DataType_DT_FLOAT, MNN_DATA_FORMAT dformat = MNN_DATA_FORMAT_NC4HW4) { InputBuilder builder_(_fbb); builder_.add_dtype(dtype); builder_.add_dims(dims); builder_.add_dformat(dformat); return builder_.Finish(); } flatbuffers::Offset CreateInput(flatbuffers::FlatBufferBuilder &_fbb, const InputT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct LSTMT : public flatbuffers::NativeTable { typedef LSTM TableType; int32_t outputCount; int32_t weightSize; float clippingThreshold; std::unique_ptr weightI; std::unique_ptr weightH; std::unique_ptr bias; std::unique_ptr weightIQ; std::unique_ptr weightIA; float quantScale; LSTMT() : outputCount(0), weightSize(0), clippingThreshold(0.0f), quantScale(0.0f) { } }; struct LSTM FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef LSTMT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return LSTMTypeTable(); } int32_t outputCount() const { return GetField(4, 0); } int32_t weightSize() const { return GetField(6, 0); } float clippingThreshold() const { return GetField(8, 0.0f); } const Blob *weightI() const { return GetPointer(10); } const Blob *weightH() const { return GetPointer(12); } const Blob *bias() const { return GetPointer(14); } const Blob *weightIQ() const { return GetPointer(16); } const Blob *weightIA() const { return GetPointer(18); } float quantScale() const { return GetField(20, 0.0f); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyField(verifier, 6) && VerifyField(verifier, 8) && VerifyOffset(verifier, 10) && verifier.VerifyTable(weightI()) && VerifyOffset(verifier, 12) && verifier.VerifyTable(weightH()) && VerifyOffset(verifier, 14) && verifier.VerifyTable(bias()) && VerifyOffset(verifier, 16) && verifier.VerifyTable(weightIQ()) && VerifyOffset(verifier, 18) && verifier.VerifyTable(weightIA()) && VerifyField(verifier, 20) && verifier.EndTable(); } LSTMT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(LSTMT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LSTMT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct LSTMBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_outputCount(int32_t outputCount) { fbb_.AddElement(4, outputCount, 0); } void add_weightSize(int32_t weightSize) { fbb_.AddElement(6, weightSize, 0); } void add_clippingThreshold(float clippingThreshold) { fbb_.AddElement(8, clippingThreshold, 0.0f); } void add_weightI(flatbuffers::Offset weightI) { fbb_.AddOffset(10, weightI); } void add_weightH(flatbuffers::Offset weightH) { fbb_.AddOffset(12, weightH); } void add_bias(flatbuffers::Offset bias) { fbb_.AddOffset(14, bias); } void add_weightIQ(flatbuffers::Offset weightIQ) { fbb_.AddOffset(16, weightIQ); } void add_weightIA(flatbuffers::Offset weightIA) { fbb_.AddOffset(18, weightIA); } void add_quantScale(float quantScale) { fbb_.AddElement(20, quantScale, 0.0f); } explicit LSTMBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } LSTMBuilder &operator=(const LSTMBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLSTM( flatbuffers::FlatBufferBuilder &_fbb, int32_t outputCount = 0, int32_t weightSize = 0, float clippingThreshold = 0.0f, flatbuffers::Offset weightI = 0, flatbuffers::Offset weightH = 0, flatbuffers::Offset bias = 0, flatbuffers::Offset weightIQ = 0, flatbuffers::Offset weightIA = 0, float quantScale = 0.0f) { LSTMBuilder builder_(_fbb); builder_.add_quantScale(quantScale); builder_.add_weightIA(weightIA); builder_.add_weightIQ(weightIQ); builder_.add_bias(bias); builder_.add_weightH(weightH); builder_.add_weightI(weightI); builder_.add_clippingThreshold(clippingThreshold); builder_.add_weightSize(weightSize); builder_.add_outputCount(outputCount); return builder_.Finish(); } flatbuffers::Offset CreateLSTM(flatbuffers::FlatBufferBuilder &_fbb, const LSTMT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct SliceT : public flatbuffers::NativeTable { typedef Slice TableType; int32_t axis; std::vector slicePoints; NetSource sourceType; SliceT() : axis(0), sourceType(NetSource_CAFFE) { } }; struct Slice FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SliceT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return SliceTypeTable(); } int32_t axis() const { return GetField(4, 0); } const flatbuffers::Vector *slicePoints() const { return GetPointer *>(6); } NetSource sourceType() const { return static_cast(GetField(8, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyOffset(verifier, 6) && verifier.VerifyVector(slicePoints()) && VerifyField(verifier, 8) && verifier.EndTable(); } SliceT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(SliceT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SliceT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct SliceBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_axis(int32_t axis) { fbb_.AddElement(4, axis, 0); } void add_slicePoints(flatbuffers::Offset> slicePoints) { fbb_.AddOffset(6, slicePoints); } void add_sourceType(NetSource sourceType) { fbb_.AddElement(8, static_cast(sourceType), 0); } explicit SliceBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } SliceBuilder &operator=(const SliceBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSlice( flatbuffers::FlatBufferBuilder &_fbb, int32_t axis = 0, flatbuffers::Offset> slicePoints = 0, NetSource sourceType = NetSource_CAFFE) { SliceBuilder builder_(_fbb); builder_.add_slicePoints(slicePoints); builder_.add_axis(axis); builder_.add_sourceType(sourceType); return builder_.Finish(); } flatbuffers::Offset CreateSlice(flatbuffers::FlatBufferBuilder &_fbb, const SliceT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct BatchNormT : public flatbuffers::NativeTable { typedef BatchNorm TableType; int32_t channels; std::vector slopeData; std::vector meanData; std::vector varData; std::vector biasData; std::vector Adata; std::vector Bdata; float epsilon; BatchNormT() : channels(0), epsilon(0.001f) { } }; struct BatchNorm FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef BatchNormT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return BatchNormTypeTable(); } int32_t channels() const { return GetField(4, 0); } const flatbuffers::Vector *slopeData() const { return GetPointer *>(6); } const flatbuffers::Vector *meanData() const { return GetPointer *>(8); } const flatbuffers::Vector *varData() const { return GetPointer *>(10); } const flatbuffers::Vector *biasData() const { return GetPointer *>(12); } const flatbuffers::Vector *Adata() const { return GetPointer *>(14); } const flatbuffers::Vector *Bdata() const { return GetPointer *>(16); } float epsilon() const { return GetField(18, 0.001f); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyOffset(verifier, 6) && verifier.VerifyVector(slopeData()) && VerifyOffset(verifier, 8) && verifier.VerifyVector(meanData()) && VerifyOffset(verifier, 10) && verifier.VerifyVector(varData()) && VerifyOffset(verifier, 12) && verifier.VerifyVector(biasData()) && VerifyOffset(verifier, 14) && verifier.VerifyVector(Adata()) && VerifyOffset(verifier, 16) && verifier.VerifyVector(Bdata()) && VerifyField(verifier, 18) && verifier.EndTable(); } BatchNormT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(BatchNormT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const BatchNormT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct BatchNormBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_channels(int32_t channels) { fbb_.AddElement(4, channels, 0); } void add_slopeData(flatbuffers::Offset> slopeData) { fbb_.AddOffset(6, slopeData); } void add_meanData(flatbuffers::Offset> meanData) { fbb_.AddOffset(8, meanData); } void add_varData(flatbuffers::Offset> varData) { fbb_.AddOffset(10, varData); } void add_biasData(flatbuffers::Offset> biasData) { fbb_.AddOffset(12, biasData); } void add_Adata(flatbuffers::Offset> Adata) { fbb_.AddOffset(14, Adata); } void add_Bdata(flatbuffers::Offset> Bdata) { fbb_.AddOffset(16, Bdata); } void add_epsilon(float epsilon) { fbb_.AddElement(18, epsilon, 0.001f); } explicit BatchNormBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } BatchNormBuilder &operator=(const BatchNormBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateBatchNorm( flatbuffers::FlatBufferBuilder &_fbb, int32_t channels = 0, flatbuffers::Offset> slopeData = 0, flatbuffers::Offset> meanData = 0, flatbuffers::Offset> varData = 0, flatbuffers::Offset> biasData = 0, flatbuffers::Offset> Adata = 0, flatbuffers::Offset> Bdata = 0, float epsilon = 0.001f) { BatchNormBuilder builder_(_fbb); builder_.add_epsilon(epsilon); builder_.add_Bdata(Bdata); builder_.add_Adata(Adata); builder_.add_biasData(biasData); builder_.add_varData(varData); builder_.add_meanData(meanData); builder_.add_slopeData(slopeData); builder_.add_channels(channels); return builder_.Finish(); } flatbuffers::Offset CreateBatchNorm(flatbuffers::FlatBufferBuilder &_fbb, const BatchNormT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct ScaleT : public flatbuffers::NativeTable { typedef Scale TableType; int32_t channels; std::vector scaleData; std::vector biasData; std::vector external; ScaleT() : channels(0) { } }; struct Scale FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ScaleT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return ScaleTypeTable(); } int32_t channels() const { return GetField(4, 0); } const flatbuffers::Vector *scaleData() const { return GetPointer *>(6); } const flatbuffers::Vector *biasData() const { return GetPointer *>(8); } const flatbuffers::Vector *external() const { return GetPointer *>(10); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyOffset(verifier, 6) && verifier.VerifyVector(scaleData()) && VerifyOffset(verifier, 8) && verifier.VerifyVector(biasData()) && VerifyOffset(verifier, 10) && verifier.VerifyVector(external()) && verifier.EndTable(); } ScaleT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(ScaleT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ScaleT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct ScaleBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_channels(int32_t channels) { fbb_.AddElement(4, channels, 0); } void add_scaleData(flatbuffers::Offset> scaleData) { fbb_.AddOffset(6, scaleData); } void add_biasData(flatbuffers::Offset> biasData) { fbb_.AddOffset(8, biasData); } void add_external(flatbuffers::Offset> external) { fbb_.AddOffset(10, external); } explicit ScaleBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ScaleBuilder &operator=(const ScaleBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateScale( flatbuffers::FlatBufferBuilder &_fbb, int32_t channels = 0, flatbuffers::Offset> scaleData = 0, flatbuffers::Offset> biasData = 0, flatbuffers::Offset> external = 0) { ScaleBuilder builder_(_fbb); builder_.add_external(external); builder_.add_biasData(biasData); builder_.add_scaleData(scaleData); builder_.add_channels(channels); return builder_.Finish(); } flatbuffers::Offset CreateScale(flatbuffers::FlatBufferBuilder &_fbb, const ScaleT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct EltwiseT : public flatbuffers::NativeTable { typedef Eltwise TableType; EltwiseType type; std::vector coeff; EltwiseT() : type(EltwiseType_PROD) { } }; struct Eltwise FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef EltwiseT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return EltwiseTypeTable(); } EltwiseType type() const { return static_cast(GetField(4, 0)); } const flatbuffers::Vector *coeff() const { return GetPointer *>(6); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyOffset(verifier, 6) && verifier.VerifyVector(coeff()) && verifier.EndTable(); } EltwiseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(EltwiseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const EltwiseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct EltwiseBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_type(EltwiseType type) { fbb_.AddElement(4, static_cast(type), 0); } void add_coeff(flatbuffers::Offset> coeff) { fbb_.AddOffset(6, coeff); } explicit EltwiseBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } EltwiseBuilder &operator=(const EltwiseBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateEltwise( flatbuffers::FlatBufferBuilder &_fbb, EltwiseType type = EltwiseType_PROD, flatbuffers::Offset> coeff = 0) { EltwiseBuilder builder_(_fbb); builder_.add_coeff(coeff); builder_.add_type(type); return builder_.Finish(); } flatbuffers::Offset CreateEltwise(flatbuffers::FlatBufferBuilder &_fbb, const EltwiseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct FlattenT : public flatbuffers::NativeTable { typedef Flatten TableType; int32_t axis; int32_t endAxis; FlattenT() : axis(0), endAxis(0) { } }; struct Flatten FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef FlattenT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return FlattenTypeTable(); } int32_t axis() const { return GetField(4, 0); } int32_t endAxis() const { return GetField(6, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyField(verifier, 6) && verifier.EndTable(); } FlattenT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(FlattenT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FlattenT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct FlattenBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_axis(int32_t axis) { fbb_.AddElement(4, axis, 0); } void add_endAxis(int32_t endAxis) { fbb_.AddElement(6, endAxis, 0); } explicit FlattenBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } FlattenBuilder &operator=(const FlattenBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateFlatten( flatbuffers::FlatBufferBuilder &_fbb, int32_t axis = 0, int32_t endAxis = 0) { FlattenBuilder builder_(_fbb); builder_.add_endAxis(endAxis); builder_.add_axis(axis); return builder_.Finish(); } flatbuffers::Offset CreateFlatten(flatbuffers::FlatBufferBuilder &_fbb, const FlattenT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct PermuteT : public flatbuffers::NativeTable { typedef Permute TableType; std::vector dims; PermuteT() { } }; struct Permute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef PermuteT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return PermuteTypeTable(); } const flatbuffers::Vector *dims() const { return GetPointer *>(4); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, 4) && verifier.VerifyVector(dims()) && verifier.EndTable(); } PermuteT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(PermuteT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const PermuteT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct PermuteBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_dims(flatbuffers::Offset> dims) { fbb_.AddOffset(4, dims); } explicit PermuteBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } PermuteBuilder &operator=(const PermuteBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreatePermute( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> dims = 0) { PermuteBuilder builder_(_fbb); builder_.add_dims(dims); return builder_.Finish(); } flatbuffers::Offset CreatePermute(flatbuffers::FlatBufferBuilder &_fbb, const PermuteT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct ReshapeT : public flatbuffers::NativeTable { typedef Reshape TableType; std::vector dims; MNN_DATA_FORMAT dimType; ReshapeT() : dimType(MNN_DATA_FORMAT_NCHW) { } }; struct Reshape FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ReshapeT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return ReshapeTypeTable(); } const flatbuffers::Vector *dims() const { return GetPointer *>(4); } MNN_DATA_FORMAT dimType() const { return static_cast(GetField(6, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, 4) && verifier.VerifyVector(dims()) && VerifyField(verifier, 6) && verifier.EndTable(); } ReshapeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(ReshapeT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ReshapeT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct ReshapeBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_dims(flatbuffers::Offset> dims) { fbb_.AddOffset(4, dims); } void add_dimType(MNN_DATA_FORMAT dimType) { fbb_.AddElement(6, static_cast(dimType), 0); } explicit ReshapeBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ReshapeBuilder &operator=(const ReshapeBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateReshape( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> dims = 0, MNN_DATA_FORMAT dimType = MNN_DATA_FORMAT_NCHW) { ReshapeBuilder builder_(_fbb); builder_.add_dims(dims); builder_.add_dimType(dimType); return builder_.Finish(); } flatbuffers::Offset CreateReshape(flatbuffers::FlatBufferBuilder &_fbb, const ReshapeT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct DetectionOutputT : public flatbuffers::NativeTable { typedef DetectionOutput TableType; int32_t classCount; float nmsThresholdold; int32_t nmsTopK; int32_t keepTopK; float confidenceThreshold; int32_t shareLocation; int32_t backgroundLable; int32_t varianceEncodedTarget; int32_t codeType; float objectnessScore; DetectionOutputT() : classCount(0), nmsThresholdold(0.0f), nmsTopK(0), keepTopK(0), confidenceThreshold(0.0f), shareLocation(0), backgroundLable(0), varianceEncodedTarget(0), codeType(0), objectnessScore(0.01f) { } }; struct DetectionOutput FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef DetectionOutputT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return DetectionOutputTypeTable(); } int32_t classCount() const { return GetField(4, 0); } float nmsThresholdold() const { return GetField(6, 0.0f); } int32_t nmsTopK() const { return GetField(8, 0); } int32_t keepTopK() const { return GetField(10, 0); } float confidenceThreshold() const { return GetField(12, 0.0f); } int32_t shareLocation() const { return GetField(14, 0); } int32_t backgroundLable() const { return GetField(16, 0); } int32_t varianceEncodedTarget() const { return GetField(18, 0); } int32_t codeType() const { return GetField(20, 0); } float objectnessScore() const { return GetField(22, 0.01f); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyField(verifier, 6) && VerifyField(verifier, 8) && VerifyField(verifier, 10) && VerifyField(verifier, 12) && VerifyField(verifier, 14) && VerifyField(verifier, 16) && VerifyField(verifier, 18) && VerifyField(verifier, 20) && VerifyField(verifier, 22) && verifier.EndTable(); } DetectionOutputT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(DetectionOutputT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const DetectionOutputT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct DetectionOutputBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_classCount(int32_t classCount) { fbb_.AddElement(4, classCount, 0); } void add_nmsThresholdold(float nmsThresholdold) { fbb_.AddElement(6, nmsThresholdold, 0.0f); } void add_nmsTopK(int32_t nmsTopK) { fbb_.AddElement(8, nmsTopK, 0); } void add_keepTopK(int32_t keepTopK) { fbb_.AddElement(10, keepTopK, 0); } void add_confidenceThreshold(float confidenceThreshold) { fbb_.AddElement(12, confidenceThreshold, 0.0f); } void add_shareLocation(int32_t shareLocation) { fbb_.AddElement(14, shareLocation, 0); } void add_backgroundLable(int32_t backgroundLable) { fbb_.AddElement(16, backgroundLable, 0); } void add_varianceEncodedTarget(int32_t varianceEncodedTarget) { fbb_.AddElement(18, varianceEncodedTarget, 0); } void add_codeType(int32_t codeType) { fbb_.AddElement(20, codeType, 0); } void add_objectnessScore(float objectnessScore) { fbb_.AddElement(22, objectnessScore, 0.01f); } explicit DetectionOutputBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } DetectionOutputBuilder &operator=(const DetectionOutputBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateDetectionOutput( flatbuffers::FlatBufferBuilder &_fbb, int32_t classCount = 0, float nmsThresholdold = 0.0f, int32_t nmsTopK = 0, int32_t keepTopK = 0, float confidenceThreshold = 0.0f, int32_t shareLocation = 0, int32_t backgroundLable = 0, int32_t varianceEncodedTarget = 0, int32_t codeType = 0, float objectnessScore = 0.01f) { DetectionOutputBuilder builder_(_fbb); builder_.add_objectnessScore(objectnessScore); builder_.add_codeType(codeType); builder_.add_varianceEncodedTarget(varianceEncodedTarget); builder_.add_backgroundLable(backgroundLable); builder_.add_shareLocation(shareLocation); builder_.add_confidenceThreshold(confidenceThreshold); builder_.add_keepTopK(keepTopK); builder_.add_nmsTopK(nmsTopK); builder_.add_nmsThresholdold(nmsThresholdold); builder_.add_classCount(classCount); return builder_.Finish(); } flatbuffers::Offset CreateDetectionOutput(flatbuffers::FlatBufferBuilder &_fbb, const DetectionOutputT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct RoiParametersT : public flatbuffers::NativeTable { typedef RoiParameters TableType; int32_t pooledWidth; int32_t pooledHeight; float spatialScale; int32_t samplingRatio; bool aligned; PoolType poolType; bool outputGrad; RoiParametersT() : pooledWidth(0), pooledHeight(0), spatialScale(0.0f), samplingRatio(-1), aligned(false), poolType(PoolType_AVEPOOL), outputGrad(false) { } }; struct RoiParameters FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef RoiParametersT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return RoiParametersTypeTable(); } int32_t pooledWidth() const { return GetField(4, 0); } int32_t pooledHeight() const { return GetField(6, 0); } float spatialScale() const { return GetField(8, 0.0f); } int32_t samplingRatio() const { return GetField(10, -1); } bool aligned() const { return GetField(12, 0) != 0; } PoolType poolType() const { return static_cast(GetField(14, 1)); } bool outputGrad() const { return GetField(16, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyField(verifier, 6) && VerifyField(verifier, 8) && VerifyField(verifier, 10) && VerifyField(verifier, 12) && VerifyField(verifier, 14) && VerifyField(verifier, 16) && verifier.EndTable(); } RoiParametersT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(RoiParametersT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const RoiParametersT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct RoiParametersBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_pooledWidth(int32_t pooledWidth) { fbb_.AddElement(4, pooledWidth, 0); } void add_pooledHeight(int32_t pooledHeight) { fbb_.AddElement(6, pooledHeight, 0); } void add_spatialScale(float spatialScale) { fbb_.AddElement(8, spatialScale, 0.0f); } void add_samplingRatio(int32_t samplingRatio) { fbb_.AddElement(10, samplingRatio, -1); } void add_aligned(bool aligned) { fbb_.AddElement(12, static_cast(aligned), 0); } void add_poolType(PoolType poolType) { fbb_.AddElement(14, static_cast(poolType), 1); } void add_outputGrad(bool outputGrad) { fbb_.AddElement(16, static_cast(outputGrad), 0); } explicit RoiParametersBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } RoiParametersBuilder &operator=(const RoiParametersBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateRoiParameters( flatbuffers::FlatBufferBuilder &_fbb, int32_t pooledWidth = 0, int32_t pooledHeight = 0, float spatialScale = 0.0f, int32_t samplingRatio = -1, bool aligned = false, PoolType poolType = PoolType_AVEPOOL, bool outputGrad = false) { RoiParametersBuilder builder_(_fbb); builder_.add_samplingRatio(samplingRatio); builder_.add_spatialScale(spatialScale); builder_.add_pooledHeight(pooledHeight); builder_.add_pooledWidth(pooledWidth); builder_.add_outputGrad(outputGrad); builder_.add_poolType(poolType); builder_.add_aligned(aligned); return builder_.Finish(); } flatbuffers::Offset CreateRoiParameters(flatbuffers::FlatBufferBuilder &_fbb, const RoiParametersT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct ProposalT : public flatbuffers::NativeTable { typedef Proposal TableType; int32_t featStride; int32_t baseSize; int32_t preNmsTopN; int32_t afterNmsTopN; float nmsThreshold; int32_t minSize; std::unique_ptr ratios; std::unique_ptr scales; std::unique_ptr anchors; ProposalT() : featStride(0), baseSize(0), preNmsTopN(0), afterNmsTopN(0), nmsThreshold(0.0f), minSize(0) { } }; struct Proposal FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ProposalT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return ProposalTypeTable(); } int32_t featStride() const { return GetField(4, 0); } int32_t baseSize() const { return GetField(6, 0); } int32_t preNmsTopN() const { return GetField(8, 0); } int32_t afterNmsTopN() const { return GetField(10, 0); } float nmsThreshold() const { return GetField(12, 0.0f); } int32_t minSize() const { return GetField(14, 0); } const Blob *ratios() const { return GetPointer(16); } const Blob *scales() const { return GetPointer(18); } const Blob *anchors() const { return GetPointer(20); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyField(verifier, 6) && VerifyField(verifier, 8) && VerifyField(verifier, 10) && VerifyField(verifier, 12) && VerifyField(verifier, 14) && VerifyOffset(verifier, 16) && verifier.VerifyTable(ratios()) && VerifyOffset(verifier, 18) && verifier.VerifyTable(scales()) && VerifyOffset(verifier, 20) && verifier.VerifyTable(anchors()) && verifier.EndTable(); } ProposalT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(ProposalT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ProposalT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct ProposalBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_featStride(int32_t featStride) { fbb_.AddElement(4, featStride, 0); } void add_baseSize(int32_t baseSize) { fbb_.AddElement(6, baseSize, 0); } void add_preNmsTopN(int32_t preNmsTopN) { fbb_.AddElement(8, preNmsTopN, 0); } void add_afterNmsTopN(int32_t afterNmsTopN) { fbb_.AddElement(10, afterNmsTopN, 0); } void add_nmsThreshold(float nmsThreshold) { fbb_.AddElement(12, nmsThreshold, 0.0f); } void add_minSize(int32_t minSize) { fbb_.AddElement(14, minSize, 0); } void add_ratios(flatbuffers::Offset ratios) { fbb_.AddOffset(16, ratios); } void add_scales(flatbuffers::Offset scales) { fbb_.AddOffset(18, scales); } void add_anchors(flatbuffers::Offset anchors) { fbb_.AddOffset(20, anchors); } explicit ProposalBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ProposalBuilder &operator=(const ProposalBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateProposal( flatbuffers::FlatBufferBuilder &_fbb, int32_t featStride = 0, int32_t baseSize = 0, int32_t preNmsTopN = 0, int32_t afterNmsTopN = 0, float nmsThreshold = 0.0f, int32_t minSize = 0, flatbuffers::Offset ratios = 0, flatbuffers::Offset scales = 0, flatbuffers::Offset anchors = 0) { ProposalBuilder builder_(_fbb); builder_.add_anchors(anchors); builder_.add_scales(scales); builder_.add_ratios(ratios); builder_.add_minSize(minSize); builder_.add_nmsThreshold(nmsThreshold); builder_.add_afterNmsTopN(afterNmsTopN); builder_.add_preNmsTopN(preNmsTopN); builder_.add_baseSize(baseSize); builder_.add_featStride(featStride); return builder_.Finish(); } flatbuffers::Offset CreateProposal(flatbuffers::FlatBufferBuilder &_fbb, const ProposalT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct InterpT : public flatbuffers::NativeTable { typedef Interp TableType; float widthScale; float heightScale; int32_t outputWidth; int32_t outputHeight; int32_t resizeType; bool alignCorners; bool halfPixelCenters; float widthOffset; float heightOffset; float cubicCoeffA; CoordinateTransformationMode ctm; float depthScale; int32_t outputDepth; float depthOffset; InterpT() : widthScale(0.0f), heightScale(0.0f), outputWidth(0), outputHeight(0), resizeType(0), alignCorners(false), halfPixelCenters(false), widthOffset(0.0f), heightOffset(0.0f), cubicCoeffA(-0.75f), ctm(CoordinateTransformationMode_NotSet), depthScale(0.0f), outputDepth(0), depthOffset(0.0f) { } }; struct Interp FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef InterpT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return InterpTypeTable(); } float widthScale() const { return GetField(4, 0.0f); } float heightScale() const { return GetField(6, 0.0f); } int32_t outputWidth() const { return GetField(8, 0); } int32_t outputHeight() const { return GetField(10, 0); } int32_t resizeType() const { return GetField(12, 0); } bool alignCorners() const { return GetField(14, 0) != 0; } bool halfPixelCenters() const { return GetField(16, 0) != 0; } float widthOffset() const { return GetField(18, 0.0f); } float heightOffset() const { return GetField(20, 0.0f); } float cubicCoeffA() const { return GetField(22, -0.75f); } CoordinateTransformationMode ctm() const { return static_cast(GetField(24, 0)); } float depthScale() const { return GetField(26, 0.0f); } int32_t outputDepth() const { return GetField(28, 0); } float depthOffset() const { return GetField(30, 0.0f); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyField(verifier, 6) && VerifyField(verifier, 8) && VerifyField(verifier, 10) && VerifyField(verifier, 12) && VerifyField(verifier, 14) && VerifyField(verifier, 16) && VerifyField(verifier, 18) && VerifyField(verifier, 20) && VerifyField(verifier, 22) && VerifyField(verifier, 24) && VerifyField(verifier, 26) && VerifyField(verifier, 28) && VerifyField(verifier, 30) && verifier.EndTable(); } InterpT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(InterpT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const InterpT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct InterpBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_widthScale(float widthScale) { fbb_.AddElement(4, widthScale, 0.0f); } void add_heightScale(float heightScale) { fbb_.AddElement(6, heightScale, 0.0f); } void add_outputWidth(int32_t outputWidth) { fbb_.AddElement(8, outputWidth, 0); } void add_outputHeight(int32_t outputHeight) { fbb_.AddElement(10, outputHeight, 0); } void add_resizeType(int32_t resizeType) { fbb_.AddElement(12, resizeType, 0); } void add_alignCorners(bool alignCorners) { fbb_.AddElement(14, static_cast(alignCorners), 0); } void add_halfPixelCenters(bool halfPixelCenters) { fbb_.AddElement(16, static_cast(halfPixelCenters), 0); } void add_widthOffset(float widthOffset) { fbb_.AddElement(18, widthOffset, 0.0f); } void add_heightOffset(float heightOffset) { fbb_.AddElement(20, heightOffset, 0.0f); } void add_cubicCoeffA(float cubicCoeffA) { fbb_.AddElement(22, cubicCoeffA, -0.75f); } void add_ctm(CoordinateTransformationMode ctm) { fbb_.AddElement(24, static_cast(ctm), 0); } void add_depthScale(float depthScale) { fbb_.AddElement(26, depthScale, 0.0f); } void add_outputDepth(int32_t outputDepth) { fbb_.AddElement(28, outputDepth, 0); } void add_depthOffset(float depthOffset) { fbb_.AddElement(30, depthOffset, 0.0f); } explicit InterpBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } InterpBuilder &operator=(const InterpBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateInterp( flatbuffers::FlatBufferBuilder &_fbb, float widthScale = 0.0f, float heightScale = 0.0f, int32_t outputWidth = 0, int32_t outputHeight = 0, int32_t resizeType = 0, bool alignCorners = false, bool halfPixelCenters = false, float widthOffset = 0.0f, float heightOffset = 0.0f, float cubicCoeffA = -0.75f, CoordinateTransformationMode ctm = CoordinateTransformationMode_NotSet, float depthScale = 0.0f, int32_t outputDepth = 0, float depthOffset = 0.0f) { InterpBuilder builder_(_fbb); builder_.add_depthOffset(depthOffset); builder_.add_outputDepth(outputDepth); builder_.add_depthScale(depthScale); builder_.add_cubicCoeffA(cubicCoeffA); builder_.add_heightOffset(heightOffset); builder_.add_widthOffset(widthOffset); builder_.add_resizeType(resizeType); builder_.add_outputHeight(outputHeight); builder_.add_outputWidth(outputWidth); builder_.add_heightScale(heightScale); builder_.add_widthScale(widthScale); builder_.add_ctm(ctm); builder_.add_halfPixelCenters(halfPixelCenters); builder_.add_alignCorners(alignCorners); return builder_.Finish(); } flatbuffers::Offset CreateInterp(flatbuffers::FlatBufferBuilder &_fbb, const InterpT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct ResizeT : public flatbuffers::NativeTable { typedef Resize TableType; float xScale; float yScale; ResizeT() : xScale(0.0f), yScale(0.0f) { } }; struct Resize FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ResizeT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return ResizeTypeTable(); } float xScale() const { return GetField(4, 0.0f); } float yScale() const { return GetField(6, 0.0f); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyField(verifier, 6) && verifier.EndTable(); } ResizeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(ResizeT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ResizeT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct ResizeBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_xScale(float xScale) { fbb_.AddElement(4, xScale, 0.0f); } void add_yScale(float yScale) { fbb_.AddElement(6, yScale, 0.0f); } explicit ResizeBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ResizeBuilder &operator=(const ResizeBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateResize( flatbuffers::FlatBufferBuilder &_fbb, float xScale = 0.0f, float yScale = 0.0f) { ResizeBuilder builder_(_fbb); builder_.add_yScale(yScale); builder_.add_xScale(xScale); return builder_.Finish(); } flatbuffers::Offset CreateResize(flatbuffers::FlatBufferBuilder &_fbb, const ResizeT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct PriorBoxT : public flatbuffers::NativeTable { typedef PriorBox TableType; std::vector minSizes; std::vector maxSizes; std::vector aspectRatios; std::vector variances; bool flip; bool clip; int32_t imageWidth; int32_t imageHeight; int32_t stepWidth; int32_t stepHeight; float offset; PriorBoxT() : flip(false), clip(false), imageWidth(0), imageHeight(0), stepWidth(0), stepHeight(0), offset(0.0f) { } }; struct PriorBox FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef PriorBoxT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return PriorBoxTypeTable(); } const flatbuffers::Vector *minSizes() const { return GetPointer *>(4); } const flatbuffers::Vector *maxSizes() const { return GetPointer *>(6); } const flatbuffers::Vector *aspectRatios() const { return GetPointer *>(8); } const flatbuffers::Vector *variances() const { return GetPointer *>(10); } bool flip() const { return GetField(12, 0) != 0; } bool clip() const { return GetField(14, 0) != 0; } int32_t imageWidth() const { return GetField(16, 0); } int32_t imageHeight() const { return GetField(18, 0); } int32_t stepWidth() const { return GetField(20, 0); } int32_t stepHeight() const { return GetField(22, 0); } float offset() const { return GetField(24, 0.0f); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, 4) && verifier.VerifyVector(minSizes()) && VerifyOffset(verifier, 6) && verifier.VerifyVector(maxSizes()) && VerifyOffset(verifier, 8) && verifier.VerifyVector(aspectRatios()) && VerifyOffset(verifier, 10) && verifier.VerifyVector(variances()) && VerifyField(verifier, 12) && VerifyField(verifier, 14) && VerifyField(verifier, 16) && VerifyField(verifier, 18) && VerifyField(verifier, 20) && VerifyField(verifier, 22) && VerifyField(verifier, 24) && verifier.EndTable(); } PriorBoxT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(PriorBoxT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const PriorBoxT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct PriorBoxBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_minSizes(flatbuffers::Offset> minSizes) { fbb_.AddOffset(4, minSizes); } void add_maxSizes(flatbuffers::Offset> maxSizes) { fbb_.AddOffset(6, maxSizes); } void add_aspectRatios(flatbuffers::Offset> aspectRatios) { fbb_.AddOffset(8, aspectRatios); } void add_variances(flatbuffers::Offset> variances) { fbb_.AddOffset(10, variances); } void add_flip(bool flip) { fbb_.AddElement(12, static_cast(flip), 0); } void add_clip(bool clip) { fbb_.AddElement(14, static_cast(clip), 0); } void add_imageWidth(int32_t imageWidth) { fbb_.AddElement(16, imageWidth, 0); } void add_imageHeight(int32_t imageHeight) { fbb_.AddElement(18, imageHeight, 0); } void add_stepWidth(int32_t stepWidth) { fbb_.AddElement(20, stepWidth, 0); } void add_stepHeight(int32_t stepHeight) { fbb_.AddElement(22, stepHeight, 0); } void add_offset(float offset) { fbb_.AddElement(24, offset, 0.0f); } explicit PriorBoxBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } PriorBoxBuilder &operator=(const PriorBoxBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreatePriorBox( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> minSizes = 0, flatbuffers::Offset> maxSizes = 0, flatbuffers::Offset> aspectRatios = 0, flatbuffers::Offset> variances = 0, bool flip = false, bool clip = false, int32_t imageWidth = 0, int32_t imageHeight = 0, int32_t stepWidth = 0, int32_t stepHeight = 0, float offset = 0.0f) { PriorBoxBuilder builder_(_fbb); builder_.add_offset(offset); builder_.add_stepHeight(stepHeight); builder_.add_stepWidth(stepWidth); builder_.add_imageHeight(imageHeight); builder_.add_imageWidth(imageWidth); builder_.add_variances(variances); builder_.add_aspectRatios(aspectRatios); builder_.add_maxSizes(maxSizes); builder_.add_minSizes(minSizes); builder_.add_clip(clip); builder_.add_flip(flip); return builder_.Finish(); } flatbuffers::Offset CreatePriorBox(flatbuffers::FlatBufferBuilder &_fbb, const PriorBoxT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct NormalizeT : public flatbuffers::NativeTable { typedef Normalize TableType; int32_t acrossSpatial; int32_t channelShared; float eps; std::vector scale; NormalizeT() : acrossSpatial(0), channelShared(0), eps(0.0f) { } }; struct Normalize FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef NormalizeT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return NormalizeTypeTable(); } int32_t acrossSpatial() const { return GetField(4, 0); } int32_t channelShared() const { return GetField(6, 0); } float eps() const { return GetField(8, 0.0f); } const flatbuffers::Vector *scale() const { return GetPointer *>(10); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyField(verifier, 6) && VerifyField(verifier, 8) && VerifyOffset(verifier, 10) && verifier.VerifyVector(scale()) && verifier.EndTable(); } NormalizeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(NormalizeT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const NormalizeT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct NormalizeBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_acrossSpatial(int32_t acrossSpatial) { fbb_.AddElement(4, acrossSpatial, 0); } void add_channelShared(int32_t channelShared) { fbb_.AddElement(6, channelShared, 0); } void add_eps(float eps) { fbb_.AddElement(8, eps, 0.0f); } void add_scale(flatbuffers::Offset> scale) { fbb_.AddOffset(10, scale); } explicit NormalizeBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } NormalizeBuilder &operator=(const NormalizeBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateNormalize( flatbuffers::FlatBufferBuilder &_fbb, int32_t acrossSpatial = 0, int32_t channelShared = 0, float eps = 0.0f, flatbuffers::Offset> scale = 0) { NormalizeBuilder builder_(_fbb); builder_.add_scale(scale); builder_.add_eps(eps); builder_.add_channelShared(channelShared); builder_.add_acrossSpatial(acrossSpatial); return builder_.Finish(); } flatbuffers::Offset CreateNormalize(flatbuffers::FlatBufferBuilder &_fbb, const NormalizeT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct EltwiseInt8T : public flatbuffers::NativeTable { typedef EltwiseInt8 TableType; EltwiseType type; std::unique_ptr inputQuan0; std::unique_ptr inputQuan1; std::unique_ptr outputQuan; EltwiseInt8T() : type(EltwiseType_PROD) { } }; struct EltwiseInt8 FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef EltwiseInt8T NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return EltwiseInt8TypeTable(); } EltwiseType type() const { return static_cast(GetField(4, 0)); } const QuantizedFloatParam *inputQuan0() const { return GetPointer(6); } const QuantizedFloatParam *inputQuan1() const { return GetPointer(8); } const QuantizedFloatParam *outputQuan() const { return GetPointer(10); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyOffset(verifier, 6) && verifier.VerifyTable(inputQuan0()) && VerifyOffset(verifier, 8) && verifier.VerifyTable(inputQuan1()) && VerifyOffset(verifier, 10) && verifier.VerifyTable(outputQuan()) && verifier.EndTable(); } EltwiseInt8T *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(EltwiseInt8T *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const EltwiseInt8T* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct EltwiseInt8Builder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_type(EltwiseType type) { fbb_.AddElement(4, static_cast(type), 0); } void add_inputQuan0(flatbuffers::Offset inputQuan0) { fbb_.AddOffset(6, inputQuan0); } void add_inputQuan1(flatbuffers::Offset inputQuan1) { fbb_.AddOffset(8, inputQuan1); } void add_outputQuan(flatbuffers::Offset outputQuan) { fbb_.AddOffset(10, outputQuan); } explicit EltwiseInt8Builder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } EltwiseInt8Builder &operator=(const EltwiseInt8Builder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateEltwiseInt8( flatbuffers::FlatBufferBuilder &_fbb, EltwiseType type = EltwiseType_PROD, flatbuffers::Offset inputQuan0 = 0, flatbuffers::Offset inputQuan1 = 0, flatbuffers::Offset outputQuan = 0) { EltwiseInt8Builder builder_(_fbb); builder_.add_outputQuan(outputQuan); builder_.add_inputQuan1(inputQuan1); builder_.add_inputQuan0(inputQuan0); builder_.add_type(type); return builder_.Finish(); } flatbuffers::Offset CreateEltwiseInt8(flatbuffers::FlatBufferBuilder &_fbb, const EltwiseInt8T *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); struct CumSumT : public flatbuffers::NativeTable { typedef CumSum TableType; bool exclusive; bool reverse; CumSumT() : exclusive(false), reverse(false) { } }; struct CumSum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef CumSumT NativeTableType; static const flatbuffers::TypeTable *MiniReflectTypeTable() { return CumSumTypeTable(); } bool exclusive() const { return GetField(4, 0) != 0; } bool reverse() const { return GetField(6, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, 4) && VerifyField(verifier, 6) && verifier.EndTable(); } CumSumT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(CumSumT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const CumSumT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct CumSumBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_exclusive(bool exclusive) { fbb_.AddElement(4, static_cast(exclusive), 0); } void add_reverse(bool reverse) { fbb_.AddElement(6, static_cast(reverse), 0); } explicit CumSumBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } CumSumBuilder &operator=(const CumSumBuilder &); flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateCumSum( flatbuffers::FlatBufferBuilder &_fbb, bool exclusive = false, bool reverse = false) { CumSumBuilder builder_(_fbb); builder_.add_reverse(reverse); builder_.add_exclusive(exclusive); return builder_.Finish(); } flatbuffers::Offset CreateCumSum(flatbuffers::FlatBufferBuilder &_fbb, const CumSumT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); inline Convolution2DCommonT *Convolution2DCommon::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new Convolution2DCommonT(); UnPackTo(_o, _resolver); return _o; } inline void Convolution2DCommon::UnPackTo(Convolution2DCommonT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = padX(); _o->padX = _e; }; { auto _e = padY(); _o->padY = _e; }; { auto _e = kernelX(); _o->kernelX = _e; }; { auto _e = kernelY(); _o->kernelY = _e; }; { auto _e = strideX(); _o->strideX = _e; }; { auto _e = strideY(); _o->strideY = _e; }; { auto _e = dilateX(); _o->dilateX = _e; }; { auto _e = dilateY(); _o->dilateY = _e; }; { auto _e = padMode(); _o->padMode = _e; }; { auto _e = group(); _o->group = _e; }; { auto _e = outputCount(); _o->outputCount = _e; }; { auto _e = inputCount(); _o->inputCount = _e; }; { auto _e = relu(); _o->relu = _e; }; { auto _e = relu6(); _o->relu6 = _e; }; { auto _e = pads(); if (_e) { _o->pads.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->pads[_i] = _e->Get(_i); } } }; { auto _e = outPads(); if (_e) { _o->outPads.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->outPads[_i] = _e->Get(_i); } } }; { auto _e = hasOutputShape(); _o->hasOutputShape = _e; }; } inline flatbuffers::Offset Convolution2DCommon::Pack(flatbuffers::FlatBufferBuilder &_fbb, const Convolution2DCommonT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateConvolution2DCommon(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateConvolution2DCommon(flatbuffers::FlatBufferBuilder &_fbb, const Convolution2DCommonT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const Convolution2DCommonT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _padX = _o->padX; auto _padY = _o->padY; auto _kernelX = _o->kernelX; auto _kernelY = _o->kernelY; auto _strideX = _o->strideX; auto _strideY = _o->strideY; auto _dilateX = _o->dilateX; auto _dilateY = _o->dilateY; auto _padMode = _o->padMode; auto _group = _o->group; auto _outputCount = _o->outputCount; auto _inputCount = _o->inputCount; auto _relu = _o->relu; auto _relu6 = _o->relu6; auto _pads = _o->pads.size() ? _fbb.CreateVector(_o->pads) : 0; auto _outPads = _o->outPads.size() ? _fbb.CreateVector(_o->outPads) : 0; auto _hasOutputShape = _o->hasOutputShape; return MNN::CreateConvolution2DCommon( _fbb, _padX, _padY, _kernelX, _kernelY, _strideX, _strideY, _dilateX, _dilateY, _padMode, _group, _outputCount, _inputCount, _relu, _relu6, _pads, _outPads, _hasOutputShape); } inline Convolution3DCommonT *Convolution3DCommon::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new Convolution3DCommonT(); UnPackTo(_o, _resolver); return _o; } inline void Convolution3DCommon::UnPackTo(Convolution3DCommonT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = dilates(); if (_e) { _o->dilates.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->dilates[_i] = _e->Get(_i); } } }; { auto _e = strides(); if (_e) { _o->strides.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->strides[_i] = _e->Get(_i); } } }; { auto _e = kernels(); if (_e) { _o->kernels.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->kernels[_i] = _e->Get(_i); } } }; { auto _e = pads(); if (_e) { _o->pads.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->pads[_i] = _e->Get(_i); } } }; { auto _e = padMode(); _o->padMode = _e; }; { auto _e = inputCount(); _o->inputCount = _e; }; { auto _e = outputCount(); _o->outputCount = _e; }; { auto _e = relu(); _o->relu = _e; }; { auto _e = relu6(); _o->relu6 = _e; }; { auto _e = group(); _o->group = _e; }; { auto _e = outPads(); if (_e) { _o->outPads.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->outPads[_i] = _e->Get(_i); } } }; { auto _e = hasOutputShape(); _o->hasOutputShape = _e; }; } inline flatbuffers::Offset Convolution3DCommon::Pack(flatbuffers::FlatBufferBuilder &_fbb, const Convolution3DCommonT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateConvolution3DCommon(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateConvolution3DCommon(flatbuffers::FlatBufferBuilder &_fbb, const Convolution3DCommonT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const Convolution3DCommonT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _dilates = _o->dilates.size() ? _fbb.CreateVector(_o->dilates) : 0; auto _strides = _o->strides.size() ? _fbb.CreateVector(_o->strides) : 0; auto _kernels = _o->kernels.size() ? _fbb.CreateVector(_o->kernels) : 0; auto _pads = _o->pads.size() ? _fbb.CreateVector(_o->pads) : 0; auto _padMode = _o->padMode; auto _inputCount = _o->inputCount; auto _outputCount = _o->outputCount; auto _relu = _o->relu; auto _relu6 = _o->relu6; auto _group = _o->group; auto _outPads = _o->outPads.size() ? _fbb.CreateVector(_o->outPads) : 0; auto _hasOutputShape = _o->hasOutputShape; return MNN::CreateConvolution3DCommon( _fbb, _dilates, _strides, _kernels, _pads, _padMode, _inputCount, _outputCount, _relu, _relu6, _group, _outPads, _hasOutputShape); } inline SparseCommonT *SparseCommon::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new SparseCommonT(); UnPackTo(_o, _resolver); return _o; } inline void SparseCommon::UnPackTo(SparseCommonT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = method(); _o->method = _e; }; { auto _e = args(); if (_e) { _o->args.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->args[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } }; } inline flatbuffers::Offset SparseCommon::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SparseCommonT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateSparseCommon(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateSparseCommon(flatbuffers::FlatBufferBuilder &_fbb, const SparseCommonT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SparseCommonT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _method = _o->method; auto _args = _o->args.size() ? _fbb.CreateVector> (_o->args.size(), [](size_t i, _VectorArgs *__va) { return CreateAttribute(*__va->__fbb, __va->__o->args[i].get(), __va->__rehasher); }, &_va ) : 0; return MNN::CreateSparseCommon( _fbb, _method, _args); } inline IDSTQuanT *IDSTQuan::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new IDSTQuanT(); UnPackTo(_o, _resolver); return _o; } inline void IDSTQuan::UnPackTo(IDSTQuanT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = buffer(); if (_e) { _o->buffer.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->buffer[_i] = _e->Get(_i); } } }; { auto _e = alpha(); if (_e) { _o->alpha.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->alpha[_i] = _e->Get(_i); } } }; { auto _e = type(); _o->type = _e; }; { auto _e = useInt32(); _o->useInt32 = _e; }; { auto _e = quantScale(); _o->quantScale = _e; }; { auto _e = scaleIn(); _o->scaleIn = _e; }; { auto _e = scaleOut(); _o->scaleOut = _e; }; { auto _e = aMaxOrBits(); _o->aMaxOrBits = _e; }; { auto _e = aMin(); _o->aMin = _e; }; { auto _e = readType(); _o->readType = _e; }; { auto _e = has_scaleInt(); _o->has_scaleInt = _e; }; { auto _e = shapeInt32(); _o->shapeInt32 = _e; }; { auto _e = weightSize(); _o->weightSize = _e; }; { auto _e = index(); if (_e) { _o->index.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->index[_i] = _e->Get(_i); } } }; { auto _e = alphaFp16(); if (_e) { _o->alphaFp16.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->alphaFp16[_i] = _e->Get(_i); } } }; { auto _e = scaleStorage(); _o->scaleStorage = _e; }; } inline flatbuffers::Offset IDSTQuan::Pack(flatbuffers::FlatBufferBuilder &_fbb, const IDSTQuanT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateIDSTQuan(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateIDSTQuan(flatbuffers::FlatBufferBuilder &_fbb, const IDSTQuanT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const IDSTQuanT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _buffer = _o->buffer.size() ? _fbb.CreateVector(_o->buffer) : 0; auto _alpha = _o->alpha.size() ? _fbb.CreateVector(_o->alpha) : 0; auto _type = _o->type; auto _useInt32 = _o->useInt32; auto _quantScale = _o->quantScale; auto _scaleIn = _o->scaleIn; auto _scaleOut = _o->scaleOut; auto _aMaxOrBits = _o->aMaxOrBits; auto _aMin = _o->aMin; auto _readType = _o->readType; auto _has_scaleInt = _o->has_scaleInt; auto _shapeInt32 = _o->shapeInt32; auto _weightSize = _o->weightSize; auto _index = _o->index.size() ? _fbb.CreateVector(_o->index) : 0; auto _alphaFp16 = _o->alphaFp16.size() ? _fbb.CreateVector(_o->alphaFp16) : 0; auto _scaleStorage = _o->scaleStorage; return MNN::CreateIDSTQuan( _fbb, _buffer, _alpha, _type, _useInt32, _quantScale, _scaleIn, _scaleOut, _aMaxOrBits, _aMin, _readType, _has_scaleInt, _shapeInt32, _weightSize, _index, _alphaFp16, _scaleStorage); } inline QuantizedFloatParamT *QuantizedFloatParam::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new QuantizedFloatParamT(); UnPackTo(_o, _resolver); return _o; } inline void QuantizedFloatParam::UnPackTo(QuantizedFloatParamT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = weight(); if (_e) { _o->weight.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->weight[_i] = _e->Get(_i); } } }; { auto _e = bias(); if (_e) { _o->bias.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->bias[_i] = _e->Get(_i); } } }; { auto _e = scale(); if (_e) { _o->scale.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->scale[_i] = _e->Get(_i); } } }; { auto _e = tensorScale(); if (_e) { _o->tensorScale.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->tensorScale[_i] = _e->Get(_i); } } }; { auto _e = method(); _o->method = _e; }; { auto _e = nbits(); _o->nbits = _e; }; { auto _e = zeroPoint(); _o->zeroPoint = _e; }; { auto _e = outputZeroPoint(); _o->outputZeroPoint = _e; }; { auto _e = clampMin(); _o->clampMin = _e; }; { auto _e = clampMax(); _o->clampMax = _e; }; { auto _e = winogradAttr(); if (_e) { _o->winogradAttr.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->winogradAttr[_i] = _e->Get(_i); } } }; { auto _e = outputDataType(); _o->outputDataType = _e; }; { auto _e = floatzeros(); if (_e) { _o->floatzeros.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->floatzeros[_i] = _e->Get(_i); } } }; } inline flatbuffers::Offset QuantizedFloatParam::Pack(flatbuffers::FlatBufferBuilder &_fbb, const QuantizedFloatParamT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateQuantizedFloatParam(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateQuantizedFloatParam(flatbuffers::FlatBufferBuilder &_fbb, const QuantizedFloatParamT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const QuantizedFloatParamT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _weight = _o->weight.size() ? _fbb.CreateVector(_o->weight) : 0; auto _bias = _o->bias.size() ? _fbb.CreateVector(_o->bias) : 0; auto _scale = _o->scale.size() ? _fbb.CreateVector(_o->scale) : 0; auto _tensorScale = _o->tensorScale.size() ? _fbb.CreateVector(_o->tensorScale) : 0; auto _method = _o->method; auto _nbits = _o->nbits; auto _zeroPoint = _o->zeroPoint; auto _outputZeroPoint = _o->outputZeroPoint; auto _clampMin = _o->clampMin; auto _clampMax = _o->clampMax; auto _winogradAttr = _o->winogradAttr.size() ? _fbb.CreateVector(_o->winogradAttr) : 0; auto _outputDataType = _o->outputDataType; auto _floatzeros = _o->floatzeros.size() ? _fbb.CreateVector(_o->floatzeros) : 0; return MNN::CreateQuantizedFloatParam( _fbb, _weight, _bias, _scale, _tensorScale, _method, _nbits, _zeroPoint, _outputZeroPoint, _clampMin, _clampMax, _winogradAttr, _outputDataType, _floatzeros); } inline Convolution2DT *Convolution2D::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new Convolution2DT(); UnPackTo(_o, _resolver); return _o; } inline void Convolution2D::UnPackTo(Convolution2DT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = common(); if (_e) _o->common = std::unique_ptr(_e->UnPack(_resolver)); }; { auto _e = weight(); if (_e) { _o->weight.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->weight[_i] = _e->Get(_i); } } }; { auto _e = bias(); if (_e) { _o->bias.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->bias[_i] = _e->Get(_i); } } }; { auto _e = quanParameter(); if (_e) _o->quanParameter = std::unique_ptr(_e->UnPack(_resolver)); }; { auto _e = symmetricQuan(); if (_e) _o->symmetricQuan = std::unique_ptr(_e->UnPack(_resolver)); }; { auto _e = sparseParameter(); if (_e) _o->sparseParameter = std::unique_ptr(_e->UnPack(_resolver)); }; { auto _e = external(); if (_e) { _o->external.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->external[_i] = _e->Get(_i); } } }; } inline flatbuffers::Offset Convolution2D::Pack(flatbuffers::FlatBufferBuilder &_fbb, const Convolution2DT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateConvolution2D(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateConvolution2D(flatbuffers::FlatBufferBuilder &_fbb, const Convolution2DT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const Convolution2DT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _common = _o->common ? CreateConvolution2DCommon(_fbb, _o->common.get(), _rehasher) : 0; auto _weight = _o->weight.size() ? _fbb.CreateVector(_o->weight) : 0; auto _bias = _o->bias.size() ? _fbb.CreateVector(_o->bias) : 0; auto _quanParameter = _o->quanParameter ? CreateIDSTQuan(_fbb, _o->quanParameter.get(), _rehasher) : 0; auto _symmetricQuan = _o->symmetricQuan ? CreateQuantizedFloatParam(_fbb, _o->symmetricQuan.get(), _rehasher) : 0; auto _sparseParameter = _o->sparseParameter ? CreateSparseCommon(_fbb, _o->sparseParameter.get(), _rehasher) : 0; auto _external = _o->external.size() ? _fbb.CreateVector(_o->external) : 0; return MNN::CreateConvolution2D( _fbb, _common, _weight, _bias, _quanParameter, _symmetricQuan, _sparseParameter, _external); } inline Convolution3DT *Convolution3D::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new Convolution3DT(); UnPackTo(_o, _resolver); return _o; } inline void Convolution3D::UnPackTo(Convolution3DT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = common(); if (_e) _o->common = std::unique_ptr(_e->UnPack(_resolver)); }; { auto _e = weight(); if (_e) { _o->weight.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->weight[_i] = _e->Get(_i); } } }; { auto _e = bias(); if (_e) { _o->bias.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->bias[_i] = _e->Get(_i); } } }; { auto _e = external(); if (_e) { _o->external.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->external[_i] = _e->Get(_i); } } }; } inline flatbuffers::Offset Convolution3D::Pack(flatbuffers::FlatBufferBuilder &_fbb, const Convolution3DT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateConvolution3D(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateConvolution3D(flatbuffers::FlatBufferBuilder &_fbb, const Convolution3DT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const Convolution3DT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _common = _o->common ? CreateConvolution3DCommon(_fbb, _o->common.get(), _rehasher) : 0; auto _weight = _o->weight.size() ? _fbb.CreateVector(_o->weight) : 0; auto _bias = _o->bias.size() ? _fbb.CreateVector(_o->bias) : 0; auto _external = _o->external.size() ? _fbb.CreateVector(_o->external) : 0; return MNN::CreateConvolution3D( _fbb, _common, _weight, _bias, _external); } inline InnerProductT *InnerProduct::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new InnerProductT(); UnPackTo(_o, _resolver); return _o; } inline void InnerProduct::UnPackTo(InnerProductT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = outputCount(); _o->outputCount = _e; }; { auto _e = biasTerm(); _o->biasTerm = _e; }; { auto _e = weightSize(); _o->weightSize = _e; }; { auto _e = weight(); if (_e) { _o->weight.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->weight[_i] = _e->Get(_i); } } }; { auto _e = bias(); if (_e) { _o->bias.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->bias[_i] = _e->Get(_i); } } }; { auto _e = axis(); _o->axis = _e; }; { auto _e = transpose(); _o->transpose = _e; }; { auto _e = quanParameter(); if (_e) _o->quanParameter = std::unique_ptr(_e->UnPack(_resolver)); }; } inline flatbuffers::Offset InnerProduct::Pack(flatbuffers::FlatBufferBuilder &_fbb, const InnerProductT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateInnerProduct(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateInnerProduct(flatbuffers::FlatBufferBuilder &_fbb, const InnerProductT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const InnerProductT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _outputCount = _o->outputCount; auto _biasTerm = _o->biasTerm; auto _weightSize = _o->weightSize; auto _weight = _o->weight.size() ? _fbb.CreateVector(_o->weight) : 0; auto _bias = _o->bias.size() ? _fbb.CreateVector(_o->bias) : 0; auto _axis = _o->axis; auto _transpose = _o->transpose; auto _quanParameter = _o->quanParameter ? CreateIDSTQuan(_fbb, _o->quanParameter.get(), _rehasher) : 0; return MNN::CreateInnerProduct( _fbb, _outputCount, _biasTerm, _weightSize, _weight, _bias, _axis, _transpose, _quanParameter); } inline PoolT *Pool::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new PoolT(); UnPackTo(_o, _resolver); return _o; } inline void Pool::UnPackTo(PoolT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = padX(); _o->padX = _e; }; { auto _e = padY(); _o->padY = _e; }; { auto _e = isGlobal(); _o->isGlobal = _e; }; { auto _e = kernelX(); _o->kernelX = _e; }; { auto _e = kernelY(); _o->kernelY = _e; }; { auto _e = strideX(); _o->strideX = _e; }; { auto _e = strideY(); _o->strideY = _e; }; { auto _e = type(); _o->type = _e; }; { auto _e = padType(); _o->padType = _e; }; { auto _e = dataType(); _o->dataType = _e; }; { auto _e = ceilModel(); _o->ceilModel = _e; }; { auto _e = pads(); if (_e) { _o->pads.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->pads[_i] = _e->Get(_i); } } }; { auto _e = countType(); _o->countType = _e; }; } inline flatbuffers::Offset Pool::Pack(flatbuffers::FlatBufferBuilder &_fbb, const PoolT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreatePool(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreatePool(flatbuffers::FlatBufferBuilder &_fbb, const PoolT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const PoolT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _padX = _o->padX; auto _padY = _o->padY; auto _isGlobal = _o->isGlobal; auto _kernelX = _o->kernelX; auto _kernelY = _o->kernelY; auto _strideX = _o->strideX; auto _strideY = _o->strideY; auto _type = _o->type; auto _padType = _o->padType; auto _dataType = _o->dataType; auto _ceilModel = _o->ceilModel; auto _pads = _o->pads.size() ? _fbb.CreateVector(_o->pads) : 0; auto _countType = _o->countType; return MNN::CreatePool( _fbb, _padX, _padY, _isGlobal, _kernelX, _kernelY, _strideX, _strideY, _type, _padType, _dataType, _ceilModel, _pads, _countType); } inline Pool3DT *Pool3D::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new Pool3DT(); UnPackTo(_o, _resolver); return _o; } inline void Pool3D::UnPackTo(Pool3DT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = strides(); if (_e) { _o->strides.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->strides[_i] = _e->Get(_i); } } }; { auto _e = kernels(); if (_e) { _o->kernels.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->kernels[_i] = _e->Get(_i); } } }; { auto _e = pads(); if (_e) { _o->pads.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->pads[_i] = _e->Get(_i); } } }; { auto _e = type(); _o->type = _e; }; { auto _e = padType(); _o->padType = _e; }; { auto _e = isGlobal(); _o->isGlobal = _e; }; } inline flatbuffers::Offset Pool3D::Pack(flatbuffers::FlatBufferBuilder &_fbb, const Pool3DT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreatePool3D(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreatePool3D(flatbuffers::FlatBufferBuilder &_fbb, const Pool3DT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const Pool3DT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _strides = _o->strides.size() ? _fbb.CreateVector(_o->strides) : 0; auto _kernels = _o->kernels.size() ? _fbb.CreateVector(_o->kernels) : 0; auto _pads = _o->pads.size() ? _fbb.CreateVector(_o->pads) : 0; auto _type = _o->type; auto _padType = _o->padType; auto _isGlobal = _o->isGlobal; return MNN::CreatePool3D( _fbb, _strides, _kernels, _pads, _type, _padType, _isGlobal); } inline ReluT *Relu::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new ReluT(); UnPackTo(_o, _resolver); return _o; } inline void Relu::UnPackTo(ReluT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = slope(); _o->slope = _e; }; } inline flatbuffers::Offset Relu::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ReluT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateRelu(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateRelu(flatbuffers::FlatBufferBuilder &_fbb, const ReluT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ReluT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _slope = _o->slope; return MNN::CreateRelu( _fbb, _slope); } inline Relu6T *Relu6::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new Relu6T(); UnPackTo(_o, _resolver); return _o; } inline void Relu6::UnPackTo(Relu6T *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = minValue(); _o->minValue = _e; }; { auto _e = maxValue(); _o->maxValue = _e; }; } inline flatbuffers::Offset Relu6::Pack(flatbuffers::FlatBufferBuilder &_fbb, const Relu6T* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateRelu6(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateRelu6(flatbuffers::FlatBufferBuilder &_fbb, const Relu6T *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const Relu6T* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _minValue = _o->minValue; auto _maxValue = _o->maxValue; return MNN::CreateRelu6( _fbb, _minValue, _maxValue); } inline PReluT *PRelu::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new PReluT(); UnPackTo(_o, _resolver); return _o; } inline void PRelu::UnPackTo(PReluT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = slopeCount(); _o->slopeCount = _e; }; { auto _e = slope(); if (_e) { _o->slope.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->slope[_i] = _e->Get(_i); } } }; } inline flatbuffers::Offset PRelu::Pack(flatbuffers::FlatBufferBuilder &_fbb, const PReluT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreatePRelu(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreatePRelu(flatbuffers::FlatBufferBuilder &_fbb, const PReluT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const PReluT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _slopeCount = _o->slopeCount; auto _slope = _o->slope.size() ? _fbb.CreateVector(_o->slope) : 0; return MNN::CreatePRelu( _fbb, _slopeCount, _slope); } inline ELUT *ELU::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new ELUT(); UnPackTo(_o, _resolver); return _o; } inline void ELU::UnPackTo(ELUT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = alpha(); _o->alpha = _e; }; } inline flatbuffers::Offset ELU::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ELUT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateELU(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateELU(flatbuffers::FlatBufferBuilder &_fbb, const ELUT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ELUT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _alpha = _o->alpha; return MNN::CreateELU( _fbb, _alpha); } inline LRNT *LRN::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new LRNT(); UnPackTo(_o, _resolver); return _o; } inline void LRN::UnPackTo(LRNT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = regionType(); _o->regionType = _e; }; { auto _e = localSize(); _o->localSize = _e; }; { auto _e = alpha(); _o->alpha = _e; }; { auto _e = beta(); _o->beta = _e; }; { auto _e = bias(); _o->bias = _e; }; } inline flatbuffers::Offset LRN::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LRNT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateLRN(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateLRN(flatbuffers::FlatBufferBuilder &_fbb, const LRNT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LRNT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _regionType = _o->regionType; auto _localSize = _o->localSize; auto _alpha = _o->alpha; auto _beta = _o->beta; auto _bias = _o->bias; return MNN::CreateLRN( _fbb, _regionType, _localSize, _alpha, _beta, _bias); } inline ArgMaxT *ArgMax::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new ArgMaxT(); UnPackTo(_o, _resolver); return _o; } inline void ArgMax::UnPackTo(ArgMaxT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = outMaxVal(); _o->outMaxVal = _e; }; { auto _e = topK(); _o->topK = _e; }; { auto _e = axis(); _o->axis = _e; }; { auto _e = softmaxThreshold(); _o->softmaxThreshold = _e; }; } inline flatbuffers::Offset ArgMax::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ArgMaxT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateArgMax(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateArgMax(flatbuffers::FlatBufferBuilder &_fbb, const ArgMaxT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ArgMaxT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _outMaxVal = _o->outMaxVal; auto _topK = _o->topK; auto _axis = _o->axis; auto _softmaxThreshold = _o->softmaxThreshold; return MNN::CreateArgMax( _fbb, _outMaxVal, _topK, _axis, _softmaxThreshold); } inline AxisT *Axis::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new AxisT(); UnPackTo(_o, _resolver); return _o; } inline void Axis::UnPackTo(AxisT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = axis(); _o->axis = _e; }; } inline flatbuffers::Offset Axis::Pack(flatbuffers::FlatBufferBuilder &_fbb, const AxisT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateAxis(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateAxis(flatbuffers::FlatBufferBuilder &_fbb, const AxisT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const AxisT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _axis = _o->axis; return MNN::CreateAxis( _fbb, _axis); } inline InputT *Input::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new InputT(); UnPackTo(_o, _resolver); return _o; } inline void Input::UnPackTo(InputT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = dims(); if (_e) { _o->dims.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->dims[_i] = _e->Get(_i); } } }; { auto _e = dtype(); _o->dtype = _e; }; { auto _e = dformat(); _o->dformat = _e; }; } inline flatbuffers::Offset Input::Pack(flatbuffers::FlatBufferBuilder &_fbb, const InputT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateInput(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateInput(flatbuffers::FlatBufferBuilder &_fbb, const InputT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const InputT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _dims = _o->dims.size() ? _fbb.CreateVector(_o->dims) : 0; auto _dtype = _o->dtype; auto _dformat = _o->dformat; return MNN::CreateInput( _fbb, _dims, _dtype, _dformat); } inline LSTMT *LSTM::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new LSTMT(); UnPackTo(_o, _resolver); return _o; } inline void LSTM::UnPackTo(LSTMT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = outputCount(); _o->outputCount = _e; }; { auto _e = weightSize(); _o->weightSize = _e; }; { auto _e = clippingThreshold(); _o->clippingThreshold = _e; }; { auto _e = weightI(); if (_e) _o->weightI = std::unique_ptr(_e->UnPack(_resolver)); }; { auto _e = weightH(); if (_e) _o->weightH = std::unique_ptr(_e->UnPack(_resolver)); }; { auto _e = bias(); if (_e) _o->bias = std::unique_ptr(_e->UnPack(_resolver)); }; { auto _e = weightIQ(); if (_e) _o->weightIQ = std::unique_ptr(_e->UnPack(_resolver)); }; { auto _e = weightIA(); if (_e) _o->weightIA = std::unique_ptr(_e->UnPack(_resolver)); }; { auto _e = quantScale(); _o->quantScale = _e; }; } inline flatbuffers::Offset LSTM::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LSTMT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateLSTM(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateLSTM(flatbuffers::FlatBufferBuilder &_fbb, const LSTMT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LSTMT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _outputCount = _o->outputCount; auto _weightSize = _o->weightSize; auto _clippingThreshold = _o->clippingThreshold; auto _weightI = _o->weightI ? CreateBlob(_fbb, _o->weightI.get(), _rehasher) : 0; auto _weightH = _o->weightH ? CreateBlob(_fbb, _o->weightH.get(), _rehasher) : 0; auto _bias = _o->bias ? CreateBlob(_fbb, _o->bias.get(), _rehasher) : 0; auto _weightIQ = _o->weightIQ ? CreateBlob(_fbb, _o->weightIQ.get(), _rehasher) : 0; auto _weightIA = _o->weightIA ? CreateBlob(_fbb, _o->weightIA.get(), _rehasher) : 0; auto _quantScale = _o->quantScale; return MNN::CreateLSTM( _fbb, _outputCount, _weightSize, _clippingThreshold, _weightI, _weightH, _bias, _weightIQ, _weightIA, _quantScale); } inline SliceT *Slice::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new SliceT(); UnPackTo(_o, _resolver); return _o; } inline void Slice::UnPackTo(SliceT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = axis(); _o->axis = _e; }; { auto _e = slicePoints(); if (_e) { _o->slicePoints.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->slicePoints[_i] = _e->Get(_i); } } }; { auto _e = sourceType(); _o->sourceType = _e; }; } inline flatbuffers::Offset Slice::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SliceT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateSlice(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateSlice(flatbuffers::FlatBufferBuilder &_fbb, const SliceT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SliceT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _axis = _o->axis; auto _slicePoints = _o->slicePoints.size() ? _fbb.CreateVector(_o->slicePoints) : 0; auto _sourceType = _o->sourceType; return MNN::CreateSlice( _fbb, _axis, _slicePoints, _sourceType); } inline BatchNormT *BatchNorm::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new BatchNormT(); UnPackTo(_o, _resolver); return _o; } inline void BatchNorm::UnPackTo(BatchNormT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = channels(); _o->channels = _e; }; { auto _e = slopeData(); if (_e) { _o->slopeData.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->slopeData[_i] = _e->Get(_i); } } }; { auto _e = meanData(); if (_e) { _o->meanData.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->meanData[_i] = _e->Get(_i); } } }; { auto _e = varData(); if (_e) { _o->varData.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->varData[_i] = _e->Get(_i); } } }; { auto _e = biasData(); if (_e) { _o->biasData.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->biasData[_i] = _e->Get(_i); } } }; { auto _e = Adata(); if (_e) { _o->Adata.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->Adata[_i] = _e->Get(_i); } } }; { auto _e = Bdata(); if (_e) { _o->Bdata.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->Bdata[_i] = _e->Get(_i); } } }; { auto _e = epsilon(); _o->epsilon = _e; }; } inline flatbuffers::Offset BatchNorm::Pack(flatbuffers::FlatBufferBuilder &_fbb, const BatchNormT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateBatchNorm(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateBatchNorm(flatbuffers::FlatBufferBuilder &_fbb, const BatchNormT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const BatchNormT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _channels = _o->channels; auto _slopeData = _o->slopeData.size() ? _fbb.CreateVector(_o->slopeData) : 0; auto _meanData = _o->meanData.size() ? _fbb.CreateVector(_o->meanData) : 0; auto _varData = _o->varData.size() ? _fbb.CreateVector(_o->varData) : 0; auto _biasData = _o->biasData.size() ? _fbb.CreateVector(_o->biasData) : 0; auto _Adata = _o->Adata.size() ? _fbb.CreateVector(_o->Adata) : 0; auto _Bdata = _o->Bdata.size() ? _fbb.CreateVector(_o->Bdata) : 0; auto _epsilon = _o->epsilon; return MNN::CreateBatchNorm( _fbb, _channels, _slopeData, _meanData, _varData, _biasData, _Adata, _Bdata, _epsilon); } inline ScaleT *Scale::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new ScaleT(); UnPackTo(_o, _resolver); return _o; } inline void Scale::UnPackTo(ScaleT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = channels(); _o->channels = _e; }; { auto _e = scaleData(); if (_e) { _o->scaleData.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->scaleData[_i] = _e->Get(_i); } } }; { auto _e = biasData(); if (_e) { _o->biasData.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->biasData[_i] = _e->Get(_i); } } }; { auto _e = external(); if (_e) { _o->external.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->external[_i] = _e->Get(_i); } } }; } inline flatbuffers::Offset Scale::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ScaleT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateScale(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateScale(flatbuffers::FlatBufferBuilder &_fbb, const ScaleT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ScaleT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _channels = _o->channels; auto _scaleData = _o->scaleData.size() ? _fbb.CreateVector(_o->scaleData) : 0; auto _biasData = _o->biasData.size() ? _fbb.CreateVector(_o->biasData) : 0; auto _external = _o->external.size() ? _fbb.CreateVector(_o->external) : 0; return MNN::CreateScale( _fbb, _channels, _scaleData, _biasData, _external); } inline EltwiseT *Eltwise::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new EltwiseT(); UnPackTo(_o, _resolver); return _o; } inline void Eltwise::UnPackTo(EltwiseT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = type(); _o->type = _e; }; { auto _e = coeff(); if (_e) { _o->coeff.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->coeff[_i] = _e->Get(_i); } } }; } inline flatbuffers::Offset Eltwise::Pack(flatbuffers::FlatBufferBuilder &_fbb, const EltwiseT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateEltwise(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateEltwise(flatbuffers::FlatBufferBuilder &_fbb, const EltwiseT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const EltwiseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _type = _o->type; auto _coeff = _o->coeff.size() ? _fbb.CreateVector(_o->coeff) : 0; return MNN::CreateEltwise( _fbb, _type, _coeff); } inline FlattenT *Flatten::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new FlattenT(); UnPackTo(_o, _resolver); return _o; } inline void Flatten::UnPackTo(FlattenT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = axis(); _o->axis = _e; }; { auto _e = endAxis(); _o->endAxis = _e; }; } inline flatbuffers::Offset Flatten::Pack(flatbuffers::FlatBufferBuilder &_fbb, const FlattenT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateFlatten(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateFlatten(flatbuffers::FlatBufferBuilder &_fbb, const FlattenT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const FlattenT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _axis = _o->axis; auto _endAxis = _o->endAxis; return MNN::CreateFlatten( _fbb, _axis, _endAxis); } inline PermuteT *Permute::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new PermuteT(); UnPackTo(_o, _resolver); return _o; } inline void Permute::UnPackTo(PermuteT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = dims(); if (_e) { _o->dims.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->dims[_i] = _e->Get(_i); } } }; } inline flatbuffers::Offset Permute::Pack(flatbuffers::FlatBufferBuilder &_fbb, const PermuteT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreatePermute(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreatePermute(flatbuffers::FlatBufferBuilder &_fbb, const PermuteT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const PermuteT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _dims = _o->dims.size() ? _fbb.CreateVector(_o->dims) : 0; return MNN::CreatePermute( _fbb, _dims); } inline ReshapeT *Reshape::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new ReshapeT(); UnPackTo(_o, _resolver); return _o; } inline void Reshape::UnPackTo(ReshapeT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = dims(); if (_e) { _o->dims.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->dims[_i] = _e->Get(_i); } } }; { auto _e = dimType(); _o->dimType = _e; }; } inline flatbuffers::Offset Reshape::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ReshapeT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateReshape(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateReshape(flatbuffers::FlatBufferBuilder &_fbb, const ReshapeT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ReshapeT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _dims = _o->dims.size() ? _fbb.CreateVector(_o->dims) : 0; auto _dimType = _o->dimType; return MNN::CreateReshape( _fbb, _dims, _dimType); } inline DetectionOutputT *DetectionOutput::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new DetectionOutputT(); UnPackTo(_o, _resolver); return _o; } inline void DetectionOutput::UnPackTo(DetectionOutputT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = classCount(); _o->classCount = _e; }; { auto _e = nmsThresholdold(); _o->nmsThresholdold = _e; }; { auto _e = nmsTopK(); _o->nmsTopK = _e; }; { auto _e = keepTopK(); _o->keepTopK = _e; }; { auto _e = confidenceThreshold(); _o->confidenceThreshold = _e; }; { auto _e = shareLocation(); _o->shareLocation = _e; }; { auto _e = backgroundLable(); _o->backgroundLable = _e; }; { auto _e = varianceEncodedTarget(); _o->varianceEncodedTarget = _e; }; { auto _e = codeType(); _o->codeType = _e; }; { auto _e = objectnessScore(); _o->objectnessScore = _e; }; } inline flatbuffers::Offset DetectionOutput::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DetectionOutputT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateDetectionOutput(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateDetectionOutput(flatbuffers::FlatBufferBuilder &_fbb, const DetectionOutputT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const DetectionOutputT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _classCount = _o->classCount; auto _nmsThresholdold = _o->nmsThresholdold; auto _nmsTopK = _o->nmsTopK; auto _keepTopK = _o->keepTopK; auto _confidenceThreshold = _o->confidenceThreshold; auto _shareLocation = _o->shareLocation; auto _backgroundLable = _o->backgroundLable; auto _varianceEncodedTarget = _o->varianceEncodedTarget; auto _codeType = _o->codeType; auto _objectnessScore = _o->objectnessScore; return MNN::CreateDetectionOutput( _fbb, _classCount, _nmsThresholdold, _nmsTopK, _keepTopK, _confidenceThreshold, _shareLocation, _backgroundLable, _varianceEncodedTarget, _codeType, _objectnessScore); } inline RoiParametersT *RoiParameters::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new RoiParametersT(); UnPackTo(_o, _resolver); return _o; } inline void RoiParameters::UnPackTo(RoiParametersT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = pooledWidth(); _o->pooledWidth = _e; }; { auto _e = pooledHeight(); _o->pooledHeight = _e; }; { auto _e = spatialScale(); _o->spatialScale = _e; }; { auto _e = samplingRatio(); _o->samplingRatio = _e; }; { auto _e = aligned(); _o->aligned = _e; }; { auto _e = poolType(); _o->poolType = _e; }; { auto _e = outputGrad(); _o->outputGrad = _e; }; } inline flatbuffers::Offset RoiParameters::Pack(flatbuffers::FlatBufferBuilder &_fbb, const RoiParametersT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateRoiParameters(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateRoiParameters(flatbuffers::FlatBufferBuilder &_fbb, const RoiParametersT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const RoiParametersT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _pooledWidth = _o->pooledWidth; auto _pooledHeight = _o->pooledHeight; auto _spatialScale = _o->spatialScale; auto _samplingRatio = _o->samplingRatio; auto _aligned = _o->aligned; auto _poolType = _o->poolType; auto _outputGrad = _o->outputGrad; return MNN::CreateRoiParameters( _fbb, _pooledWidth, _pooledHeight, _spatialScale, _samplingRatio, _aligned, _poolType, _outputGrad); } inline ProposalT *Proposal::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new ProposalT(); UnPackTo(_o, _resolver); return _o; } inline void Proposal::UnPackTo(ProposalT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = featStride(); _o->featStride = _e; }; { auto _e = baseSize(); _o->baseSize = _e; }; { auto _e = preNmsTopN(); _o->preNmsTopN = _e; }; { auto _e = afterNmsTopN(); _o->afterNmsTopN = _e; }; { auto _e = nmsThreshold(); _o->nmsThreshold = _e; }; { auto _e = minSize(); _o->minSize = _e; }; { auto _e = ratios(); if (_e) _o->ratios = std::unique_ptr(_e->UnPack(_resolver)); }; { auto _e = scales(); if (_e) _o->scales = std::unique_ptr(_e->UnPack(_resolver)); }; { auto _e = anchors(); if (_e) _o->anchors = std::unique_ptr(_e->UnPack(_resolver)); }; } inline flatbuffers::Offset Proposal::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ProposalT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateProposal(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateProposal(flatbuffers::FlatBufferBuilder &_fbb, const ProposalT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ProposalT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _featStride = _o->featStride; auto _baseSize = _o->baseSize; auto _preNmsTopN = _o->preNmsTopN; auto _afterNmsTopN = _o->afterNmsTopN; auto _nmsThreshold = _o->nmsThreshold; auto _minSize = _o->minSize; auto _ratios = _o->ratios ? CreateBlob(_fbb, _o->ratios.get(), _rehasher) : 0; auto _scales = _o->scales ? CreateBlob(_fbb, _o->scales.get(), _rehasher) : 0; auto _anchors = _o->anchors ? CreateBlob(_fbb, _o->anchors.get(), _rehasher) : 0; return MNN::CreateProposal( _fbb, _featStride, _baseSize, _preNmsTopN, _afterNmsTopN, _nmsThreshold, _minSize, _ratios, _scales, _anchors); } inline InterpT *Interp::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new InterpT(); UnPackTo(_o, _resolver); return _o; } inline void Interp::UnPackTo(InterpT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = widthScale(); _o->widthScale = _e; }; { auto _e = heightScale(); _o->heightScale = _e; }; { auto _e = outputWidth(); _o->outputWidth = _e; }; { auto _e = outputHeight(); _o->outputHeight = _e; }; { auto _e = resizeType(); _o->resizeType = _e; }; { auto _e = alignCorners(); _o->alignCorners = _e; }; { auto _e = halfPixelCenters(); _o->halfPixelCenters = _e; }; { auto _e = widthOffset(); _o->widthOffset = _e; }; { auto _e = heightOffset(); _o->heightOffset = _e; }; { auto _e = cubicCoeffA(); _o->cubicCoeffA = _e; }; { auto _e = ctm(); _o->ctm = _e; }; { auto _e = depthScale(); _o->depthScale = _e; }; { auto _e = outputDepth(); _o->outputDepth = _e; }; { auto _e = depthOffset(); _o->depthOffset = _e; }; } inline flatbuffers::Offset Interp::Pack(flatbuffers::FlatBufferBuilder &_fbb, const InterpT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateInterp(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateInterp(flatbuffers::FlatBufferBuilder &_fbb, const InterpT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const InterpT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _widthScale = _o->widthScale; auto _heightScale = _o->heightScale; auto _outputWidth = _o->outputWidth; auto _outputHeight = _o->outputHeight; auto _resizeType = _o->resizeType; auto _alignCorners = _o->alignCorners; auto _halfPixelCenters = _o->halfPixelCenters; auto _widthOffset = _o->widthOffset; auto _heightOffset = _o->heightOffset; auto _cubicCoeffA = _o->cubicCoeffA; auto _ctm = _o->ctm; auto _depthScale = _o->depthScale; auto _outputDepth = _o->outputDepth; auto _depthOffset = _o->depthOffset; return MNN::CreateInterp( _fbb, _widthScale, _heightScale, _outputWidth, _outputHeight, _resizeType, _alignCorners, _halfPixelCenters, _widthOffset, _heightOffset, _cubicCoeffA, _ctm, _depthScale, _outputDepth, _depthOffset); } inline ResizeT *Resize::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new ResizeT(); UnPackTo(_o, _resolver); return _o; } inline void Resize::UnPackTo(ResizeT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = xScale(); _o->xScale = _e; }; { auto _e = yScale(); _o->yScale = _e; }; } inline flatbuffers::Offset Resize::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ResizeT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateResize(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateResize(flatbuffers::FlatBufferBuilder &_fbb, const ResizeT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ResizeT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _xScale = _o->xScale; auto _yScale = _o->yScale; return MNN::CreateResize( _fbb, _xScale, _yScale); } inline PriorBoxT *PriorBox::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new PriorBoxT(); UnPackTo(_o, _resolver); return _o; } inline void PriorBox::UnPackTo(PriorBoxT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = minSizes(); if (_e) { _o->minSizes.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->minSizes[_i] = _e->Get(_i); } } }; { auto _e = maxSizes(); if (_e) { _o->maxSizes.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->maxSizes[_i] = _e->Get(_i); } } }; { auto _e = aspectRatios(); if (_e) { _o->aspectRatios.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->aspectRatios[_i] = _e->Get(_i); } } }; { auto _e = variances(); if (_e) { _o->variances.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->variances[_i] = _e->Get(_i); } } }; { auto _e = flip(); _o->flip = _e; }; { auto _e = clip(); _o->clip = _e; }; { auto _e = imageWidth(); _o->imageWidth = _e; }; { auto _e = imageHeight(); _o->imageHeight = _e; }; { auto _e = stepWidth(); _o->stepWidth = _e; }; { auto _e = stepHeight(); _o->stepHeight = _e; }; { auto _e = offset(); _o->offset = _e; }; } inline flatbuffers::Offset PriorBox::Pack(flatbuffers::FlatBufferBuilder &_fbb, const PriorBoxT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreatePriorBox(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreatePriorBox(flatbuffers::FlatBufferBuilder &_fbb, const PriorBoxT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const PriorBoxT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _minSizes = _o->minSizes.size() ? _fbb.CreateVector(_o->minSizes) : 0; auto _maxSizes = _o->maxSizes.size() ? _fbb.CreateVector(_o->maxSizes) : 0; auto _aspectRatios = _o->aspectRatios.size() ? _fbb.CreateVector(_o->aspectRatios) : 0; auto _variances = _o->variances.size() ? _fbb.CreateVector(_o->variances) : 0; auto _flip = _o->flip; auto _clip = _o->clip; auto _imageWidth = _o->imageWidth; auto _imageHeight = _o->imageHeight; auto _stepWidth = _o->stepWidth; auto _stepHeight = _o->stepHeight; auto _offset = _o->offset; return MNN::CreatePriorBox( _fbb, _minSizes, _maxSizes, _aspectRatios, _variances, _flip, _clip, _imageWidth, _imageHeight, _stepWidth, _stepHeight, _offset); } inline NormalizeT *Normalize::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new NormalizeT(); UnPackTo(_o, _resolver); return _o; } inline void Normalize::UnPackTo(NormalizeT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = acrossSpatial(); _o->acrossSpatial = _e; }; { auto _e = channelShared(); _o->channelShared = _e; }; { auto _e = eps(); _o->eps = _e; }; { auto _e = scale(); if (_e) { _o->scale.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->scale[_i] = _e->Get(_i); } } }; } inline flatbuffers::Offset Normalize::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NormalizeT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateNormalize(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateNormalize(flatbuffers::FlatBufferBuilder &_fbb, const NormalizeT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NormalizeT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _acrossSpatial = _o->acrossSpatial; auto _channelShared = _o->channelShared; auto _eps = _o->eps; auto _scale = _o->scale.size() ? _fbb.CreateVector(_o->scale) : 0; return MNN::CreateNormalize( _fbb, _acrossSpatial, _channelShared, _eps, _scale); } inline EltwiseInt8T *EltwiseInt8::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new EltwiseInt8T(); UnPackTo(_o, _resolver); return _o; } inline void EltwiseInt8::UnPackTo(EltwiseInt8T *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = type(); _o->type = _e; }; { auto _e = inputQuan0(); if (_e) _o->inputQuan0 = std::unique_ptr(_e->UnPack(_resolver)); }; { auto _e = inputQuan1(); if (_e) _o->inputQuan1 = std::unique_ptr(_e->UnPack(_resolver)); }; { auto _e = outputQuan(); if (_e) _o->outputQuan = std::unique_ptr(_e->UnPack(_resolver)); }; } inline flatbuffers::Offset EltwiseInt8::Pack(flatbuffers::FlatBufferBuilder &_fbb, const EltwiseInt8T* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateEltwiseInt8(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateEltwiseInt8(flatbuffers::FlatBufferBuilder &_fbb, const EltwiseInt8T *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const EltwiseInt8T* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _type = _o->type; auto _inputQuan0 = _o->inputQuan0 ? CreateQuantizedFloatParam(_fbb, _o->inputQuan0.get(), _rehasher) : 0; auto _inputQuan1 = _o->inputQuan1 ? CreateQuantizedFloatParam(_fbb, _o->inputQuan1.get(), _rehasher) : 0; auto _outputQuan = _o->outputQuan ? CreateQuantizedFloatParam(_fbb, _o->outputQuan.get(), _rehasher) : 0; return MNN::CreateEltwiseInt8( _fbb, _type, _inputQuan0, _inputQuan1, _outputQuan); } inline CumSumT *CumSum::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new CumSumT(); UnPackTo(_o, _resolver); return _o; } inline void CumSum::UnPackTo(CumSumT *_o, const flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = exclusive(); _o->exclusive = _e; }; { auto _e = reverse(); _o->reverse = _e; }; } inline flatbuffers::Offset CumSum::Pack(flatbuffers::FlatBufferBuilder &_fbb, const CumSumT* _o, const flatbuffers::rehasher_function_t *_rehasher) { return CreateCumSum(_fbb, _o, _rehasher); } inline flatbuffers::Offset CreateCumSum(flatbuffers::FlatBufferBuilder &_fbb, const CumSumT *_o, const flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const CumSumT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _exclusive = _o->exclusive; auto _reverse = _o->reverse; return MNN::CreateCumSum( _fbb, _exclusive, _reverse); } inline const flatbuffers::TypeTable *PadModeTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 } }; static const flatbuffers::TypeFunction type_refs[] = { PadModeTypeTable }; static const char * const names[] = { "CAFFE", "VALID", "SAME" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_ENUM, 3, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *SparseAlgoTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 } }; static const flatbuffers::TypeFunction type_refs[] = { SparseAlgoTypeTable }; static const char * const names[] = { "RANDOM", "SIMD_OC" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_ENUM, 2, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *ScaleStorageTypeTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 } }; static const flatbuffers::TypeFunction type_refs[] = { ScaleStorageTypeTypeTable }; static const char * const names[] = { "FP32", "FP16" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_ENUM, 2, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *QuantizeAlgoTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 } }; static const flatbuffers::TypeFunction type_refs[] = { QuantizeAlgoTypeTable }; static const char * const names[] = { "DEFAULT", "OVERFLOW_AWARE", "WINOGRAD_AWARE" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_ENUM, 3, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *PoolTypeTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 } }; static const flatbuffers::TypeFunction type_refs[] = { PoolTypeTypeTable }; static const char * const names[] = { "MAXPOOL", "AVEPOOL" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_ENUM, 2, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *PoolPadTypeTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 } }; static const flatbuffers::TypeFunction type_refs[] = { PoolPadTypeTypeTable }; static const char * const names[] = { "CAFFE", "VALID", "SAME" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_ENUM, 3, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *AvgPoolCountTypeTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 } }; static const flatbuffers::TypeFunction type_refs[] = { AvgPoolCountTypeTypeTable }; static const char * const names[] = { "DEFAULT", "INCLUDE_PADDING", "EXCLUDE_PADDING" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_ENUM, 3, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *EltwiseTypeTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 } }; static const flatbuffers::TypeFunction type_refs[] = { EltwiseTypeTypeTable }; static const char * const names[] = { "PROD", "SUM", "MAXIMUM", "SUB" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_ENUM, 4, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *CoordinateTransformationModeTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 } }; static const flatbuffers::TypeFunction type_refs[] = { CoordinateTransformationModeTypeTable }; static const char * const names[] = { "NotSet", "AlignCorners", "HalfPixels", "PytorchHalfPixels", "Asymmetric", "TensorflowHalfPixels", "TensorflowCropAndResize" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_ENUM, 7, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *Convolution2DCommonTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_BOOL, 0, -1 }, { flatbuffers::ET_BOOL, 0, -1 }, { flatbuffers::ET_INT, 1, -1 }, { flatbuffers::ET_INT, 1, -1 }, { flatbuffers::ET_BOOL, 0, -1 } }; static const flatbuffers::TypeFunction type_refs[] = { PadModeTypeTable }; static const char * const names[] = { "padX", "padY", "kernelX", "kernelY", "strideX", "strideY", "dilateX", "dilateY", "padMode", "group", "outputCount", "inputCount", "relu", "relu6", "pads", "outPads", "hasOutputShape" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 17, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *Convolution3DCommonTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 1, -1 }, { flatbuffers::ET_INT, 1, -1 }, { flatbuffers::ET_INT, 1, -1 }, { flatbuffers::ET_INT, 1, -1 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_BOOL, 0, -1 }, { flatbuffers::ET_BOOL, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 1, -1 }, { flatbuffers::ET_BOOL, 0, -1 } }; static const flatbuffers::TypeFunction type_refs[] = { PadModeTypeTable }; static const char * const names[] = { "dilates", "strides", "kernels", "pads", "padMode", "inputCount", "outputCount", "relu", "relu6", "group", "outPads", "hasOutputShape" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 12, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *SparseCommonTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_SEQUENCE, 1, 1 } }; static const flatbuffers::TypeFunction type_refs[] = { SparseAlgoTypeTable, AttributeTypeTable }; static const char * const names[] = { "method", "args" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *IDSTQuanTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 1, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_BOOL, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_BOOL, 0, -1 }, { flatbuffers::ET_BOOL, 0, -1 }, { flatbuffers::ET_UINT, 0, -1 }, { flatbuffers::ET_UINT, 1, -1 }, { flatbuffers::ET_USHORT, 1, -1 }, { flatbuffers::ET_CHAR, 0, 0 } }; static const flatbuffers::TypeFunction type_refs[] = { ScaleStorageTypeTypeTable }; static const char * const names[] = { "buffer", "alpha", "type", "useInt32", "quantScale", "scaleIn", "scaleOut", "aMaxOrBits", "aMin", "readType", "has_scaleInt", "shapeInt32", "weightSize", "index", "alphaFp16", "scaleStorage" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 16, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *QuantizedFloatParamTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 1, -1 }, { flatbuffers::ET_INT, 1, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_CHAR, 0, -1 }, { flatbuffers::ET_CHAR, 0, -1 }, { flatbuffers::ET_CHAR, 0, -1 }, { flatbuffers::ET_CHAR, 0, -1 }, { flatbuffers::ET_INT, 1, -1 }, { flatbuffers::ET_INT, 0, 1 }, { flatbuffers::ET_FLOAT, 1, -1 } }; static const flatbuffers::TypeFunction type_refs[] = { QuantizeAlgoTypeTable, DataTypeTypeTable }; static const char * const names[] = { "weight", "bias", "scale", "tensorScale", "method", "nbits", "zeroPoint", "outputZeroPoint", "clampMin", "clampMax", "winogradAttr", "outputDataType", "floatzeros" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 13, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *Convolution2DTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_SEQUENCE, 0, 0 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_SEQUENCE, 0, 1 }, { flatbuffers::ET_SEQUENCE, 0, 2 }, { flatbuffers::ET_SEQUENCE, 0, 3 }, { flatbuffers::ET_LONG, 1, -1 } }; static const flatbuffers::TypeFunction type_refs[] = { Convolution2DCommonTypeTable, IDSTQuanTypeTable, QuantizedFloatParamTypeTable, SparseCommonTypeTable }; static const char * const names[] = { "common", "weight", "bias", "quanParameter", "symmetricQuan", "sparseParameter", "external" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 7, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *Convolution3DTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_SEQUENCE, 0, 0 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_LONG, 1, -1 } }; static const flatbuffers::TypeFunction type_refs[] = { Convolution3DCommonTypeTable }; static const char * const names[] = { "common", "weight", "bias", "external" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 4, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *InnerProductTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_BOOL, 0, -1 }, { flatbuffers::ET_SEQUENCE, 0, 0 } }; static const flatbuffers::TypeFunction type_refs[] = { IDSTQuanTypeTable }; static const char * const names[] = { "outputCount", "biasTerm", "weightSize", "weight", "bias", "axis", "transpose", "quanParameter" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 8, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *PoolTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_BOOL, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 1 }, { flatbuffers::ET_INT, 0, 2 }, { flatbuffers::ET_BOOL, 0, -1 }, { flatbuffers::ET_INT, 1, -1 }, { flatbuffers::ET_CHAR, 0, 3 } }; static const flatbuffers::TypeFunction type_refs[] = { PoolTypeTypeTable, PoolPadTypeTypeTable, DataTypeTypeTable, AvgPoolCountTypeTypeTable }; static const char * const names[] = { "padX", "padY", "isGlobal", "kernelX", "kernelY", "strideX", "strideY", "type", "padType", "dataType", "ceilModel", "pads", "countType" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 13, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *Pool3DTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 1, -1 }, { flatbuffers::ET_INT, 1, -1 }, { flatbuffers::ET_INT, 1, -1 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 1 }, { flatbuffers::ET_BOOL, 0, -1 } }; static const flatbuffers::TypeFunction type_refs[] = { PoolTypeTypeTable, PoolPadTypeTypeTable }; static const char * const names[] = { "strides", "kernels", "pads", "type", "padType", "isGlobal" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 6, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *ReluTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_FLOAT, 0, -1 } }; static const char * const names[] = { "slope" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *Relu6TypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 } }; static const char * const names[] = { "minValue", "maxValue" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 2, type_codes, nullptr, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *PReluTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_FLOAT, 1, -1 } }; static const char * const names[] = { "slopeCount", "slope" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 2, type_codes, nullptr, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *ELUTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_FLOAT, 0, -1 } }; static const char * const names[] = { "alpha" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *LRNTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 } }; static const char * const names[] = { "regionType", "localSize", "alpha", "beta", "bias" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 5, type_codes, nullptr, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *ArgMaxTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 } }; static const char * const names[] = { "outMaxVal", "topK", "axis", "softmaxThreshold" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 4, type_codes, nullptr, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *AxisTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 } }; static const char * const names[] = { "axis" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *InputTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 1, -1 }, { flatbuffers::ET_INT, 0, 0 }, { flatbuffers::ET_CHAR, 0, 1 } }; static const flatbuffers::TypeFunction type_refs[] = { DataTypeTypeTable, MNN_DATA_FORMATTypeTable }; static const char * const names[] = { "dims", "dtype", "dformat" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 3, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *LSTMTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_SEQUENCE, 0, 0 }, { flatbuffers::ET_SEQUENCE, 0, 0 }, { flatbuffers::ET_SEQUENCE, 0, 0 }, { flatbuffers::ET_SEQUENCE, 0, 0 }, { flatbuffers::ET_SEQUENCE, 0, 0 }, { flatbuffers::ET_FLOAT, 0, -1 } }; static const flatbuffers::TypeFunction type_refs[] = { BlobTypeTable }; static const char * const names[] = { "outputCount", "weightSize", "clippingThreshold", "weightI", "weightH", "bias", "weightIQ", "weightIA", "quantScale" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 9, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *SliceTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 1, -1 }, { flatbuffers::ET_CHAR, 0, 0 } }; static const flatbuffers::TypeFunction type_refs[] = { NetSourceTypeTable }; static const char * const names[] = { "axis", "slicePoints", "sourceType" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 3, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *BatchNormTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_FLOAT, 0, -1 } }; static const char * const names[] = { "channels", "slopeData", "meanData", "varData", "biasData", "Adata", "Bdata", "epsilon" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 8, type_codes, nullptr, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *ScaleTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_LONG, 1, -1 } }; static const char * const names[] = { "channels", "scaleData", "biasData", "external" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 4, type_codes, nullptr, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *EltwiseTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_FLOAT, 1, -1 } }; static const flatbuffers::TypeFunction type_refs[] = { EltwiseTypeTypeTable }; static const char * const names[] = { "type", "coeff" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *FlattenTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 } }; static const char * const names[] = { "axis", "endAxis" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 2, type_codes, nullptr, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *PermuteTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 1, -1 } }; static const char * const names[] = { "dims" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *ReshapeTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 1, -1 }, { flatbuffers::ET_CHAR, 0, 0 } }; static const flatbuffers::TypeFunction type_refs[] = { MNN_DATA_FORMATTypeTable }; static const char * const names[] = { "dims", "dimType" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *DetectionOutputTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 } }; static const char * const names[] = { "classCount", "nmsThresholdold", "nmsTopK", "keepTopK", "confidenceThreshold", "shareLocation", "backgroundLable", "varianceEncodedTarget", "codeType", "objectnessScore" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 10, type_codes, nullptr, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *RoiParametersTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_BOOL, 0, -1 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_BOOL, 0, -1 } }; static const flatbuffers::TypeFunction type_refs[] = { PoolTypeTypeTable }; static const char * const names[] = { "pooledWidth", "pooledHeight", "spatialScale", "samplingRatio", "aligned", "poolType", "outputGrad" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 7, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *ProposalTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_SEQUENCE, 0, 0 }, { flatbuffers::ET_SEQUENCE, 0, 0 }, { flatbuffers::ET_SEQUENCE, 0, 0 } }; static const flatbuffers::TypeFunction type_refs[] = { BlobTypeTable }; static const char * const names[] = { "featStride", "baseSize", "preNmsTopN", "afterNmsTopN", "nmsThreshold", "minSize", "ratios", "scales", "anchors" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 9, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *InterpTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_BOOL, 0, -1 }, { flatbuffers::ET_BOOL, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 } }; static const flatbuffers::TypeFunction type_refs[] = { CoordinateTransformationModeTypeTable }; static const char * const names[] = { "widthScale", "heightScale", "outputWidth", "outputHeight", "resizeType", "alignCorners", "halfPixelCenters", "widthOffset", "heightOffset", "cubicCoeffA", "ctm", "depthScale", "outputDepth", "depthOffset" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 14, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *ResizeTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 } }; static const char * const names[] = { "xScale", "yScale" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 2, type_codes, nullptr, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *PriorBoxTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_FLOAT, 1, -1 }, { flatbuffers::ET_BOOL, 0, -1 }, { flatbuffers::ET_BOOL, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 } }; static const char * const names[] = { "minSizes", "maxSizes", "aspectRatios", "variances", "flip", "clip", "imageWidth", "imageHeight", "stepWidth", "stepHeight", "offset" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 11, type_codes, nullptr, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *NormalizeTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_FLOAT, 1, -1 } }; static const char * const names[] = { "acrossSpatial", "channelShared", "eps", "scale" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 4, type_codes, nullptr, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *EltwiseInt8TypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_SEQUENCE, 0, 1 }, { flatbuffers::ET_SEQUENCE, 0, 1 }, { flatbuffers::ET_SEQUENCE, 0, 1 } }; static const flatbuffers::TypeFunction type_refs[] = { EltwiseTypeTypeTable, QuantizedFloatParamTypeTable }; static const char * const names[] = { "type", "inputQuan0", "inputQuan1", "outputQuan" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 4, type_codes, type_refs, nullptr, names }; return &tt; } inline const flatbuffers::TypeTable *CumSumTypeTable() { static const flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_BOOL, 0, -1 }, { flatbuffers::ET_BOOL, 0, -1 } }; static const char * const names[] = { "exclusive", "reverse" }; static const flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 2, type_codes, nullptr, nullptr, names }; return &tt; } } // namespace MNN #endif // FLATBUFFERS_GENERATED_CAFFEOP_MNN_H_