aboutsummaryrefslogtreecommitdiff
path: root/include/tosa_generated.h
diff options
context:
space:
mode:
authorEric Kunze <eric.kunze@arm.com>2022-06-07 05:17:37 +0000
committerEric Kunze <eric.kunze@arm.com>2022-06-15 08:30:47 -0700
commitbdcc3fee1b8bf55aac50e060115b92a1ccf9741c (patch)
tree05951f3fd1b9e42f859e999976715e6e673acb15 /include/tosa_generated.h
parenta336d54aca08b06953a8b6c49d7e5f6c4899952e (diff)
downloadserialization_lib-bdcc3fee1b8bf55aac50e060115b92a1ccf9741c.tar.gz
Remove quantinfo types
Any needed information has been moved into the attributes for each operator. This aligns with the structure of the attributes in the TOSA specification, and generally simplifies the code. Change-Id: I8243e91b09de1a9115f8af09c5e7def7e8f2866b Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Diffstat (limited to 'include/tosa_generated.h')
-rw-r--r--include/tosa_generated.h486
1 files changed, 207 insertions, 279 deletions
diff --git a/include/tosa_generated.h b/include/tosa_generated.h
index 58fe4a7..bd56e4e 100644
--- a/include/tosa_generated.h
+++ b/include/tosa_generated.h
@@ -59,17 +59,14 @@ struct TransposeAttributeBuilder;
struct TableAttribute;
struct TableAttributeBuilder;
-struct UnaryQuantInfo;
-struct UnaryQuantInfoBuilder;
+struct MatMulAttribute;
+struct MatMulAttributeBuilder;
-struct ConvQuantInfo;
-struct ConvQuantInfoBuilder;
+struct FullyConnectedAttribute;
+struct FullyConnectedAttributeBuilder;
-struct MatMulQuantInfo;
-struct MatMulQuantInfoBuilder;
-
-struct PadQuantInfo;
-struct PadQuantInfoBuilder;
+struct NegateAttribute;
+struct NegateAttributeBuilder;
struct Version;
struct VersionBuilder;
@@ -423,11 +420,14 @@ enum Attribute {
Attribute_WhileLoopAttribute = 15,
Attribute_TransposeAttribute = 16,
Attribute_TableAttribute = 17,
+ Attribute_MatMulAttribute = 18,
+ Attribute_FullyConnectedAttribute = 19,
+ Attribute_NegateAttribute = 20,
Attribute_MIN = Attribute_NONE,
- Attribute_MAX = Attribute_TableAttribute
+ Attribute_MAX = Attribute_NegateAttribute
};
-inline const Attribute (&EnumValuesAttribute())[18] {
+inline const Attribute (&EnumValuesAttribute())[21] {
static const Attribute values[] = {
Attribute_NONE,
Attribute_PoolAttribute,
@@ -446,13 +446,16 @@ inline const Attribute (&EnumValuesAttribute())[18] {
Attribute_CondIfAttribute,
Attribute_WhileLoopAttribute,
Attribute_TransposeAttribute,
- Attribute_TableAttribute
+ Attribute_TableAttribute,
+ Attribute_MatMulAttribute,
+ Attribute_FullyConnectedAttribute,
+ Attribute_NegateAttribute
};
return values;
}
inline const char * const *EnumNamesAttribute() {
- static const char * const names[19] = {
+ static const char * const names[22] = {
"NONE",
"PoolAttribute",
"ConvAttribute",
@@ -471,13 +474,16 @@ inline const char * const *EnumNamesAttribute() {
"WhileLoopAttribute",
"TransposeAttribute",
"TableAttribute",
+ "MatMulAttribute",
+ "FullyConnectedAttribute",
+ "NegateAttribute",
nullptr
};
return names;
}
inline const char *EnumNameAttribute(Attribute e) {
- if (flatbuffers::IsOutRange(e, Attribute_NONE, Attribute_TableAttribute)) return "";
+ if (flatbuffers::IsOutRange(e, Attribute_NONE, Attribute_NegateAttribute)) return "";
const size_t index = static_cast<size_t>(e);
return EnumNamesAttribute()[index];
}
@@ -554,77 +560,29 @@ template<> struct AttributeTraits<tosa::TableAttribute> {
static const Attribute enum_value = Attribute_TableAttribute;
};
-bool VerifyAttribute(flatbuffers::Verifier &verifier, const void *obj, Attribute type);
-bool VerifyAttributeVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types);
-
-enum QuantInfo {
- QuantInfo_NONE = 0,
- QuantInfo_UnaryQuantInfo = 1,
- QuantInfo_ConvQuantInfo = 2,
- QuantInfo_MatMulQuantInfo = 3,
- QuantInfo_PadQuantInfo = 4,
- QuantInfo_MIN = QuantInfo_NONE,
- QuantInfo_MAX = QuantInfo_PadQuantInfo
-};
-
-inline const QuantInfo (&EnumValuesQuantInfo())[5] {
- static const QuantInfo values[] = {
- QuantInfo_NONE,
- QuantInfo_UnaryQuantInfo,
- QuantInfo_ConvQuantInfo,
- QuantInfo_MatMulQuantInfo,
- QuantInfo_PadQuantInfo
- };
- return values;
-}
-
-inline const char * const *EnumNamesQuantInfo() {
- static const char * const names[6] = {
- "NONE",
- "UnaryQuantInfo",
- "ConvQuantInfo",
- "MatMulQuantInfo",
- "PadQuantInfo",
- nullptr
- };
- return names;
-}
-
-inline const char *EnumNameQuantInfo(QuantInfo e) {
- if (flatbuffers::IsOutRange(e, QuantInfo_NONE, QuantInfo_PadQuantInfo)) return "";
- const size_t index = static_cast<size_t>(e);
- return EnumNamesQuantInfo()[index];
-}
-
-template<typename T> struct QuantInfoTraits {
- static const QuantInfo enum_value = QuantInfo_NONE;
-};
-
-template<> struct QuantInfoTraits<tosa::UnaryQuantInfo> {
- static const QuantInfo enum_value = QuantInfo_UnaryQuantInfo;
+template<> struct AttributeTraits<tosa::MatMulAttribute> {
+ static const Attribute enum_value = Attribute_MatMulAttribute;
};
-template<> struct QuantInfoTraits<tosa::ConvQuantInfo> {
- static const QuantInfo enum_value = QuantInfo_ConvQuantInfo;
+template<> struct AttributeTraits<tosa::FullyConnectedAttribute> {
+ static const Attribute enum_value = Attribute_FullyConnectedAttribute;
};
-template<> struct QuantInfoTraits<tosa::MatMulQuantInfo> {
- static const QuantInfo enum_value = QuantInfo_MatMulQuantInfo;
+template<> struct AttributeTraits<tosa::NegateAttribute> {
+ static const Attribute enum_value = Attribute_NegateAttribute;
};
-template<> struct QuantInfoTraits<tosa::PadQuantInfo> {
- static const QuantInfo enum_value = QuantInfo_PadQuantInfo;
-};
-
-bool VerifyQuantInfo(flatbuffers::Verifier &verifier, const void *obj, QuantInfo type);
-bool VerifyQuantInfoVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types);
+bool VerifyAttribute(flatbuffers::Verifier &verifier, const void *obj, Attribute type);
+bool VerifyAttributeVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types);
struct PoolAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef PoolAttributeBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_PAD = 4,
VT_KERNEL = 6,
- VT_STRIDE = 8
+ VT_STRIDE = 8,
+ VT_INPUT_ZP = 10,
+ VT_OUTPUT_ZP = 12
};
const flatbuffers::Vector<int32_t> *pad() const {
return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_PAD);
@@ -635,6 +593,12 @@ struct PoolAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
const flatbuffers::Vector<int32_t> *stride() const {
return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_STRIDE);
}
+ int32_t input_zp() const {
+ return GetField<int32_t>(VT_INPUT_ZP, 0);
+ }
+ int32_t output_zp() const {
+ return GetField<int32_t>(VT_OUTPUT_ZP, 0);
+ }
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyOffset(verifier, VT_PAD) &&
@@ -643,6 +607,8 @@ struct PoolAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
verifier.VerifyVector(kernel()) &&
VerifyOffset(verifier, VT_STRIDE) &&
verifier.VerifyVector(stride()) &&
+ VerifyField<int32_t>(verifier, VT_INPUT_ZP) &&
+ VerifyField<int32_t>(verifier, VT_OUTPUT_ZP) &&
verifier.EndTable();
}
};
@@ -660,6 +626,12 @@ struct PoolAttributeBuilder {
void add_stride(flatbuffers::Offset<flatbuffers::Vector<int32_t>> stride) {
fbb_.AddOffset(PoolAttribute::VT_STRIDE, stride);
}
+ void add_input_zp(int32_t input_zp) {
+ fbb_.AddElement<int32_t>(PoolAttribute::VT_INPUT_ZP, input_zp, 0);
+ }
+ void add_output_zp(int32_t output_zp) {
+ fbb_.AddElement<int32_t>(PoolAttribute::VT_OUTPUT_ZP, output_zp, 0);
+ }
explicit PoolAttributeBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
@@ -676,8 +648,12 @@ inline flatbuffers::Offset<PoolAttribute> CreatePoolAttribute(
flatbuffers::FlatBufferBuilder &_fbb,
flatbuffers::Offset<flatbuffers::Vector<int32_t>> pad = 0,
flatbuffers::Offset<flatbuffers::Vector<int32_t>> kernel = 0,
- flatbuffers::Offset<flatbuffers::Vector<int32_t>> stride = 0) {
+ flatbuffers::Offset<flatbuffers::Vector<int32_t>> stride = 0,
+ int32_t input_zp = 0,
+ int32_t output_zp = 0) {
PoolAttributeBuilder builder_(_fbb);
+ builder_.add_output_zp(output_zp);
+ builder_.add_input_zp(input_zp);
builder_.add_stride(stride);
builder_.add_kernel(kernel);
builder_.add_pad(pad);
@@ -688,7 +664,9 @@ inline flatbuffers::Offset<PoolAttribute> CreatePoolAttributeDirect(
flatbuffers::FlatBufferBuilder &_fbb,
const std::vector<int32_t> *pad = nullptr,
const std::vector<int32_t> *kernel = nullptr,
- const std::vector<int32_t> *stride = nullptr) {
+ const std::vector<int32_t> *stride = nullptr,
+ int32_t input_zp = 0,
+ int32_t output_zp = 0) {
auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
auto kernel__ = kernel ? _fbb.CreateVector<int32_t>(*kernel) : 0;
auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
@@ -696,7 +674,9 @@ inline flatbuffers::Offset<PoolAttribute> CreatePoolAttributeDirect(
_fbb,
pad__,
kernel__,
- stride__);
+ stride__,
+ input_zp,
+ output_zp);
}
struct ConvAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
@@ -704,7 +684,9 @@ struct ConvAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_PAD = 4,
VT_STRIDE = 6,
- VT_DILATION = 8
+ VT_DILATION = 8,
+ VT_INPUT_ZP = 10,
+ VT_WEIGHT_ZP = 12
};
const flatbuffers::Vector<int32_t> *pad() const {
return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_PAD);
@@ -715,6 +697,12 @@ struct ConvAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
const flatbuffers::Vector<int32_t> *dilation() const {
return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_DILATION);
}
+ int32_t input_zp() const {
+ return GetField<int32_t>(VT_INPUT_ZP, 0);
+ }
+ int32_t weight_zp() const {
+ return GetField<int32_t>(VT_WEIGHT_ZP, 0);
+ }
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyOffset(verifier, VT_PAD) &&
@@ -723,6 +711,8 @@ struct ConvAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
verifier.VerifyVector(stride()) &&
VerifyOffset(verifier, VT_DILATION) &&
verifier.VerifyVector(dilation()) &&
+ VerifyField<int32_t>(verifier, VT_INPUT_ZP) &&
+ VerifyField<int32_t>(verifier, VT_WEIGHT_ZP) &&
verifier.EndTable();
}
};
@@ -740,6 +730,12 @@ struct ConvAttributeBuilder {
void add_dilation(flatbuffers::Offset<flatbuffers::Vector<int32_t>> dilation) {
fbb_.AddOffset(ConvAttribute::VT_DILATION, dilation);
}
+ void add_input_zp(int32_t input_zp) {
+ fbb_.AddElement<int32_t>(ConvAttribute::VT_INPUT_ZP, input_zp, 0);
+ }
+ void add_weight_zp(int32_t weight_zp) {
+ fbb_.AddElement<int32_t>(ConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
+ }
explicit ConvAttributeBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
@@ -756,8 +752,12 @@ inline flatbuffers::Offset<ConvAttribute> CreateConvAttribute(
flatbuffers::FlatBufferBuilder &_fbb,
flatbuffers::Offset<flatbuffers::Vector<int32_t>> pad = 0,
flatbuffers::Offset<flatbuffers::Vector<int32_t>> stride = 0,
- flatbuffers::Offset<flatbuffers::Vector<int32_t>> dilation = 0) {
+ flatbuffers::Offset<flatbuffers::Vector<int32_t>> dilation = 0,
+ int32_t input_zp = 0,
+ int32_t weight_zp = 0) {
ConvAttributeBuilder builder_(_fbb);
+ builder_.add_weight_zp(weight_zp);
+ builder_.add_input_zp(input_zp);
builder_.add_dilation(dilation);
builder_.add_stride(stride);
builder_.add_pad(pad);
@@ -768,7 +768,9 @@ inline flatbuffers::Offset<ConvAttribute> CreateConvAttributeDirect(
flatbuffers::FlatBufferBuilder &_fbb,
const std::vector<int32_t> *pad = nullptr,
const std::vector<int32_t> *stride = nullptr,
- const std::vector<int32_t> *dilation = nullptr) {
+ const std::vector<int32_t> *dilation = nullptr,
+ int32_t input_zp = 0,
+ int32_t weight_zp = 0) {
auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
auto dilation__ = dilation ? _fbb.CreateVector<int32_t>(*dilation) : 0;
@@ -776,7 +778,9 @@ inline flatbuffers::Offset<ConvAttribute> CreateConvAttributeDirect(
_fbb,
pad__,
stride__,
- dilation__);
+ dilation__,
+ input_zp,
+ weight_zp);
}
struct TransposeConvAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
@@ -784,7 +788,9 @@ struct TransposeConvAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tab
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_OUT_PAD = 4,
VT_STRIDE = 6,
- VT_OUTPUT_SHAPE = 8
+ VT_OUTPUT_SHAPE = 8,
+ VT_INPUT_ZP = 10,
+ VT_WEIGHT_ZP = 12
};
const flatbuffers::Vector<int32_t> *out_pad() const {
return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_OUT_PAD);
@@ -795,6 +801,12 @@ struct TransposeConvAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tab
const flatbuffers::Vector<int32_t> *output_shape() const {
return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_OUTPUT_SHAPE);
}
+ int32_t input_zp() const {
+ return GetField<int32_t>(VT_INPUT_ZP, 0);
+ }
+ int32_t weight_zp() const {
+ return GetField<int32_t>(VT_WEIGHT_ZP, 0);
+ }
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyOffset(verifier, VT_OUT_PAD) &&
@@ -803,6 +815,8 @@ struct TransposeConvAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tab
verifier.VerifyVector(stride()) &&
VerifyOffset(verifier, VT_OUTPUT_SHAPE) &&
verifier.VerifyVector(output_shape()) &&
+ VerifyField<int32_t>(verifier, VT_INPUT_ZP) &&
+ VerifyField<int32_t>(verifier, VT_WEIGHT_ZP) &&
verifier.EndTable();
}
};
@@ -820,6 +834,12 @@ struct TransposeConvAttributeBuilder {
void add_output_shape(flatbuffers::Offset<flatbuffers::Vector<int32_t>> output_shape) {
fbb_.AddOffset(TransposeConvAttribute::VT_OUTPUT_SHAPE, output_shape);
}
+ void add_input_zp(int32_t input_zp) {
+ fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_INPUT_ZP, input_zp, 0);
+ }
+ void add_weight_zp(int32_t weight_zp) {
+ fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
+ }
explicit TransposeConvAttributeBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
@@ -836,8 +856,12 @@ inline flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttribute(
flatbuffers::FlatBufferBuilder &_fbb,
flatbuffers::Offset<flatbuffers::Vector<int32_t>> out_pad = 0,
flatbuffers::Offset<flatbuffers::Vector<int32_t>> stride = 0,
- flatbuffers::Offset<flatbuffers::Vector<int32_t>> output_shape = 0) {
+ flatbuffers::Offset<flatbuffers::Vector<int32_t>> output_shape = 0,
+ int32_t input_zp = 0,
+ int32_t weight_zp = 0) {
TransposeConvAttributeBuilder builder_(_fbb);
+ builder_.add_weight_zp(weight_zp);
+ builder_.add_input_zp(input_zp);
builder_.add_output_shape(output_shape);
builder_.add_stride(stride);
builder_.add_out_pad(out_pad);
@@ -848,7 +872,9 @@ inline flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttributeD
flatbuffers::FlatBufferBuilder &_fbb,
const std::vector<int32_t> *out_pad = nullptr,
const std::vector<int32_t> *stride = nullptr,
- const std::vector<int32_t> *output_shape = nullptr) {
+ const std::vector<int32_t> *output_shape = nullptr,
+ int32_t input_zp = 0,
+ int32_t weight_zp = 0) {
auto out_pad__ = out_pad ? _fbb.CreateVector<int32_t>(*out_pad) : 0;
auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
auto output_shape__ = output_shape ? _fbb.CreateVector<int32_t>(*output_shape) : 0;
@@ -856,7 +882,9 @@ inline flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttributeD
_fbb,
out_pad__,
stride__,
- output_shape__);
+ output_shape__,
+ input_zp,
+ weight_zp);
}
struct PadAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
@@ -1797,60 +1825,60 @@ inline flatbuffers::Offset<TableAttribute> CreateTableAttributeDirect(
table__);
}
-struct UnaryQuantInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
- typedef UnaryQuantInfoBuilder Builder;
+struct MatMulAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
+ typedef MatMulAttributeBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
- VT_INPUT_ZP = 4,
- VT_OUTPUT_ZP = 6
+ VT_A_ZP = 4,
+ VT_B_ZP = 6
};
- int32_t input_zp() const {
- return GetField<int32_t>(VT_INPUT_ZP, 0);
+ int32_t a_zp() const {
+ return GetField<int32_t>(VT_A_ZP, 0);
}
- int32_t output_zp() const {
- return GetField<int32_t>(VT_OUTPUT_ZP, 0);
+ int32_t b_zp() const {
+ return GetField<int32_t>(VT_B_ZP, 0);
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
- VerifyField<int32_t>(verifier, VT_INPUT_ZP) &&
- VerifyField<int32_t>(verifier, VT_OUTPUT_ZP) &&
+ VerifyField<int32_t>(verifier, VT_A_ZP) &&
+ VerifyField<int32_t>(verifier, VT_B_ZP) &&
verifier.EndTable();
}
};
-struct UnaryQuantInfoBuilder {
- typedef UnaryQuantInfo Table;
+struct MatMulAttributeBuilder {
+ typedef MatMulAttribute Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
- void add_input_zp(int32_t input_zp) {
- fbb_.AddElement<int32_t>(UnaryQuantInfo::VT_INPUT_ZP, input_zp, 0);
+ void add_a_zp(int32_t a_zp) {
+ fbb_.AddElement<int32_t>(MatMulAttribute::VT_A_ZP, a_zp, 0);
}
- void add_output_zp(int32_t output_zp) {
- fbb_.AddElement<int32_t>(UnaryQuantInfo::VT_OUTPUT_ZP, output_zp, 0);
+ void add_b_zp(int32_t b_zp) {
+ fbb_.AddElement<int32_t>(MatMulAttribute::VT_B_ZP, b_zp, 0);
}
- explicit UnaryQuantInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb)
+ explicit MatMulAttributeBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
- UnaryQuantInfoBuilder &operator=(const UnaryQuantInfoBuilder &);
- flatbuffers::Offset<UnaryQuantInfo> Finish() {
+ MatMulAttributeBuilder &operator=(const MatMulAttributeBuilder &);
+ flatbuffers::Offset<MatMulAttribute> Finish() {
const auto end = fbb_.EndTable(start_);
- auto o = flatbuffers::Offset<UnaryQuantInfo>(end);
+ auto o = flatbuffers::Offset<MatMulAttribute>(end);
return o;
}
};
-inline flatbuffers::Offset<UnaryQuantInfo> CreateUnaryQuantInfo(
+inline flatbuffers::Offset<MatMulAttribute> CreateMatMulAttribute(
flatbuffers::FlatBufferBuilder &_fbb,
- int32_t input_zp = 0,
- int32_t output_zp = 0) {
- UnaryQuantInfoBuilder builder_(_fbb);
- builder_.add_output_zp(output_zp);
- builder_.add_input_zp(input_zp);
+ int32_t a_zp = 0,
+ int32_t b_zp = 0) {
+ MatMulAttributeBuilder builder_(_fbb);
+ builder_.add_b_zp(b_zp);
+ builder_.add_a_zp(a_zp);
return builder_.Finish();
}
-struct ConvQuantInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
- typedef ConvQuantInfoBuilder Builder;
+struct FullyConnectedAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
+ typedef FullyConnectedAttributeBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_INPUT_ZP = 4,
VT_WEIGHT_ZP = 6
@@ -1869,129 +1897,87 @@ struct ConvQuantInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
}
};
-struct ConvQuantInfoBuilder {
- typedef ConvQuantInfo Table;
+struct FullyConnectedAttributeBuilder {
+ typedef FullyConnectedAttribute Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_input_zp(int32_t input_zp) {
- fbb_.AddElement<int32_t>(ConvQuantInfo::VT_INPUT_ZP, input_zp, 0);
+ fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_INPUT_ZP, input_zp, 0);
}
void add_weight_zp(int32_t weight_zp) {
- fbb_.AddElement<int32_t>(ConvQuantInfo::VT_WEIGHT_ZP, weight_zp, 0);
+ fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_WEIGHT_ZP, weight_zp, 0);
}
- explicit ConvQuantInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb)
+ explicit FullyConnectedAttributeBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
- ConvQuantInfoBuilder &operator=(const ConvQuantInfoBuilder &);
- flatbuffers::Offset<ConvQuantInfo> Finish() {
+ FullyConnectedAttributeBuilder &operator=(const FullyConnectedAttributeBuilder &);
+ flatbuffers::Offset<FullyConnectedAttribute> Finish() {
const auto end = fbb_.EndTable(start_);
- auto o = flatbuffers::Offset<ConvQuantInfo>(end);
+ auto o = flatbuffers::Offset<FullyConnectedAttribute>(end);
return o;
}
};
-inline flatbuffers::Offset<ConvQuantInfo> CreateConvQuantInfo(
+inline flatbuffers::Offset<FullyConnectedAttribute> CreateFullyConnectedAttribute(
flatbuffers::FlatBufferBuilder &_fbb,
int32_t input_zp = 0,
int32_t weight_zp = 0) {
- ConvQuantInfoBuilder builder_(_fbb);
+ FullyConnectedAttributeBuilder builder_(_fbb);
builder_.add_weight_zp(weight_zp);
builder_.add_input_zp(input_zp);
return builder_.Finish();
}
-struct MatMulQuantInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
- typedef MatMulQuantInfoBuilder Builder;
+struct NegateAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
+ typedef NegateAttributeBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
- VT_A_ZP = 4,
- VT_B_ZP = 6
+ VT_INPUT1_ZP = 4,
+ VT_OUTPUT_ZP = 6
};
- int32_t a_zp() const {
- return GetField<int32_t>(VT_A_ZP, 0);
+ int32_t input1_zp() const {
+ return GetField<int32_t>(VT_INPUT1_ZP, 0);
}
- int32_t b_zp() const {
- return GetField<int32_t>(VT_B_ZP, 0);
+ int32_t output_zp() const {
+ return GetField<int32_t>(VT_OUTPUT_ZP, 0);
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
- VerifyField<int32_t>(verifier, VT_A_ZP) &&
- VerifyField<int32_t>(verifier, VT_B_ZP) &&
+ VerifyField<int32_t>(verifier, VT_INPUT1_ZP) &&
+ VerifyField<int32_t>(verifier, VT_OUTPUT_ZP) &&
verifier.EndTable();
}
};
-struct MatMulQuantInfoBuilder {
- typedef MatMulQuantInfo Table;
+struct NegateAttributeBuilder {
+ typedef NegateAttribute Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
- void add_a_zp(int32_t a_zp) {
- fbb_.AddElement<int32_t>(MatMulQuantInfo::VT_A_ZP, a_zp, 0);
- }
- void add_b_zp(int32_t b_zp) {
- fbb_.AddElement<int32_t>(MatMulQuantInfo::VT_B_ZP, b_zp, 0);
- }
- explicit MatMulQuantInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb)
- : fbb_(_fbb) {
- start_ = fbb_.StartTable();
- }
- MatMulQuantInfoBuilder &operator=(const MatMulQuantInfoBuilder &);
- flatbuffers::Offset<MatMulQuantInfo> Finish() {
- const auto end = fbb_.EndTable(start_);
- auto o = flatbuffers::Offset<MatMulQuantInfo>(end);
- return o;
- }
-};
-
-inline flatbuffers::Offset<MatMulQuantInfo> CreateMatMulQuantInfo(
- flatbuffers::FlatBufferBuilder &_fbb,
- int32_t a_zp = 0,
- int32_t b_zp = 0) {
- MatMulQuantInfoBuilder builder_(_fbb);
- builder_.add_b_zp(b_zp);
- builder_.add_a_zp(a_zp);
- return builder_.Finish();
-}
-
-struct PadQuantInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
- typedef PadQuantInfoBuilder Builder;
- enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
- VT_INPUT_ZP = 4
- };
- int32_t input_zp() const {
- return GetField<int32_t>(VT_INPUT_ZP, 0);
- }
- bool Verify(flatbuffers::Verifier &verifier) const {
- return VerifyTableStart(verifier) &&
- VerifyField<int32_t>(verifier, VT_INPUT_ZP) &&
- verifier.EndTable();
+ void add_input1_zp(int32_t input1_zp) {
+ fbb_.AddElement<int32_t>(NegateAttribute::VT_INPUT1_ZP, input1_zp, 0);
}
-};
-
-struct PadQuantInfoBuilder {
- typedef PadQuantInfo Table;
- flatbuffers::FlatBufferBuilder &fbb_;
- flatbuffers::uoffset_t start_;
- void add_input_zp(int32_t input_zp) {
- fbb_.AddElement<int32_t>(PadQuantInfo::VT_INPUT_ZP, input_zp, 0);
+ void add_output_zp(int32_t output_zp) {
+ fbb_.AddElement<int32_t>(NegateAttribute::VT_OUTPUT_ZP, output_zp, 0);
}
- explicit PadQuantInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb)
+ explicit NegateAttributeBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
- PadQuantInfoBuilder &operator=(const PadQuantInfoBuilder &);
- flatbuffers::Offset<PadQuantInfo> Finish() {
+ NegateAttributeBuilder &operator=(const NegateAttributeBuilder &);
+ flatbuffers::Offset<NegateAttribute> Finish() {
const auto end = fbb_.EndTable(start_);
- auto o = flatbuffers::Offset<PadQuantInfo>(end);
+ auto o = flatbuffers::Offset<NegateAttribute>(end);
return o;
}
};
-inline flatbuffers::Offset<PadQuantInfo> CreatePadQuantInfo(
+inline flatbuffers::Offset<NegateAttribute> CreateNegateAttribute(
flatbuffers::FlatBufferBuilder &_fbb,
- int32_t input_zp = 0) {
- PadQuantInfoBuilder builder_(_fbb);
- builder_.add_input_zp(input_zp);
+ int32_t input1_zp = 0,
+ int32_t output_zp = 0) {
+ NegateAttributeBuilder builder_(_fbb);
+ builder_.add_output_zp(output_zp);
+ builder_.add_input1_zp(input1_zp);
return builder_.Finish();
}
@@ -2007,7 +1993,7 @@ struct Version FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
return GetField<int32_t>(VT__MAJOR, 0);
}
int32_t _minor() const {
- return GetField<int32_t>(VT__MINOR, 25);
+ return GetField<int32_t>(VT__MINOR, 30);
}
int32_t _patch() const {
return GetField<int32_t>(VT__PATCH, 0);
@@ -2033,7 +2019,7 @@ struct VersionBuilder {
fbb_.AddElement<int32_t>(Version::VT__MAJOR, _major, 0);
}
void add__minor(int32_t _minor) {
- fbb_.AddElement<int32_t>(Version::VT__MINOR, _minor, 25);
+ fbb_.AddElement<int32_t>(Version::VT__MINOR, _minor, 30);
}
void add__patch(int32_t _patch) {
fbb_.AddElement<int32_t>(Version::VT__PATCH, _patch, 0);
@@ -2056,7 +2042,7 @@ struct VersionBuilder {
inline flatbuffers::Offset<Version> CreateVersion(
flatbuffers::FlatBufferBuilder &_fbb,
int32_t _major = 0,
- int32_t _minor = 25,
+ int32_t _minor = 30,
int32_t _patch = 0,
bool _draft = true) {
VersionBuilder builder_(_fbb);
@@ -2167,9 +2153,7 @@ struct TosaOperator FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
VT_ATTRIBUTE_TYPE = 6,
VT_ATTRIBUTE = 8,
VT_INPUTS = 10,
- VT_OUTPUTS = 12,
- VT_QUANT_INFO_TYPE = 14,
- VT_QUANT_INFO = 16
+ VT_OUTPUTS = 12
};
tosa::Op op() const {
return static_cast<tosa::Op>(GetField<uint32_t>(VT_OP, 0));
@@ -2232,31 +2216,21 @@ struct TosaOperator FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
const tosa::TableAttribute *attribute_as_TableAttribute() const {
return attribute_type() == tosa::Attribute_TableAttribute ? static_cast<const tosa::TableAttribute *>(attribute()) : nullptr;
}
+ const tosa::MatMulAttribute *attribute_as_MatMulAttribute() const {
+ return attribute_type() == tosa::Attribute_MatMulAttribute ? static_cast<const tosa::MatMulAttribute *>(attribute()) : nullptr;
+ }
+ const tosa::FullyConnectedAttribute *attribute_as_FullyConnectedAttribute() const {
+ return attribute_type() == tosa::Attribute_FullyConnectedAttribute ? static_cast<const tosa::FullyConnectedAttribute *>(attribute()) : nullptr;
+ }
+ const tosa::NegateAttribute *attribute_as_NegateAttribute() const {
+ return attribute_type() == tosa::Attribute_NegateAttribute ? static_cast<const tosa::NegateAttribute *>(attribute()) : nullptr;
+ }
const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *inputs() const {
return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_INPUTS);
}
const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *outputs() const {
return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_OUTPUTS);
}
- tosa::QuantInfo quant_info_type() const {
- return static_cast<tosa::QuantInfo>(GetField<uint8_t>(VT_QUANT_INFO_TYPE, 0));
- }
- const void *quant_info() const {
- return GetPointer<const void *>(VT_QUANT_INFO);
- }
- template<typename T> const T *quant_info_as() const;
- const tosa::UnaryQuantInfo *quant_info_as_UnaryQuantInfo() const {
- return quant_info_type() == tosa::QuantInfo_UnaryQuantInfo ? static_cast<const tosa::UnaryQuantInfo *>(quant_info()) : nullptr;
- }
- const tosa::ConvQuantInfo *quant_info_as_ConvQuantInfo() const {
- return quant_info_type() == tosa::QuantInfo_ConvQuantInfo ? static_cast<const tosa::ConvQuantInfo *>(quant_info()) : nullptr;
- }
- const tosa::MatMulQuantInfo *quant_info_as_MatMulQuantInfo() const {
- return quant_info_type() == tosa::QuantInfo_MatMulQuantInfo ? static_cast<const tosa::MatMulQuantInfo *>(quant_info()) : nullptr;
- }
- const tosa::PadQuantInfo *quant_info_as_PadQuantInfo() const {
- return quant_info_type() == tosa::QuantInfo_PadQuantInfo ? static_cast<const tosa::PadQuantInfo *>(quant_info()) : nullptr;
- }
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyField<uint32_t>(verifier, VT_OP) &&
@@ -2269,9 +2243,6 @@ struct TosaOperator FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
VerifyOffset(verifier, VT_OUTPUTS) &&
verifier.VerifyVector(outputs()) &&
verifier.VerifyVectorOfStrings(outputs()) &&
- VerifyField<uint8_t>(verifier, VT_QUANT_INFO_TYPE) &&
- VerifyOffset(verifier, VT_QUANT_INFO) &&
- VerifyQuantInfo(verifier, quant_info(), quant_info_type()) &&
verifier.EndTable();
}
};
@@ -2344,20 +2315,16 @@ template<> inline const tosa::TableAttribute *TosaOperator::attribute_as<tosa::T
return attribute_as_TableAttribute();
}
-template<> inline const tosa::UnaryQuantInfo *TosaOperator::quant_info_as<tosa::UnaryQuantInfo>() const {
- return quant_info_as_UnaryQuantInfo();
+template<> inline const tosa::MatMulAttribute *TosaOperator::attribute_as<tosa::MatMulAttribute>() const {
+ return attribute_as_MatMulAttribute();
}
-template<> inline const tosa::ConvQuantInfo *TosaOperator::quant_info_as<tosa::ConvQuantInfo>() const {
- return quant_info_as_ConvQuantInfo();
+template<> inline const tosa::FullyConnectedAttribute *TosaOperator::attribute_as<tosa::FullyConnectedAttribute>() const {
+ return attribute_as_FullyConnectedAttribute();
}
-template<> inline const tosa::MatMulQuantInfo *TosaOperator::quant_info_as<tosa::MatMulQuantInfo>() const {
- return quant_info_as_MatMulQuantInfo();
-}
-
-template<> inline const tosa::PadQuantInfo *TosaOperator::quant_info_as<tosa::PadQuantInfo>() const {
- return quant_info_as_PadQuantInfo();
+template<> inline const tosa::NegateAttribute *TosaOperator::attribute_as<tosa::NegateAttribute>() const {
+ return attribute_as_NegateAttribute();
}
struct TosaOperatorBuilder {
@@ -2379,12 +2346,6 @@ struct TosaOperatorBuilder {
void add_outputs(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> outputs) {
fbb_.AddOffset(TosaOperator::VT_OUTPUTS, outputs);
}
- void add_quant_info_type(tosa::QuantInfo quant_info_type) {
- fbb_.AddElement<uint8_t>(TosaOperator::VT_QUANT_INFO_TYPE, static_cast<uint8_t>(quant_info_type), 0);
- }
- void add_quant_info(flatbuffers::Offset<void> quant_info) {
- fbb_.AddOffset(TosaOperator::VT_QUANT_INFO, quant_info);
- }
explicit TosaOperatorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
@@ -2403,16 +2364,12 @@ inline flatbuffers::Offset<TosaOperator> CreateTosaOperator(
tosa::Attribute attribute_type = tosa::Attribute_NONE,
flatbuffers::Offset<void> attribute = 0,
flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> inputs = 0,
- flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> outputs = 0,
- tosa::QuantInfo quant_info_type = tosa::QuantInfo_NONE,
- flatbuffers::Offset<void> quant_info = 0) {
+ flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> outputs = 0) {
TosaOperatorBuilder builder_(_fbb);
- builder_.add_quant_info(quant_info);
builder_.add_outputs(outputs);
builder_.add_inputs(inputs);
builder_.add_attribute(attribute);
builder_.add_op(op);
- builder_.add_quant_info_type(quant_info_type);
builder_.add_attribute_type(attribute_type);
return builder_.Finish();
}
@@ -2423,9 +2380,7 @@ inline flatbuffers::Offset<TosaOperator> CreateTosaOperatorDirect(
tosa::Attribute attribute_type = tosa::Attribute_NONE,
flatbuffers::Offset<void> attribute = 0,
const std::vector<flatbuffers::Offset<flatbuffers::String>> *inputs = nullptr,
- const std::vector<flatbuffers::Offset<flatbuffers::String>> *outputs = nullptr,
- tosa::QuantInfo quant_info_type = tosa::QuantInfo_NONE,
- flatbuffers::Offset<void> quant_info = 0) {
+ const std::vector<flatbuffers::Offset<flatbuffers::String>> *outputs = nullptr) {
auto inputs__ = inputs ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*inputs) : 0;
auto outputs__ = outputs ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*outputs) : 0;
return tosa::CreateTosaOperator(
@@ -2434,9 +2389,7 @@ inline flatbuffers::Offset<TosaOperator> CreateTosaOperatorDirect(
attribute_type,
attribute,
inputs__,
- outputs__,
- quant_info_type,
- quant_info);
+ outputs__);
}
struct TosaBasicBlock FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
@@ -2690,53 +2643,28 @@ inline bool VerifyAttribute(flatbuffers::Verifier &verifier, const void *obj, At
auto ptr = reinterpret_cast<const tosa::TableAttribute *>(obj);
return verifier.VerifyTable(ptr);
}
- default: return true;
- }
-}
-
-inline bool VerifyAttributeVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) {
- if (!values || !types) return !values && !types;
- if (values->size() != types->size()) return false;
- for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
- if (!VerifyAttribute(
- verifier, values->Get(i), types->GetEnum<Attribute>(i))) {
- return false;
- }
- }
- return true;
-}
-
-inline bool VerifyQuantInfo(flatbuffers::Verifier &verifier, const void *obj, QuantInfo type) {
- switch (type) {
- case QuantInfo_NONE: {
- return true;
- }
- case QuantInfo_UnaryQuantInfo: {
- auto ptr = reinterpret_cast<const tosa::UnaryQuantInfo *>(obj);
- return verifier.VerifyTable(ptr);
- }
- case QuantInfo_ConvQuantInfo: {
- auto ptr = reinterpret_cast<const tosa::ConvQuantInfo *>(obj);
+ case Attribute_MatMulAttribute: {
+ auto ptr = reinterpret_cast<const tosa::MatMulAttribute *>(obj);
return verifier.VerifyTable(ptr);
}
- case QuantInfo_MatMulQuantInfo: {
- auto ptr = reinterpret_cast<const tosa::MatMulQuantInfo *>(obj);
+ case Attribute_FullyConnectedAttribute: {
+ auto ptr = reinterpret_cast<const tosa::FullyConnectedAttribute *>(obj);
return verifier.VerifyTable(ptr);
}
- case QuantInfo_PadQuantInfo: {
- auto ptr = reinterpret_cast<const tosa::PadQuantInfo *>(obj);
+ case Attribute_NegateAttribute: {
+ auto ptr = reinterpret_cast<const tosa::NegateAttribute *>(obj);
return verifier.VerifyTable(ptr);
}
default: return true;
}
}
-inline bool VerifyQuantInfoVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) {
+inline bool VerifyAttributeVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) {
if (!values || !types) return !values && !types;
if (values->size() != types->size()) return false;
for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
- if (!VerifyQuantInfo(
- verifier, values->Get(i), types->GetEnum<QuantInfo>(i))) {
+ if (!VerifyAttribute(
+ verifier, values->Get(i), types->GetEnum<Attribute>(i))) {
return false;
}
}