xref: /aosp_15_r20/external/tensorflow/tensorflow/lite/delegates/gpu/common/gpu_model_generated.h (revision b6fb3261f9314811a0f4371741dbb8839866f948)
1 /* Copyright 2021 The TensorFlow Authors. All Rights Reserved.
2 
3 Licensed under the Apache License, Version 2.0 (the "License");
4 you may not use this file except in compliance with the License.
5 You may obtain a copy of the License at
6 
7     http://www.apache.org/licenses/LICENSE-2.0
8 
9 Unless required by applicable law or agreed to in writing, software
10 distributed under the License is distributed on an "AS IS" BASIS,
11 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 See the License for the specific language governing permissions and
13 limitations under the License.
14 ==============================================================================*/
15 // automatically generated by the FlatBuffers compiler, do not modify
16 
17 #ifndef FLATBUFFERS_GENERATED_GPUMODEL_TFLITE_GPU_DATA_H_
18 #define FLATBUFFERS_GENERATED_GPUMODEL_TFLITE_GPU_DATA_H_
19 
20 #include "flatbuffers/flatbuffers.h"
21 
22 #include "serialization_base_generated.h"
23 
24 namespace tflite {
25 namespace gpu {
26 namespace data {
27 
28 struct TensorDescWithId;
29 struct TensorDescWithIdBuilder;
30 
31 struct PairOfValueIds;
32 struct PairOfValueIdsBuilder;
33 
34 struct GpuNode;
35 struct GpuNodeBuilder;
36 
37 struct GpuModel;
38 struct GpuModelBuilder;
39 
40 struct TensorDescWithId FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
41   typedef TensorDescWithIdBuilder Builder;
42   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
43     VT_DESC = 4,
44     VT_ID = 6
45   };
descFLATBUFFERS_FINAL_CLASS46   const tflite::gpu::data::TensorDescriptor *desc() const {
47     return GetPointer<const tflite::gpu::data::TensorDescriptor *>(VT_DESC);
48   }
idFLATBUFFERS_FINAL_CLASS49   int32_t id() const {
50     return GetField<int32_t>(VT_ID, 0);
51   }
VerifyFLATBUFFERS_FINAL_CLASS52   bool Verify(flatbuffers::Verifier &verifier) const {
53     return VerifyTableStart(verifier) &&
54            VerifyOffset(verifier, VT_DESC) &&
55            verifier.VerifyTable(desc()) &&
56            VerifyField<int32_t>(verifier, VT_ID, 4) &&
57            verifier.EndTable();
58   }
59 };
60 
61 struct TensorDescWithIdBuilder {
62   typedef TensorDescWithId Table;
63   flatbuffers::FlatBufferBuilder &fbb_;
64   flatbuffers::uoffset_t start_;
add_descTensorDescWithIdBuilder65   void add_desc(flatbuffers::Offset<tflite::gpu::data::TensorDescriptor> desc) {
66     fbb_.AddOffset(TensorDescWithId::VT_DESC, desc);
67   }
add_idTensorDescWithIdBuilder68   void add_id(int32_t id) {
69     fbb_.AddElement<int32_t>(TensorDescWithId::VT_ID, id, 0);
70   }
TensorDescWithIdBuilderTensorDescWithIdBuilder71   explicit TensorDescWithIdBuilder(flatbuffers::FlatBufferBuilder &_fbb)
72         : fbb_(_fbb) {
73     start_ = fbb_.StartTable();
74   }
FinishTensorDescWithIdBuilder75   flatbuffers::Offset<TensorDescWithId> Finish() {
76     const auto end = fbb_.EndTable(start_);
77     auto o = flatbuffers::Offset<TensorDescWithId>(end);
78     return o;
79   }
80 };
81 
82 inline flatbuffers::Offset<TensorDescWithId> CreateTensorDescWithId(
83     flatbuffers::FlatBufferBuilder &_fbb,
84     flatbuffers::Offset<tflite::gpu::data::TensorDescriptor> desc = 0,
85     int32_t id = 0) {
86   TensorDescWithIdBuilder builder_(_fbb);
87   builder_.add_id(id);
88   builder_.add_desc(desc);
89   return builder_.Finish();
90 }
91 
92 struct PairOfValueIds FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
93   typedef PairOfValueIdsBuilder Builder;
94   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
95     VT_FIRST = 4,
96     VT_SECOND = 6
97   };
firstFLATBUFFERS_FINAL_CLASS98   int32_t first() const {
99     return GetField<int32_t>(VT_FIRST, 0);
100   }
secondFLATBUFFERS_FINAL_CLASS101   int32_t second() const {
102     return GetField<int32_t>(VT_SECOND, 0);
103   }
VerifyFLATBUFFERS_FINAL_CLASS104   bool Verify(flatbuffers::Verifier &verifier) const {
105     return VerifyTableStart(verifier) &&
106            VerifyField<int32_t>(verifier, VT_FIRST, 4) &&
107            VerifyField<int32_t>(verifier, VT_SECOND, 4) &&
108            verifier.EndTable();
109   }
110 };
111 
112 struct PairOfValueIdsBuilder {
113   typedef PairOfValueIds Table;
114   flatbuffers::FlatBufferBuilder &fbb_;
115   flatbuffers::uoffset_t start_;
add_firstPairOfValueIdsBuilder116   void add_first(int32_t first) {
117     fbb_.AddElement<int32_t>(PairOfValueIds::VT_FIRST, first, 0);
118   }
add_secondPairOfValueIdsBuilder119   void add_second(int32_t second) {
120     fbb_.AddElement<int32_t>(PairOfValueIds::VT_SECOND, second, 0);
121   }
PairOfValueIdsBuilderPairOfValueIdsBuilder122   explicit PairOfValueIdsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
123         : fbb_(_fbb) {
124     start_ = fbb_.StartTable();
125   }
FinishPairOfValueIdsBuilder126   flatbuffers::Offset<PairOfValueIds> Finish() {
127     const auto end = fbb_.EndTable(start_);
128     auto o = flatbuffers::Offset<PairOfValueIds>(end);
129     return o;
130   }
131 };
132 
133 inline flatbuffers::Offset<PairOfValueIds> CreatePairOfValueIds(
134     flatbuffers::FlatBufferBuilder &_fbb,
135     int32_t first = 0,
136     int32_t second = 0) {
137   PairOfValueIdsBuilder builder_(_fbb);
138   builder_.add_second(second);
139   builder_.add_first(first);
140   return builder_.Finish();
141 }
142 
143 struct GpuNode FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
144   typedef GpuNodeBuilder Builder;
145   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
146     VT_GPU_OP = 4,
147     VT_INPUT_IDS = 6,
148     VT_OUTPUT_IDS = 8,
149     VT_NAME = 10
150   };
gpu_opFLATBUFFERS_FINAL_CLASS151   const tflite::gpu::data::GPUOperation *gpu_op() const {
152     return GetPointer<const tflite::gpu::data::GPUOperation *>(VT_GPU_OP);
153   }
input_idsFLATBUFFERS_FINAL_CLASS154   const flatbuffers::Vector<int32_t> *input_ids() const {
155     return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_INPUT_IDS);
156   }
output_idsFLATBUFFERS_FINAL_CLASS157   const flatbuffers::Vector<int32_t> *output_ids() const {
158     return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_OUTPUT_IDS);
159   }
nameFLATBUFFERS_FINAL_CLASS160   const flatbuffers::String *name() const {
161     return GetPointer<const flatbuffers::String *>(VT_NAME);
162   }
VerifyFLATBUFFERS_FINAL_CLASS163   bool Verify(flatbuffers::Verifier &verifier) const {
164     return VerifyTableStart(verifier) &&
165            VerifyOffset(verifier, VT_GPU_OP) &&
166            verifier.VerifyTable(gpu_op()) &&
167            VerifyOffset(verifier, VT_INPUT_IDS) &&
168            verifier.VerifyVector(input_ids()) &&
169            VerifyOffset(verifier, VT_OUTPUT_IDS) &&
170            verifier.VerifyVector(output_ids()) &&
171            VerifyOffset(verifier, VT_NAME) &&
172            verifier.VerifyString(name()) &&
173            verifier.EndTable();
174   }
175 };
176 
177 struct GpuNodeBuilder {
178   typedef GpuNode Table;
179   flatbuffers::FlatBufferBuilder &fbb_;
180   flatbuffers::uoffset_t start_;
add_gpu_opGpuNodeBuilder181   void add_gpu_op(flatbuffers::Offset<tflite::gpu::data::GPUOperation> gpu_op) {
182     fbb_.AddOffset(GpuNode::VT_GPU_OP, gpu_op);
183   }
add_input_idsGpuNodeBuilder184   void add_input_ids(flatbuffers::Offset<flatbuffers::Vector<int32_t>> input_ids) {
185     fbb_.AddOffset(GpuNode::VT_INPUT_IDS, input_ids);
186   }
add_output_idsGpuNodeBuilder187   void add_output_ids(flatbuffers::Offset<flatbuffers::Vector<int32_t>> output_ids) {
188     fbb_.AddOffset(GpuNode::VT_OUTPUT_IDS, output_ids);
189   }
add_nameGpuNodeBuilder190   void add_name(flatbuffers::Offset<flatbuffers::String> name) {
191     fbb_.AddOffset(GpuNode::VT_NAME, name);
192   }
GpuNodeBuilderGpuNodeBuilder193   explicit GpuNodeBuilder(flatbuffers::FlatBufferBuilder &_fbb)
194         : fbb_(_fbb) {
195     start_ = fbb_.StartTable();
196   }
FinishGpuNodeBuilder197   flatbuffers::Offset<GpuNode> Finish() {
198     const auto end = fbb_.EndTable(start_);
199     auto o = flatbuffers::Offset<GpuNode>(end);
200     return o;
201   }
202 };
203 
204 inline flatbuffers::Offset<GpuNode> CreateGpuNode(
205     flatbuffers::FlatBufferBuilder &_fbb,
206     flatbuffers::Offset<tflite::gpu::data::GPUOperation> gpu_op = 0,
207     flatbuffers::Offset<flatbuffers::Vector<int32_t>> input_ids = 0,
208     flatbuffers::Offset<flatbuffers::Vector<int32_t>> output_ids = 0,
209     flatbuffers::Offset<flatbuffers::String> name = 0) {
210   GpuNodeBuilder builder_(_fbb);
211   builder_.add_name(name);
212   builder_.add_output_ids(output_ids);
213   builder_.add_input_ids(input_ids);
214   builder_.add_gpu_op(gpu_op);
215   return builder_.Finish();
216 }
217 
218 inline flatbuffers::Offset<GpuNode> CreateGpuNodeDirect(
219     flatbuffers::FlatBufferBuilder &_fbb,
220     flatbuffers::Offset<tflite::gpu::data::GPUOperation> gpu_op = 0,
221     const std::vector<int32_t> *input_ids = nullptr,
222     const std::vector<int32_t> *output_ids = nullptr,
223     const char *name = nullptr) {
224   auto input_ids__ = input_ids ? _fbb.CreateVector<int32_t>(*input_ids) : 0;
225   auto output_ids__ = output_ids ? _fbb.CreateVector<int32_t>(*output_ids) : 0;
226   auto name__ = name ? _fbb.CreateString(name) : 0;
227   return tflite::gpu::data::CreateGpuNode(
228       _fbb,
229       gpu_op,
230       input_ids__,
231       output_ids__,
232       name__);
233 }
234 
235 struct GpuModel FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
236   typedef GpuModelBuilder Builder;
237   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
238     VT_NODES = 4,
239     VT_TENSORS = 6,
240     VT_CONST_TENSORS = 8,
241     VT_INPUT_IDS = 10,
242     VT_OUTPUT_IDS = 12,
243     VT_INPUT_REFS = 14,
244     VT_OUTPUT_REFS = 16,
245     VT_VARIABLE_IDS_AND_REFS = 18
246   };
nodesFLATBUFFERS_FINAL_CLASS247   const flatbuffers::Vector<flatbuffers::Offset<tflite::gpu::data::GpuNode>> *nodes() const {
248     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<tflite::gpu::data::GpuNode>> *>(VT_NODES);
249   }
tensorsFLATBUFFERS_FINAL_CLASS250   const flatbuffers::Vector<flatbuffers::Offset<tflite::gpu::data::TensorDescWithId>> *tensors() const {
251     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<tflite::gpu::data::TensorDescWithId>> *>(VT_TENSORS);
252   }
const_tensorsFLATBUFFERS_FINAL_CLASS253   const flatbuffers::Vector<flatbuffers::Offset<tflite::gpu::data::TensorDescWithId>> *const_tensors() const {
254     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<tflite::gpu::data::TensorDescWithId>> *>(VT_CONST_TENSORS);
255   }
input_idsFLATBUFFERS_FINAL_CLASS256   const flatbuffers::Vector<int32_t> *input_ids() const {
257     return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_INPUT_IDS);
258   }
output_idsFLATBUFFERS_FINAL_CLASS259   const flatbuffers::Vector<int32_t> *output_ids() const {
260     return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_OUTPUT_IDS);
261   }
input_refsFLATBUFFERS_FINAL_CLASS262   const flatbuffers::Vector<int64_t> *input_refs() const {
263     return GetPointer<const flatbuffers::Vector<int64_t> *>(VT_INPUT_REFS);
264   }
output_refsFLATBUFFERS_FINAL_CLASS265   const flatbuffers::Vector<int64_t> *output_refs() const {
266     return GetPointer<const flatbuffers::Vector<int64_t> *>(VT_OUTPUT_REFS);
267   }
variable_ids_and_refsFLATBUFFERS_FINAL_CLASS268   const flatbuffers::Vector<flatbuffers::Offset<tflite::gpu::data::PairOfValueIds>> *variable_ids_and_refs() const {
269     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<tflite::gpu::data::PairOfValueIds>> *>(VT_VARIABLE_IDS_AND_REFS);
270   }
VerifyFLATBUFFERS_FINAL_CLASS271   bool Verify(flatbuffers::Verifier &verifier) const {
272     return VerifyTableStart(verifier) &&
273            VerifyOffset(verifier, VT_NODES) &&
274            verifier.VerifyVector(nodes()) &&
275            verifier.VerifyVectorOfTables(nodes()) &&
276            VerifyOffset(verifier, VT_TENSORS) &&
277            verifier.VerifyVector(tensors()) &&
278            verifier.VerifyVectorOfTables(tensors()) &&
279            VerifyOffset(verifier, VT_CONST_TENSORS) &&
280            verifier.VerifyVector(const_tensors()) &&
281            verifier.VerifyVectorOfTables(const_tensors()) &&
282            VerifyOffset(verifier, VT_INPUT_IDS) &&
283            verifier.VerifyVector(input_ids()) &&
284            VerifyOffset(verifier, VT_OUTPUT_IDS) &&
285            verifier.VerifyVector(output_ids()) &&
286            VerifyOffset(verifier, VT_INPUT_REFS) &&
287            verifier.VerifyVector(input_refs()) &&
288            VerifyOffset(verifier, VT_OUTPUT_REFS) &&
289            verifier.VerifyVector(output_refs()) &&
290            VerifyOffset(verifier, VT_VARIABLE_IDS_AND_REFS) &&
291            verifier.VerifyVector(variable_ids_and_refs()) &&
292            verifier.VerifyVectorOfTables(variable_ids_and_refs()) &&
293            verifier.EndTable();
294   }
295 };
296 
297 struct GpuModelBuilder {
298   typedef GpuModel Table;
299   flatbuffers::FlatBufferBuilder &fbb_;
300   flatbuffers::uoffset_t start_;
add_nodesGpuModelBuilder301   void add_nodes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<tflite::gpu::data::GpuNode>>> nodes) {
302     fbb_.AddOffset(GpuModel::VT_NODES, nodes);
303   }
add_tensorsGpuModelBuilder304   void add_tensors(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<tflite::gpu::data::TensorDescWithId>>> tensors) {
305     fbb_.AddOffset(GpuModel::VT_TENSORS, tensors);
306   }
add_const_tensorsGpuModelBuilder307   void add_const_tensors(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<tflite::gpu::data::TensorDescWithId>>> const_tensors) {
308     fbb_.AddOffset(GpuModel::VT_CONST_TENSORS, const_tensors);
309   }
add_input_idsGpuModelBuilder310   void add_input_ids(flatbuffers::Offset<flatbuffers::Vector<int32_t>> input_ids) {
311     fbb_.AddOffset(GpuModel::VT_INPUT_IDS, input_ids);
312   }
add_output_idsGpuModelBuilder313   void add_output_ids(flatbuffers::Offset<flatbuffers::Vector<int32_t>> output_ids) {
314     fbb_.AddOffset(GpuModel::VT_OUTPUT_IDS, output_ids);
315   }
add_input_refsGpuModelBuilder316   void add_input_refs(flatbuffers::Offset<flatbuffers::Vector<int64_t>> input_refs) {
317     fbb_.AddOffset(GpuModel::VT_INPUT_REFS, input_refs);
318   }
add_output_refsGpuModelBuilder319   void add_output_refs(flatbuffers::Offset<flatbuffers::Vector<int64_t>> output_refs) {
320     fbb_.AddOffset(GpuModel::VT_OUTPUT_REFS, output_refs);
321   }
add_variable_ids_and_refsGpuModelBuilder322   void add_variable_ids_and_refs(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<tflite::gpu::data::PairOfValueIds>>> variable_ids_and_refs) {
323     fbb_.AddOffset(GpuModel::VT_VARIABLE_IDS_AND_REFS, variable_ids_and_refs);
324   }
GpuModelBuilderGpuModelBuilder325   explicit GpuModelBuilder(flatbuffers::FlatBufferBuilder &_fbb)
326         : fbb_(_fbb) {
327     start_ = fbb_.StartTable();
328   }
FinishGpuModelBuilder329   flatbuffers::Offset<GpuModel> Finish() {
330     const auto end = fbb_.EndTable(start_);
331     auto o = flatbuffers::Offset<GpuModel>(end);
332     return o;
333   }
334 };
335 
336 inline flatbuffers::Offset<GpuModel> CreateGpuModel(
337     flatbuffers::FlatBufferBuilder &_fbb,
338     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<tflite::gpu::data::GpuNode>>> nodes = 0,
339     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<tflite::gpu::data::TensorDescWithId>>> tensors = 0,
340     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<tflite::gpu::data::TensorDescWithId>>> const_tensors = 0,
341     flatbuffers::Offset<flatbuffers::Vector<int32_t>> input_ids = 0,
342     flatbuffers::Offset<flatbuffers::Vector<int32_t>> output_ids = 0,
343     flatbuffers::Offset<flatbuffers::Vector<int64_t>> input_refs = 0,
344     flatbuffers::Offset<flatbuffers::Vector<int64_t>> output_refs = 0,
345     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<tflite::gpu::data::PairOfValueIds>>> variable_ids_and_refs = 0) {
346   GpuModelBuilder builder_(_fbb);
347   builder_.add_variable_ids_and_refs(variable_ids_and_refs);
348   builder_.add_output_refs(output_refs);
349   builder_.add_input_refs(input_refs);
350   builder_.add_output_ids(output_ids);
351   builder_.add_input_ids(input_ids);
352   builder_.add_const_tensors(const_tensors);
353   builder_.add_tensors(tensors);
354   builder_.add_nodes(nodes);
355   return builder_.Finish();
356 }
357 
358 inline flatbuffers::Offset<GpuModel> CreateGpuModelDirect(
359     flatbuffers::FlatBufferBuilder &_fbb,
360     const std::vector<flatbuffers::Offset<tflite::gpu::data::GpuNode>> *nodes = nullptr,
361     const std::vector<flatbuffers::Offset<tflite::gpu::data::TensorDescWithId>> *tensors = nullptr,
362     const std::vector<flatbuffers::Offset<tflite::gpu::data::TensorDescWithId>> *const_tensors = nullptr,
363     const std::vector<int32_t> *input_ids = nullptr,
364     const std::vector<int32_t> *output_ids = nullptr,
365     const std::vector<int64_t> *input_refs = nullptr,
366     const std::vector<int64_t> *output_refs = nullptr,
367     const std::vector<flatbuffers::Offset<tflite::gpu::data::PairOfValueIds>> *variable_ids_and_refs = nullptr) {
368   auto nodes__ = nodes ? _fbb.CreateVector<flatbuffers::Offset<tflite::gpu::data::GpuNode>>(*nodes) : 0;
369   auto tensors__ = tensors ? _fbb.CreateVector<flatbuffers::Offset<tflite::gpu::data::TensorDescWithId>>(*tensors) : 0;
370   auto const_tensors__ = const_tensors ? _fbb.CreateVector<flatbuffers::Offset<tflite::gpu::data::TensorDescWithId>>(*const_tensors) : 0;
371   auto input_ids__ = input_ids ? _fbb.CreateVector<int32_t>(*input_ids) : 0;
372   auto output_ids__ = output_ids ? _fbb.CreateVector<int32_t>(*output_ids) : 0;
373   auto input_refs__ = input_refs ? _fbb.CreateVector<int64_t>(*input_refs) : 0;
374   auto output_refs__ = output_refs ? _fbb.CreateVector<int64_t>(*output_refs) : 0;
375   auto variable_ids_and_refs__ = variable_ids_and_refs ? _fbb.CreateVector<flatbuffers::Offset<tflite::gpu::data::PairOfValueIds>>(*variable_ids_and_refs) : 0;
376   return tflite::gpu::data::CreateGpuModel(
377       _fbb,
378       nodes__,
379       tensors__,
380       const_tensors__,
381       input_ids__,
382       output_ids__,
383       input_refs__,
384       output_refs__,
385       variable_ids_and_refs__);
386 }
387 
388 }  // namespace data
389 }  // namespace gpu
390 }  // namespace tflite
391 
392 #endif  // FLATBUFFERS_GENERATED_GPUMODEL_TFLITE_GPU_DATA_H_
393