diff options
author | A. Unique TensorFlower <gardener@tensorflow.org> | 2018-05-16 03:43:10 -0700 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2018-05-16 03:45:49 -0700 |
commit | 07bb8c1bbc93fe1162d247511c89c136273ddd07 (patch) | |
tree | efd25e3aa8244e565bad28686053799bb5a8f3ba /tensorflow/contrib/lite/schema | |
parent | 8cfbc0c54e71b221152af938d4c8c5b2dea0f07d (diff) |
Implementation of transpose_conv
PiperOrigin-RevId: 196806646
Diffstat (limited to 'tensorflow/contrib/lite/schema')
-rw-r--r-- | tensorflow/contrib/lite/schema/schema.fbs | 8 | ||||
-rwxr-xr-x | tensorflow/contrib/lite/schema/schema_generated.h | 171 |
2 files changed, 173 insertions, 6 deletions
diff --git a/tensorflow/contrib/lite/schema/schema.fbs b/tensorflow/contrib/lite/schema/schema.fbs index 481659d458..e5b640fcee 100644 --- a/tensorflow/contrib/lite/schema/schema.fbs +++ b/tensorflow/contrib/lite/schema/schema.fbs @@ -144,6 +144,7 @@ enum BuiltinOperator : byte { SELECT = 64, SLICE = 65, SIN = 66, + TRANSPOSE_CONV = 67, } // Options for the builtin operators. @@ -196,6 +197,7 @@ union BuiltinOptions { LessEqualOptions, SelectOptions, SliceOptions, + TransposeConvOptions, } enum Padding : byte { SAME, VALID } @@ -442,6 +444,12 @@ table SelectOptions { table SliceOptions { } +table TransposeConvOptions { + padding:Padding; + stride_w:int; + stride_h:int; +} + // An OperatorCode can be an enum value (BuiltinOperator) if the operator is a // builtin, or a string if the operator is custom. table OperatorCode { diff --git a/tensorflow/contrib/lite/schema/schema_generated.h b/tensorflow/contrib/lite/schema/schema_generated.h index 3f6bbf0566..35c34f53a6 100755 --- a/tensorflow/contrib/lite/schema/schema_generated.h +++ b/tensorflow/contrib/lite/schema/schema_generated.h @@ -175,6 +175,9 @@ struct SelectOptionsT; struct SliceOptions; struct SliceOptionsT; +struct TransposeConvOptions; +struct TransposeConvOptionsT; + struct OperatorCode; struct OperatorCodeT; @@ -301,11 +304,12 @@ enum BuiltinOperator { BuiltinOperator_SELECT = 64, BuiltinOperator_SLICE = 65, BuiltinOperator_SIN = 66, + BuiltinOperator_TRANSPOSE_CONV = 67, BuiltinOperator_MIN = BuiltinOperator_ADD, - BuiltinOperator_MAX = BuiltinOperator_SIN + BuiltinOperator_MAX = BuiltinOperator_TRANSPOSE_CONV }; -inline BuiltinOperator (&EnumValuesBuiltinOperator())[66] { +inline BuiltinOperator (&EnumValuesBuiltinOperator())[67] { static BuiltinOperator values[] = { BuiltinOperator_ADD, BuiltinOperator_AVERAGE_POOL_2D, @@ -372,7 +376,8 @@ inline BuiltinOperator (&EnumValuesBuiltinOperator())[66] { BuiltinOperator_LESS_EQUAL, BuiltinOperator_SELECT, BuiltinOperator_SLICE, - BuiltinOperator_SIN + BuiltinOperator_SIN, + BuiltinOperator_TRANSPOSE_CONV }; return values; } @@ -446,6 +451,7 @@ inline const char **EnumNamesBuiltinOperator() { "SELECT", "SLICE", "SIN", + "TRANSPOSE_CONV", nullptr }; return names; @@ -506,11 +512,12 @@ enum BuiltinOptions { BuiltinOptions_LessEqualOptions = 46, BuiltinOptions_SelectOptions = 47, BuiltinOptions_SliceOptions = 48, + BuiltinOptions_TransposeConvOptions = 49, BuiltinOptions_MIN = BuiltinOptions_NONE, - BuiltinOptions_MAX = BuiltinOptions_SliceOptions + BuiltinOptions_MAX = BuiltinOptions_TransposeConvOptions }; -inline BuiltinOptions (&EnumValuesBuiltinOptions())[49] { +inline BuiltinOptions (&EnumValuesBuiltinOptions())[50] { static BuiltinOptions values[] = { BuiltinOptions_NONE, BuiltinOptions_Conv2DOptions, @@ -560,7 +567,8 @@ inline BuiltinOptions (&EnumValuesBuiltinOptions())[49] { BuiltinOptions_GreaterEqualOptions, BuiltinOptions_LessEqualOptions, BuiltinOptions_SelectOptions, - BuiltinOptions_SliceOptions + BuiltinOptions_SliceOptions, + BuiltinOptions_TransposeConvOptions }; return values; } @@ -616,6 +624,7 @@ inline const char **EnumNamesBuiltinOptions() { "LessEqualOptions", "SelectOptions", "SliceOptions", + "TransposeConvOptions", nullptr }; return names; @@ -822,6 +831,10 @@ template<> struct BuiltinOptionsTraits<SliceOptions> { static const BuiltinOptions enum_value = BuiltinOptions_SliceOptions; }; +template<> struct BuiltinOptionsTraits<TransposeConvOptions> { + static const BuiltinOptions enum_value = BuiltinOptions_TransposeConvOptions; +}; + struct BuiltinOptionsUnion { BuiltinOptions type; void *value; @@ -1237,6 +1250,14 @@ struct BuiltinOptionsUnion { return type == BuiltinOptions_SliceOptions ? reinterpret_cast<const SliceOptionsT *>(value) : nullptr; } + TransposeConvOptionsT *AsTransposeConvOptions() { + return type == BuiltinOptions_TransposeConvOptions ? + reinterpret_cast<TransposeConvOptionsT *>(value) : nullptr; + } + const TransposeConvOptionsT *AsTransposeConvOptions() const { + return type == BuiltinOptions_TransposeConvOptions ? + reinterpret_cast<const TransposeConvOptionsT *>(value) : nullptr; + } }; bool VerifyBuiltinOptions(flatbuffers::Verifier &verifier, const void *obj, BuiltinOptions type); @@ -4444,6 +4465,84 @@ inline flatbuffers::Offset<SliceOptions> CreateSliceOptions( flatbuffers::Offset<SliceOptions> CreateSliceOptions(flatbuffers::FlatBufferBuilder &_fbb, const SliceOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +struct TransposeConvOptionsT : public flatbuffers::NativeTable { + typedef TransposeConvOptions TableType; + Padding padding; + int32_t stride_w; + int32_t stride_h; + TransposeConvOptionsT() + : padding(Padding_SAME), + stride_w(0), + stride_h(0) { + } +}; + +struct TransposeConvOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TransposeConvOptionsT NativeTableType; + enum { + VT_PADDING = 4, + VT_STRIDE_W = 6, + VT_STRIDE_H = 8 + }; + Padding padding() const { + return static_cast<Padding>(GetField<int8_t>(VT_PADDING, 0)); + } + int32_t stride_w() const { + return GetField<int32_t>(VT_STRIDE_W, 0); + } + int32_t stride_h() const { + return GetField<int32_t>(VT_STRIDE_H, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField<int8_t>(verifier, VT_PADDING) && + VerifyField<int32_t>(verifier, VT_STRIDE_W) && + VerifyField<int32_t>(verifier, VT_STRIDE_H) && + verifier.EndTable(); + } + TransposeConvOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(TransposeConvOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset<TransposeConvOptions> Pack(flatbuffers::FlatBufferBuilder &_fbb, const TransposeConvOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct TransposeConvOptionsBuilder { + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_padding(Padding padding) { + fbb_.AddElement<int8_t>(TransposeConvOptions::VT_PADDING, static_cast<int8_t>(padding), 0); + } + void add_stride_w(int32_t stride_w) { + fbb_.AddElement<int32_t>(TransposeConvOptions::VT_STRIDE_W, stride_w, 0); + } + void add_stride_h(int32_t stride_h) { + fbb_.AddElement<int32_t>(TransposeConvOptions::VT_STRIDE_H, stride_h, 0); + } + explicit TransposeConvOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + TransposeConvOptionsBuilder &operator=(const TransposeConvOptionsBuilder &); + flatbuffers::Offset<TransposeConvOptions> Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset<TransposeConvOptions>(end); + return o; + } +}; + +inline flatbuffers::Offset<TransposeConvOptions> CreateTransposeConvOptions( + flatbuffers::FlatBufferBuilder &_fbb, + Padding padding = Padding_SAME, + int32_t stride_w = 0, + int32_t stride_h = 0) { + TransposeConvOptionsBuilder builder_(_fbb); + builder_.add_stride_h(stride_h); + builder_.add_stride_w(stride_w); + builder_.add_padding(padding); + return builder_.Finish(); +} + +flatbuffers::Offset<TransposeConvOptions> CreateTransposeConvOptions(flatbuffers::FlatBufferBuilder &_fbb, const TransposeConvOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + struct OperatorCodeT : public flatbuffers::NativeTable { typedef OperatorCode TableType; BuiltinOperator builtin_code; @@ -4719,6 +4818,9 @@ struct Operator FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { const SliceOptions *builtin_options_as_SliceOptions() const { return builtin_options_type() == BuiltinOptions_SliceOptions ? static_cast<const SliceOptions *>(builtin_options()) : nullptr; } + const TransposeConvOptions *builtin_options_as_TransposeConvOptions() const { + return builtin_options_type() == BuiltinOptions_TransposeConvOptions ? static_cast<const TransposeConvOptions *>(builtin_options()) : nullptr; + } const flatbuffers::Vector<uint8_t> *custom_options() const { return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_CUSTOM_OPTIONS); } @@ -4937,6 +5039,10 @@ template<> inline const SliceOptions *Operator::builtin_options_as<SliceOptions> return builtin_options_as_SliceOptions(); } +template<> inline const TransposeConvOptions *Operator::builtin_options_as<TransposeConvOptions>() const { + return builtin_options_as_TransposeConvOptions(); +} + struct OperatorBuilder { flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; @@ -6724,6 +6830,38 @@ inline flatbuffers::Offset<SliceOptions> CreateSliceOptions(flatbuffers::FlatBuf _fbb); } +inline TransposeConvOptionsT *TransposeConvOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = new TransposeConvOptionsT(); + UnPackTo(_o, _resolver); + return _o; +} + +inline void TransposeConvOptions::UnPackTo(TransposeConvOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = padding(); _o->padding = _e; }; + { auto _e = stride_w(); _o->stride_w = _e; }; + { auto _e = stride_h(); _o->stride_h = _e; }; +} + +inline flatbuffers::Offset<TransposeConvOptions> TransposeConvOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TransposeConvOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateTransposeConvOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset<TransposeConvOptions> CreateTransposeConvOptions(flatbuffers::FlatBufferBuilder &_fbb, const TransposeConvOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TransposeConvOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _padding = _o->padding; + auto _stride_w = _o->stride_w; + auto _stride_h = _o->stride_h; + return tflite::CreateTransposeConvOptions( + _fbb, + _padding, + _stride_w, + _stride_h); +} + inline OperatorCodeT *OperatorCode::UnPack(const flatbuffers::resolver_function_t *_resolver) const { auto _o = new OperatorCodeT(); UnPackTo(_o, _resolver); @@ -7102,6 +7240,10 @@ inline bool VerifyBuiltinOptions(flatbuffers::Verifier &verifier, const void *ob auto ptr = reinterpret_cast<const SliceOptions *>(obj); return verifier.VerifyTable(ptr); } + case BuiltinOptions_TransposeConvOptions: { + auto ptr = reinterpret_cast<const TransposeConvOptions *>(obj); + return verifier.VerifyTable(ptr); + } default: return false; } } @@ -7312,6 +7454,10 @@ inline void *BuiltinOptionsUnion::UnPack(const void *obj, BuiltinOptions type, c auto ptr = reinterpret_cast<const SliceOptions *>(obj); return ptr->UnPack(resolver); } + case BuiltinOptions_TransposeConvOptions: { + auto ptr = reinterpret_cast<const TransposeConvOptions *>(obj); + return ptr->UnPack(resolver); + } default: return nullptr; } } @@ -7510,6 +7656,10 @@ inline flatbuffers::Offset<void> BuiltinOptionsUnion::Pack(flatbuffers::FlatBuff auto ptr = reinterpret_cast<const SliceOptionsT *>(value); return CreateSliceOptions(_fbb, ptr, _rehasher).Union(); } + case BuiltinOptions_TransposeConvOptions: { + auto ptr = reinterpret_cast<const TransposeConvOptionsT *>(value); + return CreateTransposeConvOptions(_fbb, ptr, _rehasher).Union(); + } default: return 0; } } @@ -7708,6 +7858,10 @@ inline BuiltinOptionsUnion::BuiltinOptionsUnion(const BuiltinOptionsUnion &u) FL value = new SliceOptionsT(*reinterpret_cast<SliceOptionsT *>(u.value)); break; } + case BuiltinOptions_TransposeConvOptions: { + value = new TransposeConvOptionsT(*reinterpret_cast<TransposeConvOptionsT *>(u.value)); + break; + } default: break; } @@ -7955,6 +8109,11 @@ inline void BuiltinOptionsUnion::Reset() { delete ptr; break; } + case BuiltinOptions_TransposeConvOptions: { + auto ptr = reinterpret_cast<TransposeConvOptionsT *>(value); + delete ptr; + break; + } default: break; } value = nullptr; |