未验证 提交 313630de 编写于 作者: T TFLM-bot 提交者: GitHub

Sync from upstream TF. (#1298)

Co-authored-by: Nmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
上级 f8baced7
......@@ -185,6 +185,7 @@ typedef enum {
kTfLiteBuiltinUnsortedSegmentSum = 155,
kTfLiteBuiltinAtan2 = 156,
kTfLiteBuiltinUnsortedSegmentMin = 157,
kTfLiteBuiltinSign = 158,
} TfLiteBuiltinOperator;
#ifdef __cplusplus
......
......@@ -881,6 +881,7 @@ TfLiteStatus ParseOpDataTfLite(const Operator* op, BuiltinOperator op_type,
case BuiltinOperator_UNSORTED_SEGMENT_PROD:
case BuiltinOperator_UNSORTED_SEGMENT_SUM:
case BuiltinOperator_ATAN2:
case BuiltinOperator_SIGN:
case BuiltinOperator_WHERE:
return kTfLiteOk;
case BuiltinOperator_PLACEHOLDER_FOR_GREATER_OP_CODES:
......
......@@ -1254,6 +1254,7 @@ class BuiltinOperator(object):
UNSORTED_SEGMENT_SUM = 155
ATAN2 = 156
UNSORTED_SEGMENT_MIN = 157
SIGN = 158
# automatically generated by the FlatBuffers compiler, do not modify
......@@ -1383,6 +1384,7 @@ class BuiltinOptions(object):
UnsortedSegmentMinOptions = 120
UnsortedSegmentSumOptions = 121
ATan2Options = 122
SignOptions = 123
def BuiltinOptionsCreator(unionType, table):
......@@ -1633,6 +1635,8 @@ def BuiltinOptionsCreator(unionType, table):
return UnsortedSegmentSumOptionsT.InitFromBuf(table.Bytes, table.Pos)
if unionType == BuiltinOptions().ATan2Options:
return ATan2OptionsT.InitFromBuf(table.Bytes, table.Pos)
if unionType == BuiltinOptions().SignOptions:
return SignOptionsT.InitFromBuf(table.Bytes, table.Pos)
return None
# automatically generated by the FlatBuffers compiler, do not modify
......@@ -6670,7 +6674,7 @@ class OperatorT(object):
self.inputs = None # type: List[int]
self.outputs = None # type: List[int]
self.builtinOptionsType = 0 # type: int
self.builtinOptions = None # type: Union[None, Conv2DOptionsT, DepthwiseConv2DOptionsT, ConcatEmbeddingsOptionsT, LSHProjectionOptionsT, Pool2DOptionsT, SVDFOptionsT, RNNOptionsT, FullyConnectedOptionsT, SoftmaxOptionsT, ConcatenationOptionsT, AddOptionsT, L2NormOptionsT, LocalResponseNormalizationOptionsT, LSTMOptionsT, ResizeBilinearOptionsT, CallOptionsT, ReshapeOptionsT, SkipGramOptionsT, SpaceToDepthOptionsT, EmbeddingLookupSparseOptionsT, MulOptionsT, PadOptionsT, GatherOptionsT, BatchToSpaceNDOptionsT, SpaceToBatchNDOptionsT, TransposeOptionsT, ReducerOptionsT, SubOptionsT, DivOptionsT, SqueezeOptionsT, SequenceRNNOptionsT, StridedSliceOptionsT, ExpOptionsT, TopKV2OptionsT, SplitOptionsT, LogSoftmaxOptionsT, CastOptionsT, DequantizeOptionsT, MaximumMinimumOptionsT, ArgMaxOptionsT, LessOptionsT, NegOptionsT, PadV2OptionsT, GreaterOptionsT, GreaterEqualOptionsT, LessEqualOptionsT, SelectOptionsT, SliceOptionsT, TransposeConvOptionsT, SparseToDenseOptionsT, TileOptionsT, ExpandDimsOptionsT, EqualOptionsT, NotEqualOptionsT, ShapeOptionsT, PowOptionsT, ArgMinOptionsT, FakeQuantOptionsT, PackOptionsT, LogicalOrOptionsT, OneHotOptionsT, LogicalAndOptionsT, LogicalNotOptionsT, UnpackOptionsT, FloorDivOptionsT, SquareOptionsT, ZerosLikeOptionsT, FillOptionsT, BidirectionalSequenceLSTMOptionsT, BidirectionalSequenceRNNOptionsT, UnidirectionalSequenceLSTMOptionsT, FloorModOptionsT, RangeOptionsT, ResizeNearestNeighborOptionsT, LeakyReluOptionsT, SquaredDifferenceOptionsT, MirrorPadOptionsT, AbsOptionsT, SplitVOptionsT, UniqueOptionsT, ReverseV2OptionsT, AddNOptionsT, GatherNdOptionsT, CosOptionsT, WhereOptionsT, RankOptionsT, ReverseSequenceOptionsT, MatrixDiagOptionsT, QuantizeOptionsT, MatrixSetDiagOptionsT, HardSwishOptionsT, IfOptionsT, WhileOptionsT, DepthToSpaceOptionsT, NonMaxSuppressionV4OptionsT, NonMaxSuppressionV5OptionsT, ScatterNdOptionsT, SelectV2OptionsT, DensifyOptionsT, SegmentSumOptionsT, BatchMatMulOptionsT, CumsumOptionsT, CallOnceOptionsT, BroadcastToOptionsT, Rfft2dOptionsT, Conv3DOptionsT, HashtableOptionsT, HashtableFindOptionsT, HashtableImportOptionsT, HashtableSizeOptionsT, VarHandleOptionsT, ReadVariableOptionsT, AssignVariableOptionsT, RandomOptionsT, BucketizeOptionsT, GeluOptionsT, DynamicUpdateSliceOptionsT, UnsortedSegmentProdOptionsT, UnsortedSegmentMaxOptionsT, UnsortedSegmentMinOptionsT, UnsortedSegmentSumOptionsT, ATan2OptionsT]
self.builtinOptions = None # type: Union[None, Conv2DOptionsT, DepthwiseConv2DOptionsT, ConcatEmbeddingsOptionsT, LSHProjectionOptionsT, Pool2DOptionsT, SVDFOptionsT, RNNOptionsT, FullyConnectedOptionsT, SoftmaxOptionsT, ConcatenationOptionsT, AddOptionsT, L2NormOptionsT, LocalResponseNormalizationOptionsT, LSTMOptionsT, ResizeBilinearOptionsT, CallOptionsT, ReshapeOptionsT, SkipGramOptionsT, SpaceToDepthOptionsT, EmbeddingLookupSparseOptionsT, MulOptionsT, PadOptionsT, GatherOptionsT, BatchToSpaceNDOptionsT, SpaceToBatchNDOptionsT, TransposeOptionsT, ReducerOptionsT, SubOptionsT, DivOptionsT, SqueezeOptionsT, SequenceRNNOptionsT, StridedSliceOptionsT, ExpOptionsT, TopKV2OptionsT, SplitOptionsT, LogSoftmaxOptionsT, CastOptionsT, DequantizeOptionsT, MaximumMinimumOptionsT, ArgMaxOptionsT, LessOptionsT, NegOptionsT, PadV2OptionsT, GreaterOptionsT, GreaterEqualOptionsT, LessEqualOptionsT, SelectOptionsT, SliceOptionsT, TransposeConvOptionsT, SparseToDenseOptionsT, TileOptionsT, ExpandDimsOptionsT, EqualOptionsT, NotEqualOptionsT, ShapeOptionsT, PowOptionsT, ArgMinOptionsT, FakeQuantOptionsT, PackOptionsT, LogicalOrOptionsT, OneHotOptionsT, LogicalAndOptionsT, LogicalNotOptionsT, UnpackOptionsT, FloorDivOptionsT, SquareOptionsT, ZerosLikeOptionsT, FillOptionsT, BidirectionalSequenceLSTMOptionsT, BidirectionalSequenceRNNOptionsT, UnidirectionalSequenceLSTMOptionsT, FloorModOptionsT, RangeOptionsT, ResizeNearestNeighborOptionsT, LeakyReluOptionsT, SquaredDifferenceOptionsT, MirrorPadOptionsT, AbsOptionsT, SplitVOptionsT, UniqueOptionsT, ReverseV2OptionsT, AddNOptionsT, GatherNdOptionsT, CosOptionsT, WhereOptionsT, RankOptionsT, ReverseSequenceOptionsT, MatrixDiagOptionsT, QuantizeOptionsT, MatrixSetDiagOptionsT, HardSwishOptionsT, IfOptionsT, WhileOptionsT, DepthToSpaceOptionsT, NonMaxSuppressionV4OptionsT, NonMaxSuppressionV5OptionsT, ScatterNdOptionsT, SelectV2OptionsT, DensifyOptionsT, SegmentSumOptionsT, BatchMatMulOptionsT, CumsumOptionsT, CallOnceOptionsT, BroadcastToOptionsT, Rfft2dOptionsT, Conv3DOptionsT, HashtableOptionsT, HashtableFindOptionsT, HashtableImportOptionsT, HashtableSizeOptionsT, VarHandleOptionsT, ReadVariableOptionsT, AssignVariableOptionsT, RandomOptionsT, BucketizeOptionsT, GeluOptionsT, DynamicUpdateSliceOptionsT, UnsortedSegmentProdOptionsT, UnsortedSegmentMaxOptionsT, UnsortedSegmentMinOptionsT, UnsortedSegmentSumOptionsT, ATan2OptionsT, SignOptionsT]
self.customOptions = None # type: List[int]
self.customOptionsFormat = 0 # type: int
self.mutatingVariableInputs = None # type: List[bool]
......@@ -8965,6 +8969,63 @@ class ShapeOptionsT(object):
from flatbuffers.compat import import_numpy
np = import_numpy()
class SignOptions(object):
__slots__ = ['_tab']
@classmethod
def GetRootAsSignOptions(cls, buf, offset):
n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
x = SignOptions()
x.Init(buf, n + offset)
return x
@classmethod
def SignOptionsBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x54\x46\x4C\x33", size_prefixed=size_prefixed)
# SignOptions
def Init(self, buf, pos):
self._tab = flatbuffers.table.Table(buf, pos)
def SignOptionsStart(builder): builder.StartObject(0)
def SignOptionsEnd(builder): return builder.EndObject()
class SignOptionsT(object):
# SignOptionsT
def __init__(self):
pass
@classmethod
def InitFromBuf(cls, buf, pos):
signOptions = SignOptions()
signOptions.Init(buf, pos)
return cls.InitFromObj(signOptions)
@classmethod
def InitFromObj(cls, signOptions):
x = SignOptionsT()
x._UnPack(signOptions)
return x
# SignOptionsT
def _UnPack(self, signOptions):
if signOptions is None:
return
# SignOptionsT
def Pack(self, builder):
SignOptionsStart(builder)
signOptions = SignOptionsEnd(builder)
return signOptions
# automatically generated by the FlatBuffers compiler, do not modify
# namespace: tflite
from flatbuffers.compat import import_numpy
np = import_numpy()
class SignatureDef(object):
__slots__ = ['_tab']
......
......@@ -396,6 +396,7 @@ enum BuiltinOperator : int32 {
UNSORTED_SEGMENT_SUM = 155,
ATAN2 = 156,
UNSORTED_SEGMENT_MIN = 157,
SIGN = 158
}
// LINT.ThenChange(nnapi_linter/linter.proto)
......@@ -522,7 +523,8 @@ union BuiltinOptions {
UnsortedSegmentMaxOptions,
UnsortedSegmentMinOptions,
UnsortedSegmentSumOptions,
ATan2Options
ATan2Options,
SignOptions
}
// LINT.IfChange
......@@ -1149,6 +1151,9 @@ table ATan2Options {
table UnsortedSegmentMinOptions{
}
table SignOptions {
}
// An OperatorCode can be an enum value (BuiltinOperator) if the operator is a
// builtin, or a string if the operator is custom.
......
......@@ -528,6 +528,10 @@ struct UnsortedSegmentMinOptions;
struct UnsortedSegmentMinOptionsBuilder;
struct UnsortedSegmentMinOptionsT;
struct SignOptions;
struct SignOptionsBuilder;
struct SignOptionsT;
struct OperatorCode;
struct OperatorCodeBuilder;
struct OperatorCodeT;
......@@ -1020,11 +1024,12 @@ enum BuiltinOperator {
BuiltinOperator_UNSORTED_SEGMENT_SUM = 155,
BuiltinOperator_ATAN2 = 156,
BuiltinOperator_UNSORTED_SEGMENT_MIN = 157,
BuiltinOperator_SIGN = 158,
BuiltinOperator_MIN = BuiltinOperator_ADD,
BuiltinOperator_MAX = BuiltinOperator_UNSORTED_SEGMENT_MIN
BuiltinOperator_MAX = BuiltinOperator_SIGN
};
inline const BuiltinOperator (&EnumValuesBuiltinOperator())[158] {
inline const BuiltinOperator (&EnumValuesBuiltinOperator())[159] {
static const BuiltinOperator values[] = {
BuiltinOperator_ADD,
BuiltinOperator_AVERAGE_POOL_2D,
......@@ -1183,13 +1188,14 @@ inline const BuiltinOperator (&EnumValuesBuiltinOperator())[158] {
BuiltinOperator_UNSORTED_SEGMENT_MAX,
BuiltinOperator_UNSORTED_SEGMENT_SUM,
BuiltinOperator_ATAN2,
BuiltinOperator_UNSORTED_SEGMENT_MIN
BuiltinOperator_UNSORTED_SEGMENT_MIN,
BuiltinOperator_SIGN
};
return values;
}
inline const char * const *EnumNamesBuiltinOperator() {
static const char * const names[159] = {
static const char * const names[160] = {
"ADD",
"AVERAGE_POOL_2D",
"CONCATENATION",
......@@ -1348,13 +1354,14 @@ inline const char * const *EnumNamesBuiltinOperator() {
"UNSORTED_SEGMENT_SUM",
"ATAN2",
"UNSORTED_SEGMENT_MIN",
"SIGN",
nullptr
};
return names;
}
inline const char *EnumNameBuiltinOperator(BuiltinOperator e) {
if (flatbuffers::IsOutRange(e, BuiltinOperator_ADD, BuiltinOperator_UNSORTED_SEGMENT_MIN)) return "";
if (flatbuffers::IsOutRange(e, BuiltinOperator_ADD, BuiltinOperator_SIGN)) return "";
const size_t index = static_cast<size_t>(e);
return EnumNamesBuiltinOperator()[index];
}
......@@ -1483,11 +1490,12 @@ enum BuiltinOptions {
BuiltinOptions_UnsortedSegmentMinOptions = 120,
BuiltinOptions_UnsortedSegmentSumOptions = 121,
BuiltinOptions_ATan2Options = 122,
BuiltinOptions_SignOptions = 123,
BuiltinOptions_MIN = BuiltinOptions_NONE,
BuiltinOptions_MAX = BuiltinOptions_ATan2Options
BuiltinOptions_MAX = BuiltinOptions_SignOptions
};
inline const BuiltinOptions (&EnumValuesBuiltinOptions())[123] {
inline const BuiltinOptions (&EnumValuesBuiltinOptions())[124] {
static const BuiltinOptions values[] = {
BuiltinOptions_NONE,
BuiltinOptions_Conv2DOptions,
......@@ -1611,13 +1619,14 @@ inline const BuiltinOptions (&EnumValuesBuiltinOptions())[123] {
BuiltinOptions_UnsortedSegmentMaxOptions,
BuiltinOptions_UnsortedSegmentMinOptions,
BuiltinOptions_UnsortedSegmentSumOptions,
BuiltinOptions_ATan2Options
BuiltinOptions_ATan2Options,
BuiltinOptions_SignOptions
};
return values;
}
inline const char * const *EnumNamesBuiltinOptions() {
static const char * const names[124] = {
static const char * const names[125] = {
"NONE",
"Conv2DOptions",
"DepthwiseConv2DOptions",
......@@ -1741,13 +1750,14 @@ inline const char * const *EnumNamesBuiltinOptions() {
"UnsortedSegmentMinOptions",
"UnsortedSegmentSumOptions",
"ATan2Options",
"SignOptions",
nullptr
};
return names;
}
inline const char *EnumNameBuiltinOptions(BuiltinOptions e) {
if (flatbuffers::IsOutRange(e, BuiltinOptions_NONE, BuiltinOptions_ATan2Options)) return "";
if (flatbuffers::IsOutRange(e, BuiltinOptions_NONE, BuiltinOptions_SignOptions)) return "";
const size_t index = static_cast<size_t>(e);
return EnumNamesBuiltinOptions()[index];
}
......@@ -2244,6 +2254,10 @@ template<> struct BuiltinOptionsTraits<tflite::ATan2Options> {
static const BuiltinOptions enum_value = BuiltinOptions_ATan2Options;
};
template<> struct BuiltinOptionsTraits<tflite::SignOptions> {
static const BuiltinOptions enum_value = BuiltinOptions_SignOptions;
};
struct BuiltinOptionsUnion {
BuiltinOptions type;
void *value;
......@@ -3252,6 +3266,14 @@ struct BuiltinOptionsUnion {
return type == BuiltinOptions_ATan2Options ?
reinterpret_cast<const tflite::ATan2OptionsT *>(value) : nullptr;
}
tflite::SignOptionsT *AsSignOptions() {
return type == BuiltinOptions_SignOptions ?
reinterpret_cast<tflite::SignOptionsT *>(value) : nullptr;
}
const tflite::SignOptionsT *AsSignOptions() const {
return type == BuiltinOptions_SignOptions ?
reinterpret_cast<const tflite::SignOptionsT *>(value) : nullptr;
}
};
bool VerifyBuiltinOptions(flatbuffers::Verifier &verifier, const void *obj, BuiltinOptions type);
......@@ -11365,6 +11387,48 @@ inline flatbuffers::Offset<UnsortedSegmentMinOptions> CreateUnsortedSegmentMinOp
flatbuffers::Offset<UnsortedSegmentMinOptions> CreateUnsortedSegmentMinOptions(flatbuffers::FlatBufferBuilder &_fbb, const UnsortedSegmentMinOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
struct SignOptionsT : public flatbuffers::NativeTable {
typedef SignOptions TableType;
SignOptionsT() {
}
};
struct SignOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef SignOptionsT NativeTableType;
typedef SignOptionsBuilder Builder;
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
verifier.EndTable();
}
SignOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
void UnPackTo(SignOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
static flatbuffers::Offset<SignOptions> Pack(flatbuffers::FlatBufferBuilder &_fbb, const SignOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
};
struct SignOptionsBuilder {
typedef SignOptions Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
explicit SignOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
SignOptionsBuilder &operator=(const SignOptionsBuilder &);
flatbuffers::Offset<SignOptions> Finish() {
const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset<SignOptions>(end);
return o;
}
};
inline flatbuffers::Offset<SignOptions> CreateSignOptions(
flatbuffers::FlatBufferBuilder &_fbb) {
SignOptionsBuilder builder_(_fbb);
return builder_.Finish();
}
flatbuffers::Offset<SignOptions> CreateSignOptions(flatbuffers::FlatBufferBuilder &_fbb, const SignOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
struct OperatorCodeT : public flatbuffers::NativeTable {
typedef OperatorCode TableType;
int8_t deprecated_builtin_code;
......@@ -11884,6 +11948,9 @@ struct Operator FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
const tflite::ATan2Options *builtin_options_as_ATan2Options() const {
return builtin_options_type() == tflite::BuiltinOptions_ATan2Options ? static_cast<const tflite::ATan2Options *>(builtin_options()) : nullptr;
}
const tflite::SignOptions *builtin_options_as_SignOptions() const {
return builtin_options_type() == tflite::BuiltinOptions_SignOptions ? static_cast<const tflite::SignOptions *>(builtin_options()) : nullptr;
}
const flatbuffers::Vector<uint8_t> *custom_options() const {
return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_CUSTOM_OPTIONS);
}
......@@ -12408,6 +12475,10 @@ template<> inline const tflite::ATan2Options *Operator::builtin_options_as<tflit
return builtin_options_as_ATan2Options();
}
template<> inline const tflite::SignOptions *Operator::builtin_options_as<tflite::SignOptions>() const {
return builtin_options_as_SignOptions();
}
struct OperatorBuilder {
typedef Operator Table;
flatbuffers::FlatBufferBuilder &fbb_;
......@@ -16648,6 +16719,29 @@ inline flatbuffers::Offset<UnsortedSegmentMinOptions> CreateUnsortedSegmentMinOp
_fbb);
}
inline SignOptionsT *SignOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
std::unique_ptr<tflite::SignOptionsT> _o = std::unique_ptr<tflite::SignOptionsT>(new SignOptionsT());
UnPackTo(_o.get(), _resolver);
return _o.release();
}
inline void SignOptions::UnPackTo(SignOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const {
(void)_o;
(void)_resolver;
}
inline flatbuffers::Offset<SignOptions> SignOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SignOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
return CreateSignOptions(_fbb, _o, _rehasher);
}
inline flatbuffers::Offset<SignOptions> CreateSignOptions(flatbuffers::FlatBufferBuilder &_fbb, const SignOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
(void)_rehasher;
(void)_o;
struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SignOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
return tflite::CreateSignOptions(
_fbb);
}
inline OperatorCodeT *OperatorCode::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
std::unique_ptr<tflite::OperatorCodeT> _o = std::unique_ptr<tflite::OperatorCodeT>(new OperatorCodeT());
UnPackTo(_o.get(), _resolver);
......@@ -17611,6 +17705,10 @@ inline bool VerifyBuiltinOptions(flatbuffers::Verifier &verifier, const void *ob
auto ptr = reinterpret_cast<const tflite::ATan2Options *>(obj);
return verifier.VerifyTable(ptr);
}
case BuiltinOptions_SignOptions: {
auto ptr = reinterpret_cast<const tflite::SignOptions *>(obj);
return verifier.VerifyTable(ptr);
}
default: return true;
}
}
......@@ -18117,6 +18215,10 @@ inline void *BuiltinOptionsUnion::UnPack(const void *obj, BuiltinOptions type, c
auto ptr = reinterpret_cast<const tflite::ATan2Options *>(obj);
return ptr->UnPack(resolver);
}
case BuiltinOptions_SignOptions: {
auto ptr = reinterpret_cast<const tflite::SignOptions *>(obj);
return ptr->UnPack(resolver);
}
default: return nullptr;
}
}
......@@ -18611,6 +18713,10 @@ inline flatbuffers::Offset<void> BuiltinOptionsUnion::Pack(flatbuffers::FlatBuff
auto ptr = reinterpret_cast<const tflite::ATan2OptionsT *>(value);
return CreateATan2Options(_fbb, ptr, _rehasher).Union();
}
case BuiltinOptions_SignOptions: {
auto ptr = reinterpret_cast<const tflite::SignOptionsT *>(value);
return CreateSignOptions(_fbb, ptr, _rehasher).Union();
}
default: return 0;
}
}
......@@ -19105,6 +19211,10 @@ inline BuiltinOptionsUnion::BuiltinOptionsUnion(const BuiltinOptionsUnion &u) :
value = new tflite::ATan2OptionsT(*reinterpret_cast<tflite::ATan2OptionsT *>(u.value));
break;
}
case BuiltinOptions_SignOptions: {
value = new tflite::SignOptionsT(*reinterpret_cast<tflite::SignOptionsT *>(u.value));
break;
}
default:
break;
}
......@@ -19722,6 +19832,11 @@ inline void BuiltinOptionsUnion::Reset() {
delete ptr;
break;
}
case BuiltinOptions_SignOptions: {
auto ptr = reinterpret_cast<tflite::SignOptionsT *>(value);
delete ptr;
break;
}
default: break;
}
value = nullptr;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册