@@ -6449,6 +6449,7 @@ struct UnidirectionalSequenceLSTMOptionsT : public flatbuffers::NativeTable {
6449
6449
float proj_clip = 0.0f;
6450
6450
bool time_major = false;
6451
6451
bool asymmetric_quantize_inputs = false;
6452
+ bool diagonal_recurrent_tensors = false;
6452
6453
};
6453
6454
6454
6455
struct UnidirectionalSequenceLSTMOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
@@ -6459,7 +6460,8 @@ struct UnidirectionalSequenceLSTMOptions FLATBUFFERS_FINAL_CLASS : private flatb
6459
6460
VT_CELL_CLIP = 6,
6460
6461
VT_PROJ_CLIP = 8,
6461
6462
VT_TIME_MAJOR = 10,
6462
- VT_ASYMMETRIC_QUANTIZE_INPUTS = 12
6463
+ VT_ASYMMETRIC_QUANTIZE_INPUTS = 12,
6464
+ VT_DIAGONAL_RECURRENT_TENSORS = 14
6463
6465
};
6464
6466
tflite::ActivationFunctionType fused_activation_function() const {
6465
6467
return static_cast<tflite::ActivationFunctionType>(GetField<int8_t>(VT_FUSED_ACTIVATION_FUNCTION, 0));
@@ -6476,13 +6478,17 @@ struct UnidirectionalSequenceLSTMOptions FLATBUFFERS_FINAL_CLASS : private flatb
6476
6478
bool asymmetric_quantize_inputs() const {
6477
6479
return GetField<uint8_t>(VT_ASYMMETRIC_QUANTIZE_INPUTS, 0) != 0;
6478
6480
}
6481
+ bool diagonal_recurrent_tensors() const {
6482
+ return GetField<uint8_t>(VT_DIAGONAL_RECURRENT_TENSORS, 0) != 0;
6483
+ }
6479
6484
bool Verify(flatbuffers::Verifier &verifier) const {
6480
6485
return VerifyTableStart(verifier) &&
6481
6486
VerifyField<int8_t>(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) &&
6482
6487
VerifyField<float>(verifier, VT_CELL_CLIP, 4) &&
6483
6488
VerifyField<float>(verifier, VT_PROJ_CLIP, 4) &&
6484
6489
VerifyField<uint8_t>(verifier, VT_TIME_MAJOR, 1) &&
6485
6490
VerifyField<uint8_t>(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS, 1) &&
6491
+ VerifyField<uint8_t>(verifier, VT_DIAGONAL_RECURRENT_TENSORS, 1) &&
6486
6492
verifier.EndTable();
6487
6493
}
6488
6494
UnidirectionalSequenceLSTMOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
@@ -6509,6 +6515,9 @@ struct UnidirectionalSequenceLSTMOptionsBuilder {
6509
6515
void add_asymmetric_quantize_inputs(bool asymmetric_quantize_inputs) {
6510
6516
fbb_.AddElement<uint8_t>(UnidirectionalSequenceLSTMOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast<uint8_t>(asymmetric_quantize_inputs), 0);
6511
6517
}
6518
+ void add_diagonal_recurrent_tensors(bool diagonal_recurrent_tensors) {
6519
+ fbb_.AddElement<uint8_t>(UnidirectionalSequenceLSTMOptions::VT_DIAGONAL_RECURRENT_TENSORS, static_cast<uint8_t>(diagonal_recurrent_tensors), 0);
6520
+ }
6512
6521
explicit UnidirectionalSequenceLSTMOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6513
6522
: fbb_(_fbb) {
6514
6523
start_ = fbb_.StartTable();
@@ -6526,10 +6535,12 @@ inline flatbuffers::Offset<UnidirectionalSequenceLSTMOptions> CreateUnidirection
6526
6535
float cell_clip = 0.0f,
6527
6536
float proj_clip = 0.0f,
6528
6537
bool time_major = false,
6529
- bool asymmetric_quantize_inputs = false) {
6538
+ bool asymmetric_quantize_inputs = false,
6539
+ bool diagonal_recurrent_tensors = false) {
6530
6540
UnidirectionalSequenceLSTMOptionsBuilder builder_(_fbb);
6531
6541
builder_.add_proj_clip(proj_clip);
6532
6542
builder_.add_cell_clip(cell_clip);
6543
+ builder_.add_diagonal_recurrent_tensors(diagonal_recurrent_tensors);
6533
6544
builder_.add_asymmetric_quantize_inputs(asymmetric_quantize_inputs);
6534
6545
builder_.add_time_major(time_major);
6535
6546
builder_.add_fused_activation_function(fused_activation_function);
@@ -14276,6 +14287,7 @@ inline void UnidirectionalSequenceLSTMOptions::UnPackTo(UnidirectionalSequenceLS
14276
14287
{ auto _e = proj_clip(); _o->proj_clip = _e; }
14277
14288
{ auto _e = time_major(); _o->time_major = _e; }
14278
14289
{ auto _e = asymmetric_quantize_inputs(); _o->asymmetric_quantize_inputs = _e; }
14290
+ { auto _e = diagonal_recurrent_tensors(); _o->diagonal_recurrent_tensors = _e; }
14279
14291
}
14280
14292
14281
14293
inline flatbuffers::Offset<UnidirectionalSequenceLSTMOptions> UnidirectionalSequenceLSTMOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnidirectionalSequenceLSTMOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
@@ -14291,13 +14303,15 @@ inline flatbuffers::Offset<UnidirectionalSequenceLSTMOptions> CreateUnidirection
14291
14303
auto _proj_clip = _o->proj_clip;
14292
14304
auto _time_major = _o->time_major;
14293
14305
auto _asymmetric_quantize_inputs = _o->asymmetric_quantize_inputs;
14306
+ auto _diagonal_recurrent_tensors = _o->diagonal_recurrent_tensors;
14294
14307
return tflite::CreateUnidirectionalSequenceLSTMOptions(
14295
14308
_fbb,
14296
14309
_fused_activation_function,
14297
14310
_cell_clip,
14298
14311
_proj_clip,
14299
14312
_time_major,
14300
- _asymmetric_quantize_inputs);
14313
+ _asymmetric_quantize_inputs,
14314
+ _diagonal_recurrent_tensors);
14301
14315
}
14302
14316
14303
14317
inline BidirectionalSequenceLSTMOptionsT *BidirectionalSequenceLSTMOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
0 commit comments