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