1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// source: tensorflow/lite/toco/toco_flags.proto
3
4#ifndef GOOGLE_PROTOBUF_INCLUDED_tensorflow_2flite_2ftoco_2ftoco_5fflags_2eproto
5#define GOOGLE_PROTOBUF_INCLUDED_tensorflow_2flite_2ftoco_2ftoco_5fflags_2eproto
6
7#include <limits>
8#include <string>
9
10#include <google/protobuf/port_def.inc>
11#if PROTOBUF_VERSION < 3009000
12#error This file was generated by a newer version of protoc which is
13#error incompatible with your Protocol Buffer headers. Please update
14#error your headers.
15#endif
16#if 3009002 < PROTOBUF_MIN_PROTOC_VERSION
17#error This file was generated by an older version of protoc which is
18#error incompatible with your Protocol Buffer headers. Please
19#error regenerate this file with a newer version of protoc.
20#endif
21
22#include <google/protobuf/port_undef.inc>
23#include <google/protobuf/io/coded_stream.h>
24#include <google/protobuf/arena.h>
25#include <google/protobuf/arenastring.h>
26#include <google/protobuf/generated_message_table_driven.h>
27#include <google/protobuf/generated_message_util.h>
28#include <google/protobuf/inlined_string_field.h>
29#include <google/protobuf/metadata.h>
30#include <google/protobuf/generated_message_reflection.h>
31#include <google/protobuf/message.h>
32#include <google/protobuf/repeated_field.h> // IWYU pragma: export
33#include <google/protobuf/extension_set.h> // IWYU pragma: export
34#include <google/protobuf/generated_enum_reflection.h>
35#include <google/protobuf/unknown_field_set.h>
36#include "tensorflow/lite/toco/types.pb.h"
37// @@protoc_insertion_point(includes)
38#include <google/protobuf/port_def.inc>
39#define PROTOBUF_INTERNAL_EXPORT_tensorflow_2flite_2ftoco_2ftoco_5fflags_2eproto
40PROTOBUF_NAMESPACE_OPEN
41namespace internal {
42class AnyMetadata;
43} // namespace internal
44PROTOBUF_NAMESPACE_CLOSE
45
46// Internal implementation detail -- do not use these members.
47struct TableStruct_tensorflow_2flite_2ftoco_2ftoco_5fflags_2eproto {
48 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
49 PROTOBUF_SECTION_VARIABLE(protodesc_cold);
50 static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
51 PROTOBUF_SECTION_VARIABLE(protodesc_cold);
52 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1]
53 PROTOBUF_SECTION_VARIABLE(protodesc_cold);
54 static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
55 static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
56 static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
57};
58extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_tensorflow_2flite_2ftoco_2ftoco_5fflags_2eproto;
59namespace toco {
60class TocoFlags;
61class TocoFlagsDefaultTypeInternal;
62extern TocoFlagsDefaultTypeInternal _TocoFlags_default_instance_;
63} // namespace toco
64PROTOBUF_NAMESPACE_OPEN
65template<> ::toco::TocoFlags* Arena::CreateMaybeMessage<::toco::TocoFlags>(Arena*);
66PROTOBUF_NAMESPACE_CLOSE
67namespace toco {
68
69enum FileFormat : int {
70 FILE_FORMAT_UNKNOWN = 0,
71 TENSORFLOW_GRAPHDEF = 1,
72 TFLITE = 2,
73 GRAPHVIZ_DOT = 3
74};
75bool FileFormat_IsValid(int value);
76constexpr FileFormat FileFormat_MIN = FILE_FORMAT_UNKNOWN;
77constexpr FileFormat FileFormat_MAX = GRAPHVIZ_DOT;
78constexpr int FileFormat_ARRAYSIZE = FileFormat_MAX + 1;
79
80const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FileFormat_descriptor();
81template<typename T>
82inline const std::string& FileFormat_Name(T enum_t_value) {
83 static_assert(::std::is_same<T, FileFormat>::value ||
84 ::std::is_integral<T>::value,
85 "Incorrect type passed to function FileFormat_Name.");
86 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
87 FileFormat_descriptor(), enum_t_value);
88}
89inline bool FileFormat_Parse(
90 const std::string& name, FileFormat* value) {
91 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<FileFormat>(
92 FileFormat_descriptor(), name, value);
93}
94// ===================================================================
95
96class TocoFlags :
97 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:toco.TocoFlags) */ {
98 public:
99 TocoFlags();
100 virtual ~TocoFlags();
101
102 TocoFlags(const TocoFlags& from);
103 TocoFlags(TocoFlags&& from) noexcept
104 : TocoFlags() {
105 *this = ::std::move(from);
106 }
107
108 inline TocoFlags& operator=(const TocoFlags& from) {
109 CopyFrom(from);
110 return *this;
111 }
112 inline TocoFlags& operator=(TocoFlags&& from) noexcept {
113 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
114 if (this != &from) InternalSwap(&from);
115 } else {
116 CopyFrom(from);
117 }
118 return *this;
119 }
120
121 inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
122 return _internal_metadata_.unknown_fields();
123 }
124 inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
125 return _internal_metadata_.mutable_unknown_fields();
126 }
127
128 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
129 return GetDescriptor();
130 }
131 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
132 return GetMetadataStatic().descriptor;
133 }
134 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
135 return GetMetadataStatic().reflection;
136 }
137 static const TocoFlags& default_instance();
138
139 static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
140 static inline const TocoFlags* internal_default_instance() {
141 return reinterpret_cast<const TocoFlags*>(
142 &_TocoFlags_default_instance_);
143 }
144 static constexpr int kIndexInFileMessages =
145 0;
146
147 friend void swap(TocoFlags& a, TocoFlags& b) {
148 a.Swap(&b);
149 }
150 inline void Swap(TocoFlags* other) {
151 if (other == this) return;
152 InternalSwap(other);
153 }
154
155 // implements Message ----------------------------------------------
156
157 inline TocoFlags* New() const final {
158 return CreateMaybeMessage<TocoFlags>(nullptr);
159 }
160
161 TocoFlags* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
162 return CreateMaybeMessage<TocoFlags>(arena);
163 }
164 void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
165 void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
166 void CopyFrom(const TocoFlags& from);
167 void MergeFrom(const TocoFlags& from);
168 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
169 bool IsInitialized() const final;
170
171 size_t ByteSizeLong() const final;
172 #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
173 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
174 #else
175 bool MergePartialFromCodedStream(
176 ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
177 #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
178 void SerializeWithCachedSizes(
179 ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
180 ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
181 ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
182 int GetCachedSize() const final { return _cached_size_.Get(); }
183
184 private:
185 inline void SharedCtor();
186 inline void SharedDtor();
187 void SetCachedSize(int size) const final;
188 void InternalSwap(TocoFlags* other);
189 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
190 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
191 return "toco.TocoFlags";
192 }
193 private:
194 inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
195 return nullptr;
196 }
197 inline void* MaybeArenaPtr() const {
198 return nullptr;
199 }
200 public:
201
202 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
203 private:
204 static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
205 ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_tensorflow_2flite_2ftoco_2ftoco_5fflags_2eproto);
206 return ::descriptor_table_tensorflow_2flite_2ftoco_2ftoco_5fflags_2eproto.file_level_metadata[kIndexInFileMessages];
207 }
208
209 public:
210
211 // nested types ----------------------------------------------------
212
213 // accessors -------------------------------------------------------
214
215 enum : int {
216 kCustomOpdefsFieldNumber = 32,
217 kSelectUserTfOpsFieldNumber = 33,
218 kSupportedBackendsFieldNumber = 41,
219 kDumpGraphvizDirFieldNumber = 24,
220 kConversionSummaryDirFieldNumber = 31,
221 kTfQuantizationModeFieldNumber = 45,
222 kInputFormatFieldNumber = 1,
223 kOutputFormatFieldNumber = 2,
224 kInferenceTypeFieldNumber = 4,
225 kDefaultRangesMinFieldNumber = 5,
226 kDefaultRangesMaxFieldNumber = 6,
227 kDropFakeQuantFieldNumber = 7,
228 kReorderAcrossFakeQuantFieldNumber = 8,
229 kAllowCustomOpsFieldNumber = 10,
230 kDropControlDependencyFieldNumber = 12,
231 kInferenceInputTypeFieldNumber = 11,
232 kDefaultInt16RangesMinFieldNumber = 15,
233 kDefaultInt16RangesMaxFieldNumber = 16,
234 kDebugDisableRecurrentCellFusionFieldNumber = 13,
235 kPropagateFakeQuantNumBitsFieldNumber = 14,
236 kAllowNudgingWeightsToUseFastGemmKernelFieldNumber = 17,
237 kQuantizeWeightsFieldNumber = 20,
238 kDumpGraphvizIncludeVideoFieldNumber = 25,
239 kPostTrainingQuantizeFieldNumber = 26,
240 kEnableSelectTfOpsFieldNumber = 27,
241 kForceSelectTfOpsFieldNumber = 28,
242 kQuantizeToFloat16FieldNumber = 29,
243 kAllowBfloat16FieldNumber = 38,
244 kAllowAllSelectTfOpsFieldNumber = 39,
245 kUnfoldLargeSplatConstantFieldNumber = 40,
246 kAccumulationTypeFieldNumber = 37,
247 kDefaultToSingleBatchInTensorListOpsFieldNumber = 42,
248 kDisablePerChannelQuantizationFieldNumber = 43,
249 kEnableMlirDynamicRangeQuantizerFieldNumber = 44,
250 kDisableInferTensorRangeFieldNumber = 46,
251 kUseFakeQuantNumBitsFieldNumber = 47,
252 kEnableDynamicUpdateSliceFieldNumber = 48,
253 kPreserveAssertOpFieldNumber = 49,
254 kGuaranteeAllFuncsOneUseFieldNumber = 50,
255 kDedupeArrayMinSizeBytesFieldNumber = 18,
256 kSplitTfliteLstmInputsFieldNumber = 19,
257 kAllowDynamicTensorsFieldNumber = 30,
258 kEnableTfliteResourceVariablesFieldNumber = 34,
259 kUnfoldBatchmatmulFieldNumber = 35,
260 kLowerTensorListOpsFieldNumber = 36,
261 };
262 // repeated string custom_opdefs = 32 [deprecated = true];
263 PROTOBUF_DEPRECATED int custom_opdefs_size() const;
264 PROTOBUF_DEPRECATED void clear_custom_opdefs();
265 PROTOBUF_DEPRECATED const std::string& custom_opdefs(int index) const;
266 PROTOBUF_DEPRECATED std::string* mutable_custom_opdefs(int index);
267 PROTOBUF_DEPRECATED void set_custom_opdefs(int index, const std::string& value);
268 PROTOBUF_DEPRECATED void set_custom_opdefs(int index, std::string&& value);
269 PROTOBUF_DEPRECATED void set_custom_opdefs(int index, const char* value);
270 PROTOBUF_DEPRECATED void set_custom_opdefs(int index, const char* value, size_t size);
271 PROTOBUF_DEPRECATED std::string* add_custom_opdefs();
272 PROTOBUF_DEPRECATED void add_custom_opdefs(const std::string& value);
273 PROTOBUF_DEPRECATED void add_custom_opdefs(std::string&& value);
274 PROTOBUF_DEPRECATED void add_custom_opdefs(const char* value);
275 PROTOBUF_DEPRECATED void add_custom_opdefs(const char* value, size_t size);
276 PROTOBUF_DEPRECATED const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& custom_opdefs() const;
277 PROTOBUF_DEPRECATED ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_custom_opdefs();
278
279 // repeated string select_user_tf_ops = 33;
280 int select_user_tf_ops_size() const;
281 void clear_select_user_tf_ops();
282 const std::string& select_user_tf_ops(int index) const;
283 std::string* mutable_select_user_tf_ops(int index);
284 void set_select_user_tf_ops(int index, const std::string& value);
285 void set_select_user_tf_ops(int index, std::string&& value);
286 void set_select_user_tf_ops(int index, const char* value);
287 void set_select_user_tf_ops(int index, const char* value, size_t size);
288 std::string* add_select_user_tf_ops();
289 void add_select_user_tf_ops(const std::string& value);
290 void add_select_user_tf_ops(std::string&& value);
291 void add_select_user_tf_ops(const char* value);
292 void add_select_user_tf_ops(const char* value, size_t size);
293 const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& select_user_tf_ops() const;
294 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_select_user_tf_ops();
295
296 // repeated string supported_backends = 41;
297 int supported_backends_size() const;
298 void clear_supported_backends();
299 const std::string& supported_backends(int index) const;
300 std::string* mutable_supported_backends(int index);
301 void set_supported_backends(int index, const std::string& value);
302 void set_supported_backends(int index, std::string&& value);
303 void set_supported_backends(int index, const char* value);
304 void set_supported_backends(int index, const char* value, size_t size);
305 std::string* add_supported_backends();
306 void add_supported_backends(const std::string& value);
307 void add_supported_backends(std::string&& value);
308 void add_supported_backends(const char* value);
309 void add_supported_backends(const char* value, size_t size);
310 const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& supported_backends() const;
311 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_supported_backends();
312
313 // optional string dump_graphviz_dir = 24;
314 bool has_dump_graphviz_dir() const;
315 void clear_dump_graphviz_dir();
316 const std::string& dump_graphviz_dir() const;
317 void set_dump_graphviz_dir(const std::string& value);
318 void set_dump_graphviz_dir(std::string&& value);
319 void set_dump_graphviz_dir(const char* value);
320 void set_dump_graphviz_dir(const char* value, size_t size);
321 std::string* mutable_dump_graphviz_dir();
322 std::string* release_dump_graphviz_dir();
323 void set_allocated_dump_graphviz_dir(std::string* dump_graphviz_dir);
324
325 // optional string conversion_summary_dir = 31;
326 bool has_conversion_summary_dir() const;
327 void clear_conversion_summary_dir();
328 const std::string& conversion_summary_dir() const;
329 void set_conversion_summary_dir(const std::string& value);
330 void set_conversion_summary_dir(std::string&& value);
331 void set_conversion_summary_dir(const char* value);
332 void set_conversion_summary_dir(const char* value, size_t size);
333 std::string* mutable_conversion_summary_dir();
334 std::string* release_conversion_summary_dir();
335 void set_allocated_conversion_summary_dir(std::string* conversion_summary_dir);
336
337 // optional string tf_quantization_mode = 45;
338 bool has_tf_quantization_mode() const;
339 void clear_tf_quantization_mode();
340 const std::string& tf_quantization_mode() const;
341 void set_tf_quantization_mode(const std::string& value);
342 void set_tf_quantization_mode(std::string&& value);
343 void set_tf_quantization_mode(const char* value);
344 void set_tf_quantization_mode(const char* value, size_t size);
345 std::string* mutable_tf_quantization_mode();
346 std::string* release_tf_quantization_mode();
347 void set_allocated_tf_quantization_mode(std::string* tf_quantization_mode);
348
349 // optional .toco.FileFormat input_format = 1;
350 bool has_input_format() const;
351 void clear_input_format();
352 ::toco::FileFormat input_format() const;
353 void set_input_format(::toco::FileFormat value);
354
355 // optional .toco.FileFormat output_format = 2;
356 bool has_output_format() const;
357 void clear_output_format();
358 ::toco::FileFormat output_format() const;
359 void set_output_format(::toco::FileFormat value);
360
361 // optional .toco.IODataType inference_type = 4;
362 bool has_inference_type() const;
363 void clear_inference_type();
364 ::toco::IODataType inference_type() const;
365 void set_inference_type(::toco::IODataType value);
366
367 // optional float default_ranges_min = 5;
368 bool has_default_ranges_min() const;
369 void clear_default_ranges_min();
370 float default_ranges_min() const;
371 void set_default_ranges_min(float value);
372
373 // optional float default_ranges_max = 6;
374 bool has_default_ranges_max() const;
375 void clear_default_ranges_max();
376 float default_ranges_max() const;
377 void set_default_ranges_max(float value);
378
379 // optional bool drop_fake_quant = 7;
380 bool has_drop_fake_quant() const;
381 void clear_drop_fake_quant();
382 bool drop_fake_quant() const;
383 void set_drop_fake_quant(bool value);
384
385 // optional bool reorder_across_fake_quant = 8;
386 bool has_reorder_across_fake_quant() const;
387 void clear_reorder_across_fake_quant();
388 bool reorder_across_fake_quant() const;
389 void set_reorder_across_fake_quant(bool value);
390
391 // optional bool allow_custom_ops = 10;
392 bool has_allow_custom_ops() const;
393 void clear_allow_custom_ops();
394 bool allow_custom_ops() const;
395 void set_allow_custom_ops(bool value);
396
397 // optional bool drop_control_dependency = 12;
398 bool has_drop_control_dependency() const;
399 void clear_drop_control_dependency();
400 bool drop_control_dependency() const;
401 void set_drop_control_dependency(bool value);
402
403 // optional .toco.IODataType inference_input_type = 11;
404 bool has_inference_input_type() const;
405 void clear_inference_input_type();
406 ::toco::IODataType inference_input_type() const;
407 void set_inference_input_type(::toco::IODataType value);
408
409 // optional float default_int16_ranges_min = 15;
410 bool has_default_int16_ranges_min() const;
411 void clear_default_int16_ranges_min();
412 float default_int16_ranges_min() const;
413 void set_default_int16_ranges_min(float value);
414
415 // optional float default_int16_ranges_max = 16;
416 bool has_default_int16_ranges_max() const;
417 void clear_default_int16_ranges_max();
418 float default_int16_ranges_max() const;
419 void set_default_int16_ranges_max(float value);
420
421 // optional bool debug_disable_recurrent_cell_fusion = 13;
422 bool has_debug_disable_recurrent_cell_fusion() const;
423 void clear_debug_disable_recurrent_cell_fusion();
424 bool debug_disable_recurrent_cell_fusion() const;
425 void set_debug_disable_recurrent_cell_fusion(bool value);
426
427 // optional bool propagate_fake_quant_num_bits = 14;
428 bool has_propagate_fake_quant_num_bits() const;
429 void clear_propagate_fake_quant_num_bits();
430 bool propagate_fake_quant_num_bits() const;
431 void set_propagate_fake_quant_num_bits(bool value);
432
433 // optional bool allow_nudging_weights_to_use_fast_gemm_kernel = 17;
434 bool has_allow_nudging_weights_to_use_fast_gemm_kernel() const;
435 void clear_allow_nudging_weights_to_use_fast_gemm_kernel();
436 bool allow_nudging_weights_to_use_fast_gemm_kernel() const;
437 void set_allow_nudging_weights_to_use_fast_gemm_kernel(bool value);
438
439 // optional bool quantize_weights = 20 [default = false];
440 bool has_quantize_weights() const;
441 void clear_quantize_weights();
442 bool quantize_weights() const;
443 void set_quantize_weights(bool value);
444
445 // optional bool dump_graphviz_include_video = 25;
446 bool has_dump_graphviz_include_video() const;
447 void clear_dump_graphviz_include_video();
448 bool dump_graphviz_include_video() const;
449 void set_dump_graphviz_include_video(bool value);
450
451 // optional bool post_training_quantize = 26 [default = false];
452 bool has_post_training_quantize() const;
453 void clear_post_training_quantize();
454 bool post_training_quantize() const;
455 void set_post_training_quantize(bool value);
456
457 // optional bool enable_select_tf_ops = 27 [default = false];
458 bool has_enable_select_tf_ops() const;
459 void clear_enable_select_tf_ops();
460 bool enable_select_tf_ops() const;
461 void set_enable_select_tf_ops(bool value);
462
463 // optional bool force_select_tf_ops = 28 [default = false];
464 bool has_force_select_tf_ops() const;
465 void clear_force_select_tf_ops();
466 bool force_select_tf_ops() const;
467 void set_force_select_tf_ops(bool value);
468
469 // optional bool quantize_to_float16 = 29 [default = false];
470 bool has_quantize_to_float16() const;
471 void clear_quantize_to_float16();
472 bool quantize_to_float16() const;
473 void set_quantize_to_float16(bool value);
474
475 // optional bool allow_bfloat16 = 38 [default = false];
476 bool has_allow_bfloat16() const;
477 void clear_allow_bfloat16();
478 bool allow_bfloat16() const;
479 void set_allow_bfloat16(bool value);
480
481 // optional bool allow_all_select_tf_ops = 39;
482 bool has_allow_all_select_tf_ops() const;
483 void clear_allow_all_select_tf_ops();
484 bool allow_all_select_tf_ops() const;
485 void set_allow_all_select_tf_ops(bool value);
486
487 // optional bool unfold_large_splat_constant = 40 [default = false];
488 bool has_unfold_large_splat_constant() const;
489 void clear_unfold_large_splat_constant();
490 bool unfold_large_splat_constant() const;
491 void set_unfold_large_splat_constant(bool value);
492
493 // optional .toco.IODataType accumulation_type = 37;
494 bool has_accumulation_type() const;
495 void clear_accumulation_type();
496 ::toco::IODataType accumulation_type() const;
497 void set_accumulation_type(::toco::IODataType value);
498
499 // optional bool default_to_single_batch_in_tensor_list_ops = 42 [default = false];
500 bool has_default_to_single_batch_in_tensor_list_ops() const;
501 void clear_default_to_single_batch_in_tensor_list_ops();
502 bool default_to_single_batch_in_tensor_list_ops() const;
503 void set_default_to_single_batch_in_tensor_list_ops(bool value);
504
505 // optional bool disable_per_channel_quantization = 43 [default = false];
506 bool has_disable_per_channel_quantization() const;
507 void clear_disable_per_channel_quantization();
508 bool disable_per_channel_quantization() const;
509 void set_disable_per_channel_quantization(bool value);
510
511 // optional bool enable_mlir_dynamic_range_quantizer = 44 [default = false];
512 bool has_enable_mlir_dynamic_range_quantizer() const;
513 void clear_enable_mlir_dynamic_range_quantizer();
514 bool enable_mlir_dynamic_range_quantizer() const;
515 void set_enable_mlir_dynamic_range_quantizer(bool value);
516
517 // optional bool disable_infer_tensor_range = 46 [default = false];
518 bool has_disable_infer_tensor_range() const;
519 void clear_disable_infer_tensor_range();
520 bool disable_infer_tensor_range() const;
521 void set_disable_infer_tensor_range(bool value);
522
523 // optional bool use_fake_quant_num_bits = 47 [default = false];
524 bool has_use_fake_quant_num_bits() const;
525 void clear_use_fake_quant_num_bits();
526 bool use_fake_quant_num_bits() const;
527 void set_use_fake_quant_num_bits(bool value);
528
529 // optional bool enable_dynamic_update_slice = 48 [default = false];
530 bool has_enable_dynamic_update_slice() const;
531 void clear_enable_dynamic_update_slice();
532 bool enable_dynamic_update_slice() const;
533 void set_enable_dynamic_update_slice(bool value);
534
535 // optional bool preserve_assert_op = 49 [default = false];
536 bool has_preserve_assert_op() const;
537 void clear_preserve_assert_op();
538 bool preserve_assert_op() const;
539 void set_preserve_assert_op(bool value);
540
541 // optional bool guarantee_all_funcs_one_use = 50 [default = false];
542 bool has_guarantee_all_funcs_one_use() const;
543 void clear_guarantee_all_funcs_one_use();
544 bool guarantee_all_funcs_one_use() const;
545 void set_guarantee_all_funcs_one_use(bool value);
546
547 // optional int64 dedupe_array_min_size_bytes = 18 [default = 64];
548 bool has_dedupe_array_min_size_bytes() const;
549 void clear_dedupe_array_min_size_bytes();
550 ::PROTOBUF_NAMESPACE_ID::int64 dedupe_array_min_size_bytes() const;
551 void set_dedupe_array_min_size_bytes(::PROTOBUF_NAMESPACE_ID::int64 value);
552
553 // optional bool split_tflite_lstm_inputs = 19 [default = true];
554 bool has_split_tflite_lstm_inputs() const;
555 void clear_split_tflite_lstm_inputs();
556 bool split_tflite_lstm_inputs() const;
557 void set_split_tflite_lstm_inputs(bool value);
558
559 // optional bool allow_dynamic_tensors = 30 [default = true];
560 bool has_allow_dynamic_tensors() const;
561 void clear_allow_dynamic_tensors();
562 bool allow_dynamic_tensors() const;
563 void set_allow_dynamic_tensors(bool value);
564
565 // optional bool enable_tflite_resource_variables = 34 [default = true];
566 bool has_enable_tflite_resource_variables() const;
567 void clear_enable_tflite_resource_variables();
568 bool enable_tflite_resource_variables() const;
569 void set_enable_tflite_resource_variables(bool value);
570
571 // optional bool unfold_batchmatmul = 35 [default = true];
572 bool has_unfold_batchmatmul() const;
573 void clear_unfold_batchmatmul();
574 bool unfold_batchmatmul() const;
575 void set_unfold_batchmatmul(bool value);
576
577 // optional bool lower_tensor_list_ops = 36 [default = true];
578 bool has_lower_tensor_list_ops() const;
579 void clear_lower_tensor_list_ops();
580 bool lower_tensor_list_ops() const;
581 void set_lower_tensor_list_ops(bool value);
582
583 // @@protoc_insertion_point(class_scope:toco.TocoFlags)
584 private:
585 class _Internal;
586
587 ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
588 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<2> _has_bits_;
589 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
590 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> custom_opdefs_;
591 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> select_user_tf_ops_;
592 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> supported_backends_;
593 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr dump_graphviz_dir_;
594 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr conversion_summary_dir_;
595 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr tf_quantization_mode_;
596 int input_format_;
597 int output_format_;
598 int inference_type_;
599 float default_ranges_min_;
600 float default_ranges_max_;
601 bool drop_fake_quant_;
602 bool reorder_across_fake_quant_;
603 bool allow_custom_ops_;
604 bool drop_control_dependency_;
605 int inference_input_type_;
606 float default_int16_ranges_min_;
607 float default_int16_ranges_max_;
608 bool debug_disable_recurrent_cell_fusion_;
609 bool propagate_fake_quant_num_bits_;
610 bool allow_nudging_weights_to_use_fast_gemm_kernel_;
611 bool quantize_weights_;
612 bool dump_graphviz_include_video_;
613 bool post_training_quantize_;
614 bool enable_select_tf_ops_;
615 bool force_select_tf_ops_;
616 bool quantize_to_float16_;
617 bool allow_bfloat16_;
618 bool allow_all_select_tf_ops_;
619 bool unfold_large_splat_constant_;
620 int accumulation_type_;
621 bool default_to_single_batch_in_tensor_list_ops_;
622 bool disable_per_channel_quantization_;
623 bool enable_mlir_dynamic_range_quantizer_;
624 bool disable_infer_tensor_range_;
625 bool use_fake_quant_num_bits_;
626 bool enable_dynamic_update_slice_;
627 bool preserve_assert_op_;
628 bool guarantee_all_funcs_one_use_;
629 ::PROTOBUF_NAMESPACE_ID::int64 dedupe_array_min_size_bytes_;
630 bool split_tflite_lstm_inputs_;
631 bool allow_dynamic_tensors_;
632 bool enable_tflite_resource_variables_;
633 bool unfold_batchmatmul_;
634 bool lower_tensor_list_ops_;
635 friend struct ::TableStruct_tensorflow_2flite_2ftoco_2ftoco_5fflags_2eproto;
636};
637// ===================================================================
638
639
640// ===================================================================
641
642#ifdef __GNUC__
643 #pragma GCC diagnostic push
644 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
645#endif // __GNUC__
646// TocoFlags
647
648// optional .toco.FileFormat input_format = 1;
649inline bool TocoFlags::has_input_format() const {
650 return (_has_bits_[0] & 0x00000008u) != 0;
651}
652inline void TocoFlags::clear_input_format() {
653 input_format_ = 0;
654 _has_bits_[0] &= ~0x00000008u;
655}
656inline ::toco::FileFormat TocoFlags::input_format() const {
657 // @@protoc_insertion_point(field_get:toco.TocoFlags.input_format)
658 return static_cast< ::toco::FileFormat >(input_format_);
659}
660inline void TocoFlags::set_input_format(::toco::FileFormat value) {
661 assert(::toco::FileFormat_IsValid(value));
662 _has_bits_[0] |= 0x00000008u;
663 input_format_ = value;
664 // @@protoc_insertion_point(field_set:toco.TocoFlags.input_format)
665}
666
667// optional .toco.FileFormat output_format = 2;
668inline bool TocoFlags::has_output_format() const {
669 return (_has_bits_[0] & 0x00000010u) != 0;
670}
671inline void TocoFlags::clear_output_format() {
672 output_format_ = 0;
673 _has_bits_[0] &= ~0x00000010u;
674}
675inline ::toco::FileFormat TocoFlags::output_format() const {
676 // @@protoc_insertion_point(field_get:toco.TocoFlags.output_format)
677 return static_cast< ::toco::FileFormat >(output_format_);
678}
679inline void TocoFlags::set_output_format(::toco::FileFormat value) {
680 assert(::toco::FileFormat_IsValid(value));
681 _has_bits_[0] |= 0x00000010u;
682 output_format_ = value;
683 // @@protoc_insertion_point(field_set:toco.TocoFlags.output_format)
684}
685
686// optional .toco.IODataType inference_input_type = 11;
687inline bool TocoFlags::has_inference_input_type() const {
688 return (_has_bits_[0] & 0x00001000u) != 0;
689}
690inline void TocoFlags::clear_inference_input_type() {
691 inference_input_type_ = 0;
692 _has_bits_[0] &= ~0x00001000u;
693}
694inline ::toco::IODataType TocoFlags::inference_input_type() const {
695 // @@protoc_insertion_point(field_get:toco.TocoFlags.inference_input_type)
696 return static_cast< ::toco::IODataType >(inference_input_type_);
697}
698inline void TocoFlags::set_inference_input_type(::toco::IODataType value) {
699 assert(::toco::IODataType_IsValid(value));
700 _has_bits_[0] |= 0x00001000u;
701 inference_input_type_ = value;
702 // @@protoc_insertion_point(field_set:toco.TocoFlags.inference_input_type)
703}
704
705// optional .toco.IODataType inference_type = 4;
706inline bool TocoFlags::has_inference_type() const {
707 return (_has_bits_[0] & 0x00000020u) != 0;
708}
709inline void TocoFlags::clear_inference_type() {
710 inference_type_ = 0;
711 _has_bits_[0] &= ~0x00000020u;
712}
713inline ::toco::IODataType TocoFlags::inference_type() const {
714 // @@protoc_insertion_point(field_get:toco.TocoFlags.inference_type)
715 return static_cast< ::toco::IODataType >(inference_type_);
716}
717inline void TocoFlags::set_inference_type(::toco::IODataType value) {
718 assert(::toco::IODataType_IsValid(value));
719 _has_bits_[0] |= 0x00000020u;
720 inference_type_ = value;
721 // @@protoc_insertion_point(field_set:toco.TocoFlags.inference_type)
722}
723
724// optional float default_ranges_min = 5;
725inline bool TocoFlags::has_default_ranges_min() const {
726 return (_has_bits_[0] & 0x00000040u) != 0;
727}
728inline void TocoFlags::clear_default_ranges_min() {
729 default_ranges_min_ = 0;
730 _has_bits_[0] &= ~0x00000040u;
731}
732inline float TocoFlags::default_ranges_min() const {
733 // @@protoc_insertion_point(field_get:toco.TocoFlags.default_ranges_min)
734 return default_ranges_min_;
735}
736inline void TocoFlags::set_default_ranges_min(float value) {
737 _has_bits_[0] |= 0x00000040u;
738 default_ranges_min_ = value;
739 // @@protoc_insertion_point(field_set:toco.TocoFlags.default_ranges_min)
740}
741
742// optional float default_ranges_max = 6;
743inline bool TocoFlags::has_default_ranges_max() const {
744 return (_has_bits_[0] & 0x00000080u) != 0;
745}
746inline void TocoFlags::clear_default_ranges_max() {
747 default_ranges_max_ = 0;
748 _has_bits_[0] &= ~0x00000080u;
749}
750inline float TocoFlags::default_ranges_max() const {
751 // @@protoc_insertion_point(field_get:toco.TocoFlags.default_ranges_max)
752 return default_ranges_max_;
753}
754inline void TocoFlags::set_default_ranges_max(float value) {
755 _has_bits_[0] |= 0x00000080u;
756 default_ranges_max_ = value;
757 // @@protoc_insertion_point(field_set:toco.TocoFlags.default_ranges_max)
758}
759
760// optional float default_int16_ranges_min = 15;
761inline bool TocoFlags::has_default_int16_ranges_min() const {
762 return (_has_bits_[0] & 0x00002000u) != 0;
763}
764inline void TocoFlags::clear_default_int16_ranges_min() {
765 default_int16_ranges_min_ = 0;
766 _has_bits_[0] &= ~0x00002000u;
767}
768inline float TocoFlags::default_int16_ranges_min() const {
769 // @@protoc_insertion_point(field_get:toco.TocoFlags.default_int16_ranges_min)
770 return default_int16_ranges_min_;
771}
772inline void TocoFlags::set_default_int16_ranges_min(float value) {
773 _has_bits_[0] |= 0x00002000u;
774 default_int16_ranges_min_ = value;
775 // @@protoc_insertion_point(field_set:toco.TocoFlags.default_int16_ranges_min)
776}
777
778// optional float default_int16_ranges_max = 16;
779inline bool TocoFlags::has_default_int16_ranges_max() const {
780 return (_has_bits_[0] & 0x00004000u) != 0;
781}
782inline void TocoFlags::clear_default_int16_ranges_max() {
783 default_int16_ranges_max_ = 0;
784 _has_bits_[0] &= ~0x00004000u;
785}
786inline float TocoFlags::default_int16_ranges_max() const {
787 // @@protoc_insertion_point(field_get:toco.TocoFlags.default_int16_ranges_max)
788 return default_int16_ranges_max_;
789}
790inline void TocoFlags::set_default_int16_ranges_max(float value) {
791 _has_bits_[0] |= 0x00004000u;
792 default_int16_ranges_max_ = value;
793 // @@protoc_insertion_point(field_set:toco.TocoFlags.default_int16_ranges_max)
794}
795
796// optional bool drop_fake_quant = 7;
797inline bool TocoFlags::has_drop_fake_quant() const {
798 return (_has_bits_[0] & 0x00000100u) != 0;
799}
800inline void TocoFlags::clear_drop_fake_quant() {
801 drop_fake_quant_ = false;
802 _has_bits_[0] &= ~0x00000100u;
803}
804inline bool TocoFlags::drop_fake_quant() const {
805 // @@protoc_insertion_point(field_get:toco.TocoFlags.drop_fake_quant)
806 return drop_fake_quant_;
807}
808inline void TocoFlags::set_drop_fake_quant(bool value) {
809 _has_bits_[0] |= 0x00000100u;
810 drop_fake_quant_ = value;
811 // @@protoc_insertion_point(field_set:toco.TocoFlags.drop_fake_quant)
812}
813
814// optional bool reorder_across_fake_quant = 8;
815inline bool TocoFlags::has_reorder_across_fake_quant() const {
816 return (_has_bits_[0] & 0x00000200u) != 0;
817}
818inline void TocoFlags::clear_reorder_across_fake_quant() {
819 reorder_across_fake_quant_ = false;
820 _has_bits_[0] &= ~0x00000200u;
821}
822inline bool TocoFlags::reorder_across_fake_quant() const {
823 // @@protoc_insertion_point(field_get:toco.TocoFlags.reorder_across_fake_quant)
824 return reorder_across_fake_quant_;
825}
826inline void TocoFlags::set_reorder_across_fake_quant(bool value) {
827 _has_bits_[0] |= 0x00000200u;
828 reorder_across_fake_quant_ = value;
829 // @@protoc_insertion_point(field_set:toco.TocoFlags.reorder_across_fake_quant)
830}
831
832// optional bool allow_custom_ops = 10;
833inline bool TocoFlags::has_allow_custom_ops() const {
834 return (_has_bits_[0] & 0x00000400u) != 0;
835}
836inline void TocoFlags::clear_allow_custom_ops() {
837 allow_custom_ops_ = false;
838 _has_bits_[0] &= ~0x00000400u;
839}
840inline bool TocoFlags::allow_custom_ops() const {
841 // @@protoc_insertion_point(field_get:toco.TocoFlags.allow_custom_ops)
842 return allow_custom_ops_;
843}
844inline void TocoFlags::set_allow_custom_ops(bool value) {
845 _has_bits_[0] |= 0x00000400u;
846 allow_custom_ops_ = value;
847 // @@protoc_insertion_point(field_set:toco.TocoFlags.allow_custom_ops)
848}
849
850// optional bool drop_control_dependency = 12;
851inline bool TocoFlags::has_drop_control_dependency() const {
852 return (_has_bits_[0] & 0x00000800u) != 0;
853}
854inline void TocoFlags::clear_drop_control_dependency() {
855 drop_control_dependency_ = false;
856 _has_bits_[0] &= ~0x00000800u;
857}
858inline bool TocoFlags::drop_control_dependency() const {
859 // @@protoc_insertion_point(field_get:toco.TocoFlags.drop_control_dependency)
860 return drop_control_dependency_;
861}
862inline void TocoFlags::set_drop_control_dependency(bool value) {
863 _has_bits_[0] |= 0x00000800u;
864 drop_control_dependency_ = value;
865 // @@protoc_insertion_point(field_set:toco.TocoFlags.drop_control_dependency)
866}
867
868// optional bool debug_disable_recurrent_cell_fusion = 13;
869inline bool TocoFlags::has_debug_disable_recurrent_cell_fusion() const {
870 return (_has_bits_[0] & 0x00008000u) != 0;
871}
872inline void TocoFlags::clear_debug_disable_recurrent_cell_fusion() {
873 debug_disable_recurrent_cell_fusion_ = false;
874 _has_bits_[0] &= ~0x00008000u;
875}
876inline bool TocoFlags::debug_disable_recurrent_cell_fusion() const {
877 // @@protoc_insertion_point(field_get:toco.TocoFlags.debug_disable_recurrent_cell_fusion)
878 return debug_disable_recurrent_cell_fusion_;
879}
880inline void TocoFlags::set_debug_disable_recurrent_cell_fusion(bool value) {
881 _has_bits_[0] |= 0x00008000u;
882 debug_disable_recurrent_cell_fusion_ = value;
883 // @@protoc_insertion_point(field_set:toco.TocoFlags.debug_disable_recurrent_cell_fusion)
884}
885
886// optional bool propagate_fake_quant_num_bits = 14;
887inline bool TocoFlags::has_propagate_fake_quant_num_bits() const {
888 return (_has_bits_[0] & 0x00010000u) != 0;
889}
890inline void TocoFlags::clear_propagate_fake_quant_num_bits() {
891 propagate_fake_quant_num_bits_ = false;
892 _has_bits_[0] &= ~0x00010000u;
893}
894inline bool TocoFlags::propagate_fake_quant_num_bits() const {
895 // @@protoc_insertion_point(field_get:toco.TocoFlags.propagate_fake_quant_num_bits)
896 return propagate_fake_quant_num_bits_;
897}
898inline void TocoFlags::set_propagate_fake_quant_num_bits(bool value) {
899 _has_bits_[0] |= 0x00010000u;
900 propagate_fake_quant_num_bits_ = value;
901 // @@protoc_insertion_point(field_set:toco.TocoFlags.propagate_fake_quant_num_bits)
902}
903
904// optional bool allow_nudging_weights_to_use_fast_gemm_kernel = 17;
905inline bool TocoFlags::has_allow_nudging_weights_to_use_fast_gemm_kernel() const {
906 return (_has_bits_[0] & 0x00020000u) != 0;
907}
908inline void TocoFlags::clear_allow_nudging_weights_to_use_fast_gemm_kernel() {
909 allow_nudging_weights_to_use_fast_gemm_kernel_ = false;
910 _has_bits_[0] &= ~0x00020000u;
911}
912inline bool TocoFlags::allow_nudging_weights_to_use_fast_gemm_kernel() const {
913 // @@protoc_insertion_point(field_get:toco.TocoFlags.allow_nudging_weights_to_use_fast_gemm_kernel)
914 return allow_nudging_weights_to_use_fast_gemm_kernel_;
915}
916inline void TocoFlags::set_allow_nudging_weights_to_use_fast_gemm_kernel(bool value) {
917 _has_bits_[0] |= 0x00020000u;
918 allow_nudging_weights_to_use_fast_gemm_kernel_ = value;
919 // @@protoc_insertion_point(field_set:toco.TocoFlags.allow_nudging_weights_to_use_fast_gemm_kernel)
920}
921
922// optional int64 dedupe_array_min_size_bytes = 18 [default = 64];
923inline bool TocoFlags::has_dedupe_array_min_size_bytes() const {
924 return (_has_bits_[1] & 0x00000010u) != 0;
925}
926inline void TocoFlags::clear_dedupe_array_min_size_bytes() {
927 dedupe_array_min_size_bytes_ = PROTOBUF_LONGLONG(64);
928 _has_bits_[1] &= ~0x00000010u;
929}
930inline ::PROTOBUF_NAMESPACE_ID::int64 TocoFlags::dedupe_array_min_size_bytes() const {
931 // @@protoc_insertion_point(field_get:toco.TocoFlags.dedupe_array_min_size_bytes)
932 return dedupe_array_min_size_bytes_;
933}
934inline void TocoFlags::set_dedupe_array_min_size_bytes(::PROTOBUF_NAMESPACE_ID::int64 value) {
935 _has_bits_[1] |= 0x00000010u;
936 dedupe_array_min_size_bytes_ = value;
937 // @@protoc_insertion_point(field_set:toco.TocoFlags.dedupe_array_min_size_bytes)
938}
939
940// optional bool split_tflite_lstm_inputs = 19 [default = true];
941inline bool TocoFlags::has_split_tflite_lstm_inputs() const {
942 return (_has_bits_[1] & 0x00000020u) != 0;
943}
944inline void TocoFlags::clear_split_tflite_lstm_inputs() {
945 split_tflite_lstm_inputs_ = true;
946 _has_bits_[1] &= ~0x00000020u;
947}
948inline bool TocoFlags::split_tflite_lstm_inputs() const {
949 // @@protoc_insertion_point(field_get:toco.TocoFlags.split_tflite_lstm_inputs)
950 return split_tflite_lstm_inputs_;
951}
952inline void TocoFlags::set_split_tflite_lstm_inputs(bool value) {
953 _has_bits_[1] |= 0x00000020u;
954 split_tflite_lstm_inputs_ = value;
955 // @@protoc_insertion_point(field_set:toco.TocoFlags.split_tflite_lstm_inputs)
956}
957
958// optional bool quantize_weights = 20 [default = false];
959inline bool TocoFlags::has_quantize_weights() const {
960 return (_has_bits_[0] & 0x00040000u) != 0;
961}
962inline void TocoFlags::clear_quantize_weights() {
963 quantize_weights_ = false;
964 _has_bits_[0] &= ~0x00040000u;
965}
966inline bool TocoFlags::quantize_weights() const {
967 // @@protoc_insertion_point(field_get:toco.TocoFlags.quantize_weights)
968 return quantize_weights_;
969}
970inline void TocoFlags::set_quantize_weights(bool value) {
971 _has_bits_[0] |= 0x00040000u;
972 quantize_weights_ = value;
973 // @@protoc_insertion_point(field_set:toco.TocoFlags.quantize_weights)
974}
975
976// optional string dump_graphviz_dir = 24;
977inline bool TocoFlags::has_dump_graphviz_dir() const {
978 return (_has_bits_[0] & 0x00000001u) != 0;
979}
980inline void TocoFlags::clear_dump_graphviz_dir() {
981 dump_graphviz_dir_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
982 _has_bits_[0] &= ~0x00000001u;
983}
984inline const std::string& TocoFlags::dump_graphviz_dir() const {
985 // @@protoc_insertion_point(field_get:toco.TocoFlags.dump_graphviz_dir)
986 return dump_graphviz_dir_.GetNoArena();
987}
988inline void TocoFlags::set_dump_graphviz_dir(const std::string& value) {
989 _has_bits_[0] |= 0x00000001u;
990 dump_graphviz_dir_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
991 // @@protoc_insertion_point(field_set:toco.TocoFlags.dump_graphviz_dir)
992}
993inline void TocoFlags::set_dump_graphviz_dir(std::string&& value) {
994 _has_bits_[0] |= 0x00000001u;
995 dump_graphviz_dir_.SetNoArena(
996 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
997 // @@protoc_insertion_point(field_set_rvalue:toco.TocoFlags.dump_graphviz_dir)
998}
999inline void TocoFlags::set_dump_graphviz_dir(const char* value) {
1000 GOOGLE_DCHECK(value != nullptr);
1001 _has_bits_[0] |= 0x00000001u;
1002 dump_graphviz_dir_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
1003 // @@protoc_insertion_point(field_set_char:toco.TocoFlags.dump_graphviz_dir)
1004}
1005inline void TocoFlags::set_dump_graphviz_dir(const char* value, size_t size) {
1006 _has_bits_[0] |= 0x00000001u;
1007 dump_graphviz_dir_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
1008 ::std::string(reinterpret_cast<const char*>(value), size));
1009 // @@protoc_insertion_point(field_set_pointer:toco.TocoFlags.dump_graphviz_dir)
1010}
1011inline std::string* TocoFlags::mutable_dump_graphviz_dir() {
1012 _has_bits_[0] |= 0x00000001u;
1013 // @@protoc_insertion_point(field_mutable:toco.TocoFlags.dump_graphviz_dir)
1014 return dump_graphviz_dir_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1015}
1016inline std::string* TocoFlags::release_dump_graphviz_dir() {
1017 // @@protoc_insertion_point(field_release:toco.TocoFlags.dump_graphviz_dir)
1018 if (!has_dump_graphviz_dir()) {
1019 return nullptr;
1020 }
1021 _has_bits_[0] &= ~0x00000001u;
1022 return dump_graphviz_dir_.ReleaseNonDefaultNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1023}
1024inline void TocoFlags::set_allocated_dump_graphviz_dir(std::string* dump_graphviz_dir) {
1025 if (dump_graphviz_dir != nullptr) {
1026 _has_bits_[0] |= 0x00000001u;
1027 } else {
1028 _has_bits_[0] &= ~0x00000001u;
1029 }
1030 dump_graphviz_dir_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), dump_graphviz_dir);
1031 // @@protoc_insertion_point(field_set_allocated:toco.TocoFlags.dump_graphviz_dir)
1032}
1033
1034// optional bool dump_graphviz_include_video = 25;
1035inline bool TocoFlags::has_dump_graphviz_include_video() const {
1036 return (_has_bits_[0] & 0x00080000u) != 0;
1037}
1038inline void TocoFlags::clear_dump_graphviz_include_video() {
1039 dump_graphviz_include_video_ = false;
1040 _has_bits_[0] &= ~0x00080000u;
1041}
1042inline bool TocoFlags::dump_graphviz_include_video() const {
1043 // @@protoc_insertion_point(field_get:toco.TocoFlags.dump_graphviz_include_video)
1044 return dump_graphviz_include_video_;
1045}
1046inline void TocoFlags::set_dump_graphviz_include_video(bool value) {
1047 _has_bits_[0] |= 0x00080000u;
1048 dump_graphviz_include_video_ = value;
1049 // @@protoc_insertion_point(field_set:toco.TocoFlags.dump_graphviz_include_video)
1050}
1051
1052// optional bool post_training_quantize = 26 [default = false];
1053inline bool TocoFlags::has_post_training_quantize() const {
1054 return (_has_bits_[0] & 0x00100000u) != 0;
1055}
1056inline void TocoFlags::clear_post_training_quantize() {
1057 post_training_quantize_ = false;
1058 _has_bits_[0] &= ~0x00100000u;
1059}
1060inline bool TocoFlags::post_training_quantize() const {
1061 // @@protoc_insertion_point(field_get:toco.TocoFlags.post_training_quantize)
1062 return post_training_quantize_;
1063}
1064inline void TocoFlags::set_post_training_quantize(bool value) {
1065 _has_bits_[0] |= 0x00100000u;
1066 post_training_quantize_ = value;
1067 // @@protoc_insertion_point(field_set:toco.TocoFlags.post_training_quantize)
1068}
1069
1070// optional bool enable_select_tf_ops = 27 [default = false];
1071inline bool TocoFlags::has_enable_select_tf_ops() const {
1072 return (_has_bits_[0] & 0x00200000u) != 0;
1073}
1074inline void TocoFlags::clear_enable_select_tf_ops() {
1075 enable_select_tf_ops_ = false;
1076 _has_bits_[0] &= ~0x00200000u;
1077}
1078inline bool TocoFlags::enable_select_tf_ops() const {
1079 // @@protoc_insertion_point(field_get:toco.TocoFlags.enable_select_tf_ops)
1080 return enable_select_tf_ops_;
1081}
1082inline void TocoFlags::set_enable_select_tf_ops(bool value) {
1083 _has_bits_[0] |= 0x00200000u;
1084 enable_select_tf_ops_ = value;
1085 // @@protoc_insertion_point(field_set:toco.TocoFlags.enable_select_tf_ops)
1086}
1087
1088// optional bool force_select_tf_ops = 28 [default = false];
1089inline bool TocoFlags::has_force_select_tf_ops() const {
1090 return (_has_bits_[0] & 0x00400000u) != 0;
1091}
1092inline void TocoFlags::clear_force_select_tf_ops() {
1093 force_select_tf_ops_ = false;
1094 _has_bits_[0] &= ~0x00400000u;
1095}
1096inline bool TocoFlags::force_select_tf_ops() const {
1097 // @@protoc_insertion_point(field_get:toco.TocoFlags.force_select_tf_ops)
1098 return force_select_tf_ops_;
1099}
1100inline void TocoFlags::set_force_select_tf_ops(bool value) {
1101 _has_bits_[0] |= 0x00400000u;
1102 force_select_tf_ops_ = value;
1103 // @@protoc_insertion_point(field_set:toco.TocoFlags.force_select_tf_ops)
1104}
1105
1106// optional bool quantize_to_float16 = 29 [default = false];
1107inline bool TocoFlags::has_quantize_to_float16() const {
1108 return (_has_bits_[0] & 0x00800000u) != 0;
1109}
1110inline void TocoFlags::clear_quantize_to_float16() {
1111 quantize_to_float16_ = false;
1112 _has_bits_[0] &= ~0x00800000u;
1113}
1114inline bool TocoFlags::quantize_to_float16() const {
1115 // @@protoc_insertion_point(field_get:toco.TocoFlags.quantize_to_float16)
1116 return quantize_to_float16_;
1117}
1118inline void TocoFlags::set_quantize_to_float16(bool value) {
1119 _has_bits_[0] |= 0x00800000u;
1120 quantize_to_float16_ = value;
1121 // @@protoc_insertion_point(field_set:toco.TocoFlags.quantize_to_float16)
1122}
1123
1124// optional bool allow_dynamic_tensors = 30 [default = true];
1125inline bool TocoFlags::has_allow_dynamic_tensors() const {
1126 return (_has_bits_[1] & 0x00000040u) != 0;
1127}
1128inline void TocoFlags::clear_allow_dynamic_tensors() {
1129 allow_dynamic_tensors_ = true;
1130 _has_bits_[1] &= ~0x00000040u;
1131}
1132inline bool TocoFlags::allow_dynamic_tensors() const {
1133 // @@protoc_insertion_point(field_get:toco.TocoFlags.allow_dynamic_tensors)
1134 return allow_dynamic_tensors_;
1135}
1136inline void TocoFlags::set_allow_dynamic_tensors(bool value) {
1137 _has_bits_[1] |= 0x00000040u;
1138 allow_dynamic_tensors_ = value;
1139 // @@protoc_insertion_point(field_set:toco.TocoFlags.allow_dynamic_tensors)
1140}
1141
1142// optional string conversion_summary_dir = 31;
1143inline bool TocoFlags::has_conversion_summary_dir() const {
1144 return (_has_bits_[0] & 0x00000002u) != 0;
1145}
1146inline void TocoFlags::clear_conversion_summary_dir() {
1147 conversion_summary_dir_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1148 _has_bits_[0] &= ~0x00000002u;
1149}
1150inline const std::string& TocoFlags::conversion_summary_dir() const {
1151 // @@protoc_insertion_point(field_get:toco.TocoFlags.conversion_summary_dir)
1152 return conversion_summary_dir_.GetNoArena();
1153}
1154inline void TocoFlags::set_conversion_summary_dir(const std::string& value) {
1155 _has_bits_[0] |= 0x00000002u;
1156 conversion_summary_dir_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
1157 // @@protoc_insertion_point(field_set:toco.TocoFlags.conversion_summary_dir)
1158}
1159inline void TocoFlags::set_conversion_summary_dir(std::string&& value) {
1160 _has_bits_[0] |= 0x00000002u;
1161 conversion_summary_dir_.SetNoArena(
1162 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
1163 // @@protoc_insertion_point(field_set_rvalue:toco.TocoFlags.conversion_summary_dir)
1164}
1165inline void TocoFlags::set_conversion_summary_dir(const char* value) {
1166 GOOGLE_DCHECK(value != nullptr);
1167 _has_bits_[0] |= 0x00000002u;
1168 conversion_summary_dir_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
1169 // @@protoc_insertion_point(field_set_char:toco.TocoFlags.conversion_summary_dir)
1170}
1171inline void TocoFlags::set_conversion_summary_dir(const char* value, size_t size) {
1172 _has_bits_[0] |= 0x00000002u;
1173 conversion_summary_dir_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
1174 ::std::string(reinterpret_cast<const char*>(value), size));
1175 // @@protoc_insertion_point(field_set_pointer:toco.TocoFlags.conversion_summary_dir)
1176}
1177inline std::string* TocoFlags::mutable_conversion_summary_dir() {
1178 _has_bits_[0] |= 0x00000002u;
1179 // @@protoc_insertion_point(field_mutable:toco.TocoFlags.conversion_summary_dir)
1180 return conversion_summary_dir_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1181}
1182inline std::string* TocoFlags::release_conversion_summary_dir() {
1183 // @@protoc_insertion_point(field_release:toco.TocoFlags.conversion_summary_dir)
1184 if (!has_conversion_summary_dir()) {
1185 return nullptr;
1186 }
1187 _has_bits_[0] &= ~0x00000002u;
1188 return conversion_summary_dir_.ReleaseNonDefaultNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1189}
1190inline void TocoFlags::set_allocated_conversion_summary_dir(std::string* conversion_summary_dir) {
1191 if (conversion_summary_dir != nullptr) {
1192 _has_bits_[0] |= 0x00000002u;
1193 } else {
1194 _has_bits_[0] &= ~0x00000002u;
1195 }
1196 conversion_summary_dir_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), conversion_summary_dir);
1197 // @@protoc_insertion_point(field_set_allocated:toco.TocoFlags.conversion_summary_dir)
1198}
1199
1200// repeated string custom_opdefs = 32 [deprecated = true];
1201inline int TocoFlags::custom_opdefs_size() const {
1202 return custom_opdefs_.size();
1203}
1204inline void TocoFlags::clear_custom_opdefs() {
1205 custom_opdefs_.Clear();
1206}
1207inline const std::string& TocoFlags::custom_opdefs(int index) const {
1208 // @@protoc_insertion_point(field_get:toco.TocoFlags.custom_opdefs)
1209 return custom_opdefs_.Get(index);
1210}
1211inline std::string* TocoFlags::mutable_custom_opdefs(int index) {
1212 // @@protoc_insertion_point(field_mutable:toco.TocoFlags.custom_opdefs)
1213 return custom_opdefs_.Mutable(index);
1214}
1215inline void TocoFlags::set_custom_opdefs(int index, const std::string& value) {
1216 // @@protoc_insertion_point(field_set:toco.TocoFlags.custom_opdefs)
1217 custom_opdefs_.Mutable(index)->assign(value);
1218}
1219inline void TocoFlags::set_custom_opdefs(int index, std::string&& value) {
1220 // @@protoc_insertion_point(field_set:toco.TocoFlags.custom_opdefs)
1221 custom_opdefs_.Mutable(index)->assign(std::move(value));
1222}
1223inline void TocoFlags::set_custom_opdefs(int index, const char* value) {
1224 GOOGLE_DCHECK(value != nullptr);
1225 custom_opdefs_.Mutable(index)->assign(value);
1226 // @@protoc_insertion_point(field_set_char:toco.TocoFlags.custom_opdefs)
1227}
1228inline void TocoFlags::set_custom_opdefs(int index, const char* value, size_t size) {
1229 custom_opdefs_.Mutable(index)->assign(
1230 reinterpret_cast<const char*>(value), size);
1231 // @@protoc_insertion_point(field_set_pointer:toco.TocoFlags.custom_opdefs)
1232}
1233inline std::string* TocoFlags::add_custom_opdefs() {
1234 // @@protoc_insertion_point(field_add_mutable:toco.TocoFlags.custom_opdefs)
1235 return custom_opdefs_.Add();
1236}
1237inline void TocoFlags::add_custom_opdefs(const std::string& value) {
1238 custom_opdefs_.Add()->assign(value);
1239 // @@protoc_insertion_point(field_add:toco.TocoFlags.custom_opdefs)
1240}
1241inline void TocoFlags::add_custom_opdefs(std::string&& value) {
1242 custom_opdefs_.Add(std::move(value));
1243 // @@protoc_insertion_point(field_add:toco.TocoFlags.custom_opdefs)
1244}
1245inline void TocoFlags::add_custom_opdefs(const char* value) {
1246 GOOGLE_DCHECK(value != nullptr);
1247 custom_opdefs_.Add()->assign(value);
1248 // @@protoc_insertion_point(field_add_char:toco.TocoFlags.custom_opdefs)
1249}
1250inline void TocoFlags::add_custom_opdefs(const char* value, size_t size) {
1251 custom_opdefs_.Add()->assign(reinterpret_cast<const char*>(value), size);
1252 // @@protoc_insertion_point(field_add_pointer:toco.TocoFlags.custom_opdefs)
1253}
1254inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
1255TocoFlags::custom_opdefs() const {
1256 // @@protoc_insertion_point(field_list:toco.TocoFlags.custom_opdefs)
1257 return custom_opdefs_;
1258}
1259inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
1260TocoFlags::mutable_custom_opdefs() {
1261 // @@protoc_insertion_point(field_mutable_list:toco.TocoFlags.custom_opdefs)
1262 return &custom_opdefs_;
1263}
1264
1265// repeated string select_user_tf_ops = 33;
1266inline int TocoFlags::select_user_tf_ops_size() const {
1267 return select_user_tf_ops_.size();
1268}
1269inline void TocoFlags::clear_select_user_tf_ops() {
1270 select_user_tf_ops_.Clear();
1271}
1272inline const std::string& TocoFlags::select_user_tf_ops(int index) const {
1273 // @@protoc_insertion_point(field_get:toco.TocoFlags.select_user_tf_ops)
1274 return select_user_tf_ops_.Get(index);
1275}
1276inline std::string* TocoFlags::mutable_select_user_tf_ops(int index) {
1277 // @@protoc_insertion_point(field_mutable:toco.TocoFlags.select_user_tf_ops)
1278 return select_user_tf_ops_.Mutable(index);
1279}
1280inline void TocoFlags::set_select_user_tf_ops(int index, const std::string& value) {
1281 // @@protoc_insertion_point(field_set:toco.TocoFlags.select_user_tf_ops)
1282 select_user_tf_ops_.Mutable(index)->assign(value);
1283}
1284inline void TocoFlags::set_select_user_tf_ops(int index, std::string&& value) {
1285 // @@protoc_insertion_point(field_set:toco.TocoFlags.select_user_tf_ops)
1286 select_user_tf_ops_.Mutable(index)->assign(std::move(value));
1287}
1288inline void TocoFlags::set_select_user_tf_ops(int index, const char* value) {
1289 GOOGLE_DCHECK(value != nullptr);
1290 select_user_tf_ops_.Mutable(index)->assign(value);
1291 // @@protoc_insertion_point(field_set_char:toco.TocoFlags.select_user_tf_ops)
1292}
1293inline void TocoFlags::set_select_user_tf_ops(int index, const char* value, size_t size) {
1294 select_user_tf_ops_.Mutable(index)->assign(
1295 reinterpret_cast<const char*>(value), size);
1296 // @@protoc_insertion_point(field_set_pointer:toco.TocoFlags.select_user_tf_ops)
1297}
1298inline std::string* TocoFlags::add_select_user_tf_ops() {
1299 // @@protoc_insertion_point(field_add_mutable:toco.TocoFlags.select_user_tf_ops)
1300 return select_user_tf_ops_.Add();
1301}
1302inline void TocoFlags::add_select_user_tf_ops(const std::string& value) {
1303 select_user_tf_ops_.Add()->assign(value);
1304 // @@protoc_insertion_point(field_add:toco.TocoFlags.select_user_tf_ops)
1305}
1306inline void TocoFlags::add_select_user_tf_ops(std::string&& value) {
1307 select_user_tf_ops_.Add(std::move(value));
1308 // @@protoc_insertion_point(field_add:toco.TocoFlags.select_user_tf_ops)
1309}
1310inline void TocoFlags::add_select_user_tf_ops(const char* value) {
1311 GOOGLE_DCHECK(value != nullptr);
1312 select_user_tf_ops_.Add()->assign(value);
1313 // @@protoc_insertion_point(field_add_char:toco.TocoFlags.select_user_tf_ops)
1314}
1315inline void TocoFlags::add_select_user_tf_ops(const char* value, size_t size) {
1316 select_user_tf_ops_.Add()->assign(reinterpret_cast<const char*>(value), size);
1317 // @@protoc_insertion_point(field_add_pointer:toco.TocoFlags.select_user_tf_ops)
1318}
1319inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
1320TocoFlags::select_user_tf_ops() const {
1321 // @@protoc_insertion_point(field_list:toco.TocoFlags.select_user_tf_ops)
1322 return select_user_tf_ops_;
1323}
1324inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
1325TocoFlags::mutable_select_user_tf_ops() {
1326 // @@protoc_insertion_point(field_mutable_list:toco.TocoFlags.select_user_tf_ops)
1327 return &select_user_tf_ops_;
1328}
1329
1330// optional bool enable_tflite_resource_variables = 34 [default = true];
1331inline bool TocoFlags::has_enable_tflite_resource_variables() const {
1332 return (_has_bits_[1] & 0x00000080u) != 0;
1333}
1334inline void TocoFlags::clear_enable_tflite_resource_variables() {
1335 enable_tflite_resource_variables_ = true;
1336 _has_bits_[1] &= ~0x00000080u;
1337}
1338inline bool TocoFlags::enable_tflite_resource_variables() const {
1339 // @@protoc_insertion_point(field_get:toco.TocoFlags.enable_tflite_resource_variables)
1340 return enable_tflite_resource_variables_;
1341}
1342inline void TocoFlags::set_enable_tflite_resource_variables(bool value) {
1343 _has_bits_[1] |= 0x00000080u;
1344 enable_tflite_resource_variables_ = value;
1345 // @@protoc_insertion_point(field_set:toco.TocoFlags.enable_tflite_resource_variables)
1346}
1347
1348// optional bool unfold_batchmatmul = 35 [default = true];
1349inline bool TocoFlags::has_unfold_batchmatmul() const {
1350 return (_has_bits_[1] & 0x00000100u) != 0;
1351}
1352inline void TocoFlags::clear_unfold_batchmatmul() {
1353 unfold_batchmatmul_ = true;
1354 _has_bits_[1] &= ~0x00000100u;
1355}
1356inline bool TocoFlags::unfold_batchmatmul() const {
1357 // @@protoc_insertion_point(field_get:toco.TocoFlags.unfold_batchmatmul)
1358 return unfold_batchmatmul_;
1359}
1360inline void TocoFlags::set_unfold_batchmatmul(bool value) {
1361 _has_bits_[1] |= 0x00000100u;
1362 unfold_batchmatmul_ = value;
1363 // @@protoc_insertion_point(field_set:toco.TocoFlags.unfold_batchmatmul)
1364}
1365
1366// optional bool lower_tensor_list_ops = 36 [default = true];
1367inline bool TocoFlags::has_lower_tensor_list_ops() const {
1368 return (_has_bits_[1] & 0x00000200u) != 0;
1369}
1370inline void TocoFlags::clear_lower_tensor_list_ops() {
1371 lower_tensor_list_ops_ = true;
1372 _has_bits_[1] &= ~0x00000200u;
1373}
1374inline bool TocoFlags::lower_tensor_list_ops() const {
1375 // @@protoc_insertion_point(field_get:toco.TocoFlags.lower_tensor_list_ops)
1376 return lower_tensor_list_ops_;
1377}
1378inline void TocoFlags::set_lower_tensor_list_ops(bool value) {
1379 _has_bits_[1] |= 0x00000200u;
1380 lower_tensor_list_ops_ = value;
1381 // @@protoc_insertion_point(field_set:toco.TocoFlags.lower_tensor_list_ops)
1382}
1383
1384// optional .toco.IODataType accumulation_type = 37;
1385inline bool TocoFlags::has_accumulation_type() const {
1386 return (_has_bits_[0] & 0x08000000u) != 0;
1387}
1388inline void TocoFlags::clear_accumulation_type() {
1389 accumulation_type_ = 0;
1390 _has_bits_[0] &= ~0x08000000u;
1391}
1392inline ::toco::IODataType TocoFlags::accumulation_type() const {
1393 // @@protoc_insertion_point(field_get:toco.TocoFlags.accumulation_type)
1394 return static_cast< ::toco::IODataType >(accumulation_type_);
1395}
1396inline void TocoFlags::set_accumulation_type(::toco::IODataType value) {
1397 assert(::toco::IODataType_IsValid(value));
1398 _has_bits_[0] |= 0x08000000u;
1399 accumulation_type_ = value;
1400 // @@protoc_insertion_point(field_set:toco.TocoFlags.accumulation_type)
1401}
1402
1403// optional bool allow_bfloat16 = 38 [default = false];
1404inline bool TocoFlags::has_allow_bfloat16() const {
1405 return (_has_bits_[0] & 0x01000000u) != 0;
1406}
1407inline void TocoFlags::clear_allow_bfloat16() {
1408 allow_bfloat16_ = false;
1409 _has_bits_[0] &= ~0x01000000u;
1410}
1411inline bool TocoFlags::allow_bfloat16() const {
1412 // @@protoc_insertion_point(field_get:toco.TocoFlags.allow_bfloat16)
1413 return allow_bfloat16_;
1414}
1415inline void TocoFlags::set_allow_bfloat16(bool value) {
1416 _has_bits_[0] |= 0x01000000u;
1417 allow_bfloat16_ = value;
1418 // @@protoc_insertion_point(field_set:toco.TocoFlags.allow_bfloat16)
1419}
1420
1421// optional bool allow_all_select_tf_ops = 39;
1422inline bool TocoFlags::has_allow_all_select_tf_ops() const {
1423 return (_has_bits_[0] & 0x02000000u) != 0;
1424}
1425inline void TocoFlags::clear_allow_all_select_tf_ops() {
1426 allow_all_select_tf_ops_ = false;
1427 _has_bits_[0] &= ~0x02000000u;
1428}
1429inline bool TocoFlags::allow_all_select_tf_ops() const {
1430 // @@protoc_insertion_point(field_get:toco.TocoFlags.allow_all_select_tf_ops)
1431 return allow_all_select_tf_ops_;
1432}
1433inline void TocoFlags::set_allow_all_select_tf_ops(bool value) {
1434 _has_bits_[0] |= 0x02000000u;
1435 allow_all_select_tf_ops_ = value;
1436 // @@protoc_insertion_point(field_set:toco.TocoFlags.allow_all_select_tf_ops)
1437}
1438
1439// optional bool unfold_large_splat_constant = 40 [default = false];
1440inline bool TocoFlags::has_unfold_large_splat_constant() const {
1441 return (_has_bits_[0] & 0x04000000u) != 0;
1442}
1443inline void TocoFlags::clear_unfold_large_splat_constant() {
1444 unfold_large_splat_constant_ = false;
1445 _has_bits_[0] &= ~0x04000000u;
1446}
1447inline bool TocoFlags::unfold_large_splat_constant() const {
1448 // @@protoc_insertion_point(field_get:toco.TocoFlags.unfold_large_splat_constant)
1449 return unfold_large_splat_constant_;
1450}
1451inline void TocoFlags::set_unfold_large_splat_constant(bool value) {
1452 _has_bits_[0] |= 0x04000000u;
1453 unfold_large_splat_constant_ = value;
1454 // @@protoc_insertion_point(field_set:toco.TocoFlags.unfold_large_splat_constant)
1455}
1456
1457// repeated string supported_backends = 41;
1458inline int TocoFlags::supported_backends_size() const {
1459 return supported_backends_.size();
1460}
1461inline void TocoFlags::clear_supported_backends() {
1462 supported_backends_.Clear();
1463}
1464inline const std::string& TocoFlags::supported_backends(int index) const {
1465 // @@protoc_insertion_point(field_get:toco.TocoFlags.supported_backends)
1466 return supported_backends_.Get(index);
1467}
1468inline std::string* TocoFlags::mutable_supported_backends(int index) {
1469 // @@protoc_insertion_point(field_mutable:toco.TocoFlags.supported_backends)
1470 return supported_backends_.Mutable(index);
1471}
1472inline void TocoFlags::set_supported_backends(int index, const std::string& value) {
1473 // @@protoc_insertion_point(field_set:toco.TocoFlags.supported_backends)
1474 supported_backends_.Mutable(index)->assign(value);
1475}
1476inline void TocoFlags::set_supported_backends(int index, std::string&& value) {
1477 // @@protoc_insertion_point(field_set:toco.TocoFlags.supported_backends)
1478 supported_backends_.Mutable(index)->assign(std::move(value));
1479}
1480inline void TocoFlags::set_supported_backends(int index, const char* value) {
1481 GOOGLE_DCHECK(value != nullptr);
1482 supported_backends_.Mutable(index)->assign(value);
1483 // @@protoc_insertion_point(field_set_char:toco.TocoFlags.supported_backends)
1484}
1485inline void TocoFlags::set_supported_backends(int index, const char* value, size_t size) {
1486 supported_backends_.Mutable(index)->assign(
1487 reinterpret_cast<const char*>(value), size);
1488 // @@protoc_insertion_point(field_set_pointer:toco.TocoFlags.supported_backends)
1489}
1490inline std::string* TocoFlags::add_supported_backends() {
1491 // @@protoc_insertion_point(field_add_mutable:toco.TocoFlags.supported_backends)
1492 return supported_backends_.Add();
1493}
1494inline void TocoFlags::add_supported_backends(const std::string& value) {
1495 supported_backends_.Add()->assign(value);
1496 // @@protoc_insertion_point(field_add:toco.TocoFlags.supported_backends)
1497}
1498inline void TocoFlags::add_supported_backends(std::string&& value) {
1499 supported_backends_.Add(std::move(value));
1500 // @@protoc_insertion_point(field_add:toco.TocoFlags.supported_backends)
1501}
1502inline void TocoFlags::add_supported_backends(const char* value) {
1503 GOOGLE_DCHECK(value != nullptr);
1504 supported_backends_.Add()->assign(value);
1505 // @@protoc_insertion_point(field_add_char:toco.TocoFlags.supported_backends)
1506}
1507inline void TocoFlags::add_supported_backends(const char* value, size_t size) {
1508 supported_backends_.Add()->assign(reinterpret_cast<const char*>(value), size);
1509 // @@protoc_insertion_point(field_add_pointer:toco.TocoFlags.supported_backends)
1510}
1511inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
1512TocoFlags::supported_backends() const {
1513 // @@protoc_insertion_point(field_list:toco.TocoFlags.supported_backends)
1514 return supported_backends_;
1515}
1516inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
1517TocoFlags::mutable_supported_backends() {
1518 // @@protoc_insertion_point(field_mutable_list:toco.TocoFlags.supported_backends)
1519 return &supported_backends_;
1520}
1521
1522// optional bool default_to_single_batch_in_tensor_list_ops = 42 [default = false];
1523inline bool TocoFlags::has_default_to_single_batch_in_tensor_list_ops() const {
1524 return (_has_bits_[0] & 0x10000000u) != 0;
1525}
1526inline void TocoFlags::clear_default_to_single_batch_in_tensor_list_ops() {
1527 default_to_single_batch_in_tensor_list_ops_ = false;
1528 _has_bits_[0] &= ~0x10000000u;
1529}
1530inline bool TocoFlags::default_to_single_batch_in_tensor_list_ops() const {
1531 // @@protoc_insertion_point(field_get:toco.TocoFlags.default_to_single_batch_in_tensor_list_ops)
1532 return default_to_single_batch_in_tensor_list_ops_;
1533}
1534inline void TocoFlags::set_default_to_single_batch_in_tensor_list_ops(bool value) {
1535 _has_bits_[0] |= 0x10000000u;
1536 default_to_single_batch_in_tensor_list_ops_ = value;
1537 // @@protoc_insertion_point(field_set:toco.TocoFlags.default_to_single_batch_in_tensor_list_ops)
1538}
1539
1540// optional bool disable_per_channel_quantization = 43 [default = false];
1541inline bool TocoFlags::has_disable_per_channel_quantization() const {
1542 return (_has_bits_[0] & 0x20000000u) != 0;
1543}
1544inline void TocoFlags::clear_disable_per_channel_quantization() {
1545 disable_per_channel_quantization_ = false;
1546 _has_bits_[0] &= ~0x20000000u;
1547}
1548inline bool TocoFlags::disable_per_channel_quantization() const {
1549 // @@protoc_insertion_point(field_get:toco.TocoFlags.disable_per_channel_quantization)
1550 return disable_per_channel_quantization_;
1551}
1552inline void TocoFlags::set_disable_per_channel_quantization(bool value) {
1553 _has_bits_[0] |= 0x20000000u;
1554 disable_per_channel_quantization_ = value;
1555 // @@protoc_insertion_point(field_set:toco.TocoFlags.disable_per_channel_quantization)
1556}
1557
1558// optional bool enable_mlir_dynamic_range_quantizer = 44 [default = false];
1559inline bool TocoFlags::has_enable_mlir_dynamic_range_quantizer() const {
1560 return (_has_bits_[0] & 0x40000000u) != 0;
1561}
1562inline void TocoFlags::clear_enable_mlir_dynamic_range_quantizer() {
1563 enable_mlir_dynamic_range_quantizer_ = false;
1564 _has_bits_[0] &= ~0x40000000u;
1565}
1566inline bool TocoFlags::enable_mlir_dynamic_range_quantizer() const {
1567 // @@protoc_insertion_point(field_get:toco.TocoFlags.enable_mlir_dynamic_range_quantizer)
1568 return enable_mlir_dynamic_range_quantizer_;
1569}
1570inline void TocoFlags::set_enable_mlir_dynamic_range_quantizer(bool value) {
1571 _has_bits_[0] |= 0x40000000u;
1572 enable_mlir_dynamic_range_quantizer_ = value;
1573 // @@protoc_insertion_point(field_set:toco.TocoFlags.enable_mlir_dynamic_range_quantizer)
1574}
1575
1576// optional string tf_quantization_mode = 45;
1577inline bool TocoFlags::has_tf_quantization_mode() const {
1578 return (_has_bits_[0] & 0x00000004u) != 0;
1579}
1580inline void TocoFlags::clear_tf_quantization_mode() {
1581 tf_quantization_mode_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1582 _has_bits_[0] &= ~0x00000004u;
1583}
1584inline const std::string& TocoFlags::tf_quantization_mode() const {
1585 // @@protoc_insertion_point(field_get:toco.TocoFlags.tf_quantization_mode)
1586 return tf_quantization_mode_.GetNoArena();
1587}
1588inline void TocoFlags::set_tf_quantization_mode(const std::string& value) {
1589 _has_bits_[0] |= 0x00000004u;
1590 tf_quantization_mode_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
1591 // @@protoc_insertion_point(field_set:toco.TocoFlags.tf_quantization_mode)
1592}
1593inline void TocoFlags::set_tf_quantization_mode(std::string&& value) {
1594 _has_bits_[0] |= 0x00000004u;
1595 tf_quantization_mode_.SetNoArena(
1596 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
1597 // @@protoc_insertion_point(field_set_rvalue:toco.TocoFlags.tf_quantization_mode)
1598}
1599inline void TocoFlags::set_tf_quantization_mode(const char* value) {
1600 GOOGLE_DCHECK(value != nullptr);
1601 _has_bits_[0] |= 0x00000004u;
1602 tf_quantization_mode_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
1603 // @@protoc_insertion_point(field_set_char:toco.TocoFlags.tf_quantization_mode)
1604}
1605inline void TocoFlags::set_tf_quantization_mode(const char* value, size_t size) {
1606 _has_bits_[0] |= 0x00000004u;
1607 tf_quantization_mode_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
1608 ::std::string(reinterpret_cast<const char*>(value), size));
1609 // @@protoc_insertion_point(field_set_pointer:toco.TocoFlags.tf_quantization_mode)
1610}
1611inline std::string* TocoFlags::mutable_tf_quantization_mode() {
1612 _has_bits_[0] |= 0x00000004u;
1613 // @@protoc_insertion_point(field_mutable:toco.TocoFlags.tf_quantization_mode)
1614 return tf_quantization_mode_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1615}
1616inline std::string* TocoFlags::release_tf_quantization_mode() {
1617 // @@protoc_insertion_point(field_release:toco.TocoFlags.tf_quantization_mode)
1618 if (!has_tf_quantization_mode()) {
1619 return nullptr;
1620 }
1621 _has_bits_[0] &= ~0x00000004u;
1622 return tf_quantization_mode_.ReleaseNonDefaultNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1623}
1624inline void TocoFlags::set_allocated_tf_quantization_mode(std::string* tf_quantization_mode) {
1625 if (tf_quantization_mode != nullptr) {
1626 _has_bits_[0] |= 0x00000004u;
1627 } else {
1628 _has_bits_[0] &= ~0x00000004u;
1629 }
1630 tf_quantization_mode_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), tf_quantization_mode);
1631 // @@protoc_insertion_point(field_set_allocated:toco.TocoFlags.tf_quantization_mode)
1632}
1633
1634// optional bool disable_infer_tensor_range = 46 [default = false];
1635inline bool TocoFlags::has_disable_infer_tensor_range() const {
1636 return (_has_bits_[0] & 0x80000000u) != 0;
1637}
1638inline void TocoFlags::clear_disable_infer_tensor_range() {
1639 disable_infer_tensor_range_ = false;
1640 _has_bits_[0] &= ~0x80000000u;
1641}
1642inline bool TocoFlags::disable_infer_tensor_range() const {
1643 // @@protoc_insertion_point(field_get:toco.TocoFlags.disable_infer_tensor_range)
1644 return disable_infer_tensor_range_;
1645}
1646inline void TocoFlags::set_disable_infer_tensor_range(bool value) {
1647 _has_bits_[0] |= 0x80000000u;
1648 disable_infer_tensor_range_ = value;
1649 // @@protoc_insertion_point(field_set:toco.TocoFlags.disable_infer_tensor_range)
1650}
1651
1652// optional bool use_fake_quant_num_bits = 47 [default = false];
1653inline bool TocoFlags::has_use_fake_quant_num_bits() const {
1654 return (_has_bits_[1] & 0x00000001u) != 0;
1655}
1656inline void TocoFlags::clear_use_fake_quant_num_bits() {
1657 use_fake_quant_num_bits_ = false;
1658 _has_bits_[1] &= ~0x00000001u;
1659}
1660inline bool TocoFlags::use_fake_quant_num_bits() const {
1661 // @@protoc_insertion_point(field_get:toco.TocoFlags.use_fake_quant_num_bits)
1662 return use_fake_quant_num_bits_;
1663}
1664inline void TocoFlags::set_use_fake_quant_num_bits(bool value) {
1665 _has_bits_[1] |= 0x00000001u;
1666 use_fake_quant_num_bits_ = value;
1667 // @@protoc_insertion_point(field_set:toco.TocoFlags.use_fake_quant_num_bits)
1668}
1669
1670// optional bool enable_dynamic_update_slice = 48 [default = false];
1671inline bool TocoFlags::has_enable_dynamic_update_slice() const {
1672 return (_has_bits_[1] & 0x00000002u) != 0;
1673}
1674inline void TocoFlags::clear_enable_dynamic_update_slice() {
1675 enable_dynamic_update_slice_ = false;
1676 _has_bits_[1] &= ~0x00000002u;
1677}
1678inline bool TocoFlags::enable_dynamic_update_slice() const {
1679 // @@protoc_insertion_point(field_get:toco.TocoFlags.enable_dynamic_update_slice)
1680 return enable_dynamic_update_slice_;
1681}
1682inline void TocoFlags::set_enable_dynamic_update_slice(bool value) {
1683 _has_bits_[1] |= 0x00000002u;
1684 enable_dynamic_update_slice_ = value;
1685 // @@protoc_insertion_point(field_set:toco.TocoFlags.enable_dynamic_update_slice)
1686}
1687
1688// optional bool preserve_assert_op = 49 [default = false];
1689inline bool TocoFlags::has_preserve_assert_op() const {
1690 return (_has_bits_[1] & 0x00000004u) != 0;
1691}
1692inline void TocoFlags::clear_preserve_assert_op() {
1693 preserve_assert_op_ = false;
1694 _has_bits_[1] &= ~0x00000004u;
1695}
1696inline bool TocoFlags::preserve_assert_op() const {
1697 // @@protoc_insertion_point(field_get:toco.TocoFlags.preserve_assert_op)
1698 return preserve_assert_op_;
1699}
1700inline void TocoFlags::set_preserve_assert_op(bool value) {
1701 _has_bits_[1] |= 0x00000004u;
1702 preserve_assert_op_ = value;
1703 // @@protoc_insertion_point(field_set:toco.TocoFlags.preserve_assert_op)
1704}
1705
1706// optional bool guarantee_all_funcs_one_use = 50 [default = false];
1707inline bool TocoFlags::has_guarantee_all_funcs_one_use() const {
1708 return (_has_bits_[1] & 0x00000008u) != 0;
1709}
1710inline void TocoFlags::clear_guarantee_all_funcs_one_use() {
1711 guarantee_all_funcs_one_use_ = false;
1712 _has_bits_[1] &= ~0x00000008u;
1713}
1714inline bool TocoFlags::guarantee_all_funcs_one_use() const {
1715 // @@protoc_insertion_point(field_get:toco.TocoFlags.guarantee_all_funcs_one_use)
1716 return guarantee_all_funcs_one_use_;
1717}
1718inline void TocoFlags::set_guarantee_all_funcs_one_use(bool value) {
1719 _has_bits_[1] |= 0x00000008u;
1720 guarantee_all_funcs_one_use_ = value;
1721 // @@protoc_insertion_point(field_set:toco.TocoFlags.guarantee_all_funcs_one_use)
1722}
1723
1724#ifdef __GNUC__
1725 #pragma GCC diagnostic pop
1726#endif // __GNUC__
1727
1728// @@protoc_insertion_point(namespace_scope)
1729
1730} // namespace toco
1731
1732PROTOBUF_NAMESPACE_OPEN
1733
1734template <> struct is_proto_enum< ::toco::FileFormat> : ::std::true_type {};
1735template <>
1736inline const EnumDescriptor* GetEnumDescriptor< ::toco::FileFormat>() {
1737 return ::toco::FileFormat_descriptor();
1738}
1739
1740PROTOBUF_NAMESPACE_CLOSE
1741
1742// @@protoc_insertion_point(global_scope)
1743
1744#include <google/protobuf/port_undef.inc>
1745#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_tensorflow_2flite_2ftoco_2ftoco_5fflags_2eproto
1746