diff options
author | A. Unique TensorFlower <gardener@tensorflow.org> | 2018-07-12 12:04:34 -0700 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2018-07-12 12:08:17 -0700 |
commit | 9ba6943a1dbbc415b72835517ad58808ca6a6a3d (patch) | |
tree | 8c40f84f8dcb6deb9799664a0c8068822c6897b9 /tensorflow/contrib/lite/schema | |
parent | c35bd2e9d3d9311bc7fb0f2463869faf1a8a7b50 (diff) |
Support narrow_range attr on FakeQuant nodes
PiperOrigin-RevId: 204339562
Diffstat (limited to 'tensorflow/contrib/lite/schema')
-rw-r--r-- | tensorflow/contrib/lite/schema/schema.fbs | 4 | ||||
-rwxr-xr-x | tensorflow/contrib/lite/schema/schema_generated.h | 23 |
2 files changed, 23 insertions, 4 deletions
diff --git a/tensorflow/contrib/lite/schema/schema.fbs b/tensorflow/contrib/lite/schema/schema.fbs index 17ea26052d..64830b1dc3 100644 --- a/tensorflow/contrib/lite/schema/schema.fbs +++ b/tensorflow/contrib/lite/schema/schema.fbs @@ -526,9 +526,13 @@ table PowOptions { } table FakeQuantOptions { + // Parameters supported by version 1: min:float; max:float; num_bits:int; + + // Parameters supported by version 2: + narrow_range:bool; } // An OperatorCode can be an enum value (BuiltinOperator) if the operator is a diff --git a/tensorflow/contrib/lite/schema/schema_generated.h b/tensorflow/contrib/lite/schema/schema_generated.h index 37489ebc68..c0b57039cb 100755 --- a/tensorflow/contrib/lite/schema/schema_generated.h +++ b/tensorflow/contrib/lite/schema/schema_generated.h @@ -5213,10 +5213,12 @@ struct FakeQuantOptionsT : public flatbuffers::NativeTable { float min; float max; int32_t num_bits; + bool narrow_range; FakeQuantOptionsT() : min(0.0f), max(0.0f), - num_bits(0) { + num_bits(0), + narrow_range(false) { } }; @@ -5225,7 +5227,8 @@ struct FakeQuantOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { enum { VT_MIN = 4, VT_MAX = 6, - VT_NUM_BITS = 8 + VT_NUM_BITS = 8, + VT_NARROW_RANGE = 10 }; float min() const { return GetField<float>(VT_MIN, 0.0f); @@ -5236,11 +5239,15 @@ struct FakeQuantOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { int32_t num_bits() const { return GetField<int32_t>(VT_NUM_BITS, 0); } + bool narrow_range() const { + return GetField<uint8_t>(VT_NARROW_RANGE, 0) != 0; + } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField<float>(verifier, VT_MIN) && VerifyField<float>(verifier, VT_MAX) && VerifyField<int32_t>(verifier, VT_NUM_BITS) && + VerifyField<uint8_t>(verifier, VT_NARROW_RANGE) && verifier.EndTable(); } FakeQuantOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; @@ -5260,6 +5267,9 @@ struct FakeQuantOptionsBuilder { void add_num_bits(int32_t num_bits) { fbb_.AddElement<int32_t>(FakeQuantOptions::VT_NUM_BITS, num_bits, 0); } + void add_narrow_range(bool narrow_range) { + fbb_.AddElement<uint8_t>(FakeQuantOptions::VT_NARROW_RANGE, static_cast<uint8_t>(narrow_range), 0); + } explicit FakeQuantOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); @@ -5276,11 +5286,13 @@ inline flatbuffers::Offset<FakeQuantOptions> CreateFakeQuantOptions( flatbuffers::FlatBufferBuilder &_fbb, float min = 0.0f, float max = 0.0f, - int32_t num_bits = 0) { + int32_t num_bits = 0, + bool narrow_range = false) { FakeQuantOptionsBuilder builder_(_fbb); builder_.add_num_bits(num_bits); builder_.add_max(max); builder_.add_min(min); + builder_.add_narrow_range(narrow_range); return builder_.Finish(); } @@ -7896,6 +7908,7 @@ inline void FakeQuantOptions::UnPackTo(FakeQuantOptionsT *_o, const flatbuffers: { auto _e = min(); _o->min = _e; }; { auto _e = max(); _o->max = _e; }; { auto _e = num_bits(); _o->num_bits = _e; }; + { auto _e = narrow_range(); _o->narrow_range = _e; }; } inline flatbuffers::Offset<FakeQuantOptions> FakeQuantOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const FakeQuantOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { @@ -7909,11 +7922,13 @@ inline flatbuffers::Offset<FakeQuantOptions> CreateFakeQuantOptions(flatbuffers: auto _min = _o->min; auto _max = _o->max; auto _num_bits = _o->num_bits; + auto _narrow_range = _o->narrow_range; return tflite::CreateFakeQuantOptions( _fbb, _min, _max, - _num_bits); + _num_bits, + _narrow_range); } inline OperatorCodeT *OperatorCode::UnPack(const flatbuffers::resolver_function_t *_resolver) const { |