text: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: tfnetwork.proto
  
  #ifndef PROTOBUF_INCLUDED_tfnetwork_2eproto
  #define PROTOBUF_INCLUDED_tfnetwork_2eproto
  
  #include <string>
  
  #include <google/protobuf/stubs/common.h>
  
  #if GOOGLE_PROTOBUF_VERSION < 3006001
  #  error This file was generated by a newer version of protoc which is
  #  error incompatible with your Protocol Buffer headers.  Please update
  #  error your headers.
  #endif
  #if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
  #  error This file was generated by an older version of protoc which is
  #  error incompatible with your Protocol Buffer headers.  Please
  #  error regenerate this file with a newer version of protoc.
  #endif
  
  #include <google/protobuf/arena.h>
  #include <google/protobuf/arenastring.h>
  #include <google/protobuf/extension_set.h> // IWYU pragma: export
  #include <google/protobuf/generated_message_table_driven.h>
  #include <google/protobuf/generated_message_util.h>
  #include <google/protobuf/inlined_string_field.h>
  #include <google/protobuf/io/coded_stream.h>
  #include <google/protobuf/message.h>
  #include <google/protobuf/metadata.h>
  #include <google/protobuf/repeated_field.h> // IWYU pragma: export
  #include <google/protobuf/unknown_field_set.h>
  #include "tensorflow/core/framework/graph.pb.h"
  // @@protoc_insertion_point(includes)
  #define PROTOBUF_INTERNAL_EXPORT_protobuf_tfnetwork_2eproto
  
  namespace protobuf_tfnetwork_2eproto {
  // Internal implementation detail -- do not use these members.
  struct TableStruct {
    static const ::google::protobuf::internal::ParseTableField entries[];
    static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
    static const ::google::protobuf::internal::ParseTable schema[1];
    static const ::google::protobuf::internal::FieldMetadata field_metadata[];
    static const ::google::protobuf::internal::SerializationTable serialization_table[];
    static const ::google::protobuf::uint32 offsets[];
  };
  void AddDescriptors();
  } // namespace protobuf_tfnetwork_2eproto
  namespace tesseract {
  class TFNetworkModel;
  class TFNetworkModelDefaultTypeInternal;
  extern TFNetworkModelDefaultTypeInternal _TFNetworkModel_default_instance_;
  } // namespace tesseract
  namespace google {
  namespace protobuf {
  template <>
  ::tesseract::TFNetworkModel *Arena::CreateMaybeMessage<::tesseract::TFNetworkModel>(Arena *);
  } // namespace protobuf
  } // namespace google
  namespace tesseract {
  
  // ===================================================================
  
  class TFNetworkModel
      : public ::google::protobuf::
            Message /* @@protoc_insertion_point(class_definition:tesseract.TFNetworkModel)
                     */
  {
  public:
    TFNetworkModel();
    virtual ~TFNetworkModel();
  
    TFNetworkModel(const TFNetworkModel &from);
  
    inline TFNetworkModel &operator=(const TFNetworkModel &from) {
      CopyFrom(from);
      return *this;
    }
  #if LANG_CXX11
    TFNetworkModel(TFNetworkModel &&from) noexcept : TFNetworkModel() {
      *this = ::std::move(from);
    }
  
    inline TFNetworkModel &operator=(TFNetworkModel &&from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from)
          InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
  #endif
    static const ::google::protobuf::Descriptor *descriptor();
    static const TFNetworkModel &default_instance();
  
    static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
    static inline const TFNetworkModel *internal_default_instance() {
      return reinterpret_cast<const TFNetworkModel *>(&_TFNetworkModel_default_instance_);
    }
    static constexpr int kIndexInFileMessages = 0;
  
    void Swap(TFNetworkModel *other);
    friend void swap(TFNetworkModel &a, TFNetworkModel &b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline TFNetworkModel *New() const final {
      return CreateMaybeMessage<TFNetworkModel>(NULL);
    }
  
    TFNetworkModel *New(::google::protobuf::Arena *arena) const final {
      return CreateMaybeMessage<TFNetworkModel>(arena);
    }
    void CopyFrom(const ::google::protobuf::Message &from) final;
    void MergeFrom(const ::google::protobuf::Message &from) final;
    void CopyFrom(const TFNetworkModel &from);
    void MergeFrom(const TFNetworkModel &from);
    void Clear() final;
    bool IsInitialized() const final;
  
    size_t ByteSizeLong() const final;
    bool MergePartialFromCodedStream(::google::protobuf::io::CodedInputStream *input) final;
    void SerializeWithCachedSizes(::google::protobuf::io::CodedOutputStream *output) const final;
    ::google::protobuf::uint8 *InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8 *target) const final;
    int GetCachedSize() const final {
      return _cached_size_.Get();
    }
  
  private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const final;
    void InternalSwap(TFNetworkModel *other);
  
  private:
    inline ::google::protobuf::Arena *GetArenaNoVirtual() const {
      return NULL;
    }
    inline void *MaybeArenaPtr() const {
      return NULL;
    }
  
  public:
    ::google::protobuf::Metadata GetMetadata() const final;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string spec = 3;
    void clear_spec();
    static const int kSpecFieldNumber = 3;
    const ::std::string &spec() const;
    void set_spec(const ::std::string &value);
  #if LANG_CXX11
    void set_spec(::std::string &&value);
  #endif
    void set_spec(const char *value);
    void set_spec(const char *value, size_t size);
    ::std::string *mutable_spec();
    ::std::string *release_spec();
    void set_allocated_spec(::std::string *spec);
  
    // string image_input = 11;
    void clear_image_input();
    static const int kImageInputFieldNumber = 11;
    const ::std::string &image_input() const;
    void set_image_input(const ::std::string &value);
  #if LANG_CXX11
    void set_image_input(::std::string &&value);
  #endif
    void set_image_input(const char *value);
    void set_image_input(const char *value, size_t size);
    ::std::string *mutable_image_input();
    ::std::string *release_image_input();
    void set_allocated_image_input(::std::string *image_input);
  
    // string image_widths = 12;
    void clear_image_widths();
    static const int kImageWidthsFieldNumber = 12;
    const ::std::string &image_widths() const;
    void set_image_widths(const ::std::string &value);
  #if LANG_CXX11
    void set_image_widths(::std::string &&value);
  #endif
    void set_image_widths(const char *value);
    void set_image_widths(const char *value, size_t size);
    ::std::string *mutable_image_widths();
    ::std::string *release_image_widths();
    void set_allocated_image_widths(::std::string *image_widths);
  
    // string image_heights = 13;
    void clear_image_heights();
    static const int kImageHeightsFieldNumber = 13;
    const ::std::string &image_heights() const;
    void set_image_heights(const ::std::string &value);
  #if LANG_CXX11
    void set_image_heights(::std::string &&value);
  #endif
    void set_image_heights(const char *value);
    void set_image_heights(const char *value, size_t size);
    ::std::string *mutable_image_heights();
    ::std::string *release_image_heights();
    void set_allocated_image_heights(::std::string *image_heights);
  
    // string output_layer = 14;
    void clear_output_layer();
    static const int kOutputLayerFieldNumber = 14;
    const ::std::string &output_layer() const;
    void set_output_layer(const ::std::string &value);
  #if LANG_CXX11
    void set_output_layer(::std::string &&value);
  #endif
    void set_output_layer(const char *value);
    void set_output_layer(const char *value, size_t size);
    ::std::string *mutable_output_layer();
    ::std::string *release_output_layer();
    void set_allocated_output_layer(::std::string *output_layer);
  
    // .tensorflow.GraphDef graph = 1;
    bool has_graph() const;
    void clear_graph();
    static const int kGraphFieldNumber = 1;
  
  private:
    const ::tensorflow::GraphDef &_internal_graph() const;
  
  public:
    const ::tensorflow::GraphDef &graph() const;
    ::tensorflow::GraphDef *release_graph();
    ::tensorflow::GraphDef *mutable_graph();
    void set_allocated_graph(::tensorflow::GraphDef *graph);
  
    // int64 global_step = 2;
    void clear_global_step();
    static const int kGlobalStepFieldNumber = 2;
    ::google::protobuf::int64 global_step() const;
    void set_global_step(::google::protobuf::int64 value);
  
    // int32 depth = 4;
    void clear_depth();
    static const int kDepthFieldNumber = 4;
    ::google::protobuf::int32 depth() const;
    void set_depth(::google::protobuf::int32 value);
  
    // int32 x_size = 5;
    void clear_x_size();
    static const int kXSizeFieldNumber = 5;
    ::google::protobuf::int32 x_size() const;
    void set_x_size(::google::protobuf::int32 value);
  
    // int32 y_size = 6;
    void clear_y_size();
    static const int kYSizeFieldNumber = 6;
    ::google::protobuf::int32 y_size() const;
    void set_y_size(::google::protobuf::int32 value);
  
    // int32 batch_size = 8;
    void clear_batch_size();
    static const int kBatchSizeFieldNumber = 8;
    ::google::protobuf::int32 batch_size() const;
    void set_batch_size(::google::protobuf::int32 value);
  
    // int32 num_classes = 9;
    void clear_num_classes();
    static const int kNumClassesFieldNumber = 9;
    ::google::protobuf::int32 num_classes() const;
    void set_num_classes(::google::protobuf::int32 value);
  
    // bool using_ctc = 10;
    void clear_using_ctc();
    static const int kUsingCtcFieldNumber = 10;
    bool using_ctc() const;
    void set_using_ctc(bool value);
  
    // @@protoc_insertion_point(class_scope:tesseract.TFNetworkModel)
  private:
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::internal::ArenaStringPtr spec_;
    ::google::protobuf::internal::ArenaStringPtr image_input_;
    ::google::protobuf::internal::ArenaStringPtr image_widths_;
    ::google::protobuf::internal::ArenaStringPtr image_heights_;
    ::google::protobuf::internal::ArenaStringPtr output_layer_;
    ::tensorflow::GraphDef *graph_;
    ::google::protobuf::int64 global_step_;
    ::google::protobuf::int32 depth_;
    ::google::protobuf::int32 x_size_;
    ::google::protobuf::int32 y_size_;
    ::google::protobuf::int32 batch_size_;
    ::google::protobuf::int32 num_classes_;
    bool using_ctc_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    friend struct ::protobuf_tfnetwork_2eproto::TableStruct;
  };
  // ===================================================================
  
  // ===================================================================
  
  #ifdef __GNUC__
  #  pragma GCC diagnostic push
  #  pragma GCC diagnostic ignored "-Wstrict-aliasing"
  #endif // __GNUC__
  // TFNetworkModel
  
  // .tensorflow.GraphDef graph = 1;
  inline bool TFNetworkModel::has_graph() const {
    return this != internal_default_instance() && graph_ != NULL;
  }
  inline const ::tensorflow::GraphDef &TFNetworkModel::_internal_graph() const {
    return *graph_;
  }
  inline const ::tensorflow::GraphDef &TFNetworkModel::graph() const {
    const ::tensorflow::GraphDef *p = graph_;
    // @@protoc_insertion_point(field_get:tesseract.TFNetworkModel.graph)
    return p != NULL ? *p
                     : *reinterpret_cast<const ::tensorflow::GraphDef *>(
                           &::tensorflow::_GraphDef_default_instance_);
  }
  inline ::tensorflow::GraphDef *TFNetworkModel::release_graph() {
    // @@protoc_insertion_point(field_release:tesseract.TFNetworkModel.graph)
  
    ::tensorflow::GraphDef *temp = graph_;
    graph_ = NULL;
    return temp;
  }
  inline ::tensorflow::GraphDef *TFNetworkModel::mutable_graph() {
    if (graph_ == NULL) {
      auto *p = CreateMaybeMessage<::tensorflow::GraphDef>(GetArenaNoVirtual());
      graph_ = p;
    }
    // @@protoc_insertion_point(field_mutable:tesseract.TFNetworkModel.graph)
    return graph_;
  }
  inline void TFNetworkModel::set_allocated_graph(::tensorflow::GraphDef *graph) {
    ::google::protobuf::Arena *message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast<::google::protobuf::MessageLite *>(graph_);
    }
    if (graph) {
      ::google::protobuf::Arena *submessage_arena =
          reinterpret_cast<::google::protobuf::MessageLite *>(graph)->GetArena();
      if (message_arena != submessage_arena) {
        graph = ::google::protobuf::internal::GetOwnedMessage(message_arena, graph, submessage_arena);
      }
  
    } else {
    }
    graph_ = graph;
    // @@protoc_insertion_point(field_set_allocated:tesseract.TFNetworkModel.graph)
  }
  
  // int64 global_step = 2;
  inline void TFNetworkModel::clear_global_step() {
    global_step_ = GOOGLE_LONGLONG(0);
  }
  inline ::google::protobuf::int64 TFNetworkModel::global_step() const {
    // @@protoc_insertion_point(field_get:tesseract.TFNetworkModel.global_step)
    return global_step_;
  }
  inline void TFNetworkModel::set_global_step(::google::protobuf::int64 value) {
    global_step_ = value;
    // @@protoc_insertion_point(field_set:tesseract.TFNetworkModel.global_step)
  }
  
  // string spec = 3;
  inline void TFNetworkModel::clear_spec() {
    spec_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string &TFNetworkModel::spec() const {
    // @@protoc_insertion_point(field_get:tesseract.TFNetworkModel.spec)
    return spec_.GetNoArena();
  }
  inline void TFNetworkModel::set_spec(const ::std::string &value) {
    spec_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:tesseract.TFNetworkModel.spec)
  }
  #if LANG_CXX11
  inline void TFNetworkModel::set_spec(::std::string &&value) {
    spec_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                     ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:tesseract.TFNetworkModel.spec)
  }
  #endif
  inline void TFNetworkModel::set_spec(const char *value) {
    GOOGLE_DCHECK(value != NULL);
  
    spec_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                     ::std::string(value));
    // @@protoc_insertion_point(field_set_char:tesseract.TFNetworkModel.spec)
  }
  inline void TFNetworkModel::set_spec(const char *value, size_t size) {
    spec_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                     ::std::string(reinterpret_cast<const char *>(value), size));
    // @@protoc_insertion_point(field_set_pointer:tesseract.TFNetworkModel.spec)
  }
  inline ::std::string *TFNetworkModel::mutable_spec() {
    // @@protoc_insertion_point(field_mutable:tesseract.TFNetworkModel.spec)
    return spec_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string *TFNetworkModel::release_spec() {
    // @@protoc_insertion_point(field_release:tesseract.TFNetworkModel.spec)
  
    return spec_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void TFNetworkModel::set_allocated_spec(::std::string *spec) {
    if (spec != NULL) {
    } else {
    }
    spec_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), spec);
    // @@protoc_insertion_point(field_set_allocated:tesseract.TFNetworkModel.spec)
  }
  
  // int32 depth = 4;
  inline void TFNetworkModel::clear_depth() {
    depth_ = 0;
  }
  inline ::google::protobuf::int32 TFNetworkModel::depth() const {
    // @@protoc_insertion_point(field_get:tesseract.TFNetworkModel.depth)
    return depth_;
  }
  inline void TFNetworkModel::set_depth(::google::protobuf::int32 value) {
    depth_ = value;
    // @@protoc_insertion_point(field_set:tesseract.TFNetworkModel.depth)
  }
  
  // int32 x_size = 5;
  inline void TFNetworkModel::clear_x_size() {
    x_size_ = 0;
  }
  inline ::google::protobuf::int32 TFNetworkModel::x_size() const {
    // @@protoc_insertion_point(field_get:tesseract.TFNetworkModel.x_size)
    return x_size_;
  }
  inline void TFNetworkModel::set_x_size(::google::protobuf::int32 value) {
    x_size_ = value;
    // @@protoc_insertion_point(field_set:tesseract.TFNetworkModel.x_size)
  }
  
  // int32 y_size = 6;
  inline void TFNetworkModel::clear_y_size() {
    y_size_ = 0;
  }
  inline ::google::protobuf::int32 TFNetworkModel::y_size() const {
    // @@protoc_insertion_point(field_get:tesseract.TFNetworkModel.y_size)
    return y_size_;
  }
  inline void TFNetworkModel::set_y_size(::google::protobuf::int32 value) {
    y_size_ = value;
    // @@protoc_insertion_point(field_set:tesseract.TFNetworkModel.y_size)
  }
  
  // int32 batch_size = 8;
  inline void TFNetworkModel::clear_batch_size() {
    batch_size_ = 0;
  }
  inline ::google::protobuf::int32 TFNetworkModel::batch_size() const {
    // @@protoc_insertion_point(field_get:tesseract.TFNetworkModel.batch_size)
    return batch_size_;
  }
  inline void TFNetworkModel::set_batch_size(::google::protobuf::int32 value) {
    batch_size_ = value;
    // @@protoc_insertion_point(field_set:tesseract.TFNetworkModel.batch_size)
  }
  
  // int32 num_classes = 9;
  inline void TFNetworkModel::clear_num_classes() {
    num_classes_ = 0;
  }
  inline ::google::protobuf::int32 TFNetworkModel::num_classes() const {
    // @@protoc_insertion_point(field_get:tesseract.TFNetworkModel.num_classes)
    return num_classes_;
  }
  inline void TFNetworkModel::set_num_classes(::google::protobuf::int32 value) {
    num_classes_ = value;
    // @@protoc_insertion_point(field_set:tesseract.TFNetworkModel.num_classes)
  }
  
  // bool using_ctc = 10;
  inline void TFNetworkModel::clear_using_ctc() {
    using_ctc_ = false;
  }
  inline bool TFNetworkModel::using_ctc() const {
    // @@protoc_insertion_point(field_get:tesseract.TFNetworkModel.using_ctc)
    return using_ctc_;
  }
  inline void TFNetworkModel::set_using_ctc(bool value) {
    using_ctc_ = value;
    // @@protoc_insertion_point(field_set:tesseract.TFNetworkModel.using_ctc)
  }
  
  // string image_input = 11;
  inline void TFNetworkModel::clear_image_input() {
    image_input_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string &TFNetworkModel::image_input() const {
    // @@protoc_insertion_point(field_get:tesseract.TFNetworkModel.image_input)
    return image_input_.GetNoArena();
  }
  inline void TFNetworkModel::set_image_input(const ::std::string &value) {
    image_input_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:tesseract.TFNetworkModel.image_input)
  }
  #if LANG_CXX11
  inline void TFNetworkModel::set_image_input(::std::string &&value) {
    image_input_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                            ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:tesseract.TFNetworkModel.image_input)
  }
  #endif
  inline void TFNetworkModel::set_image_input(const char *value) {
    GOOGLE_DCHECK(value != NULL);
  
    image_input_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                            ::std::string(value));
    // @@protoc_insertion_point(field_set_char:tesseract.TFNetworkModel.image_input)
  }
  inline void TFNetworkModel::set_image_input(const char *value, size_t size) {
    image_input_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                            ::std::string(reinterpret_cast<const char *>(value), size));
    // @@protoc_insertion_point(field_set_pointer:tesseract.TFNetworkModel.image_input)
  }
  inline ::std::string *TFNetworkModel::mutable_image_input() {
    // @@protoc_insertion_point(field_mutable:tesseract.TFNetworkModel.image_input)
    return image_input_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string *TFNetworkModel::release_image_input() {
    // @@protoc_insertion_point(field_release:tesseract.TFNetworkModel.image_input)
  
    return image_input_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void TFNetworkModel::set_allocated_image_input(::std::string *image_input) {
    if (image_input != NULL) {
    } else {
    }
    image_input_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                                     image_input);
    // @@protoc_insertion_point(field_set_allocated:tesseract.TFNetworkModel.image_input)
  }
  
  // string image_widths = 12;
  inline void TFNetworkModel::clear_image_widths() {
    image_widths_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string &TFNetworkModel::image_widths() const {
    // @@protoc_insertion_point(field_get:tesseract.TFNetworkModel.image_widths)
    return image_widths_.GetNoArena();
  }
  inline void TFNetworkModel::set_image_widths(const ::std::string &value) {
    image_widths_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:tesseract.TFNetworkModel.image_widths)
  }
  #if LANG_CXX11
  inline void TFNetworkModel::set_image_widths(::std::string &&value) {
    image_widths_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                             ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:tesseract.TFNetworkModel.image_widths)
  }
  #endif
  inline void TFNetworkModel::set_image_widths(const char *value) {
    GOOGLE_DCHECK(value != NULL);
  
    image_widths_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                             ::std::string(value));
    // @@protoc_insertion_point(field_set_char:tesseract.TFNetworkModel.image_widths)
  }
  inline void TFNetworkModel::set_image_widths(const char *value, size_t size) {
    image_widths_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                             ::std::string(reinterpret_cast<const char *>(value), size));
    // @@protoc_insertion_point(field_set_pointer:tesseract.TFNetworkModel.image_widths)
  }
  inline ::std::string *TFNetworkModel::mutable_image_widths() {
    // @@protoc_insertion_point(field_mutable:tesseract.TFNetworkModel.image_widths)
    return image_widths_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string *TFNetworkModel::release_image_widths() {
    // @@protoc_insertion_point(field_release:tesseract.TFNetworkModel.image_widths)
  
    return image_widths_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void TFNetworkModel::set_allocated_image_widths(::std::string *image_widths) {
    if (image_widths != NULL) {
    } else {
    }
    image_widths_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                                      image_widths);
    // @@protoc_insertion_point(field_set_allocated:tesseract.TFNetworkModel.image_widths)
  }
  
  // string image_heights = 13;
  inline void TFNetworkModel::clear_image_heights() {
    image_heights_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string &TFNetworkModel::image_heights() const {
    // @@protoc_insertion_point(field_get:tesseract.TFNetworkModel.image_heights)
    return image_heights_.GetNoArena();
  }
  inline void TFNetworkModel::set_image_heights(const ::std::string &value) {
    image_heights_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:tesseract.TFNetworkModel.image_heights)
  }
  #if LANG_CXX11
  inline void TFNetworkModel::set_image_heights(::std::string &&value) {
    image_heights_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                              ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:tesseract.TFNetworkModel.image_heights)
  }
  #endif
  inline void TFNetworkModel::set_image_heights(const char *value) {
    GOOGLE_DCHECK(value != NULL);
  
    image_heights_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                              ::std::string(value));
    // @@protoc_insertion_point(field_set_char:tesseract.TFNetworkModel.image_heights)
  }
  inline void TFNetworkModel::set_image_heights(const char *value, size_t size) {
    image_heights_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                              ::std::string(reinterpret_cast<const char *>(value), size));
    // @@protoc_insertion_point(field_set_pointer:tesseract.TFNetworkModel.image_heights)
  }
  inline ::std::string *TFNetworkModel::mutable_image_heights() {
    // @@protoc_insertion_point(field_mutable:tesseract.TFNetworkModel.image_heights)
    return image_heights_.MutableNoArena(
        &::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string *TFNetworkModel::release_image_heights() {
    // @@protoc_insertion_point(field_release:tesseract.TFNetworkModel.image_heights)
  
    return image_heights_.ReleaseNoArena(
        &::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void TFNetworkModel::set_allocated_image_heights(::std::string *image_heights) {
    if (image_heights != NULL) {
    } else {
    }
    image_heights_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                                       image_heights);
    // @@protoc_insertion_point(field_set_allocated:tesseract.TFNetworkModel.image_heights)
  }
  
  // string output_layer = 14;
  inline void TFNetworkModel::clear_output_layer() {
    output_layer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string &TFNetworkModel::output_layer() const {
    // @@protoc_insertion_point(field_get:tesseract.TFNetworkModel.output_layer)
    return output_layer_.GetNoArena();
  }
  inline void TFNetworkModel::set_output_layer(const ::std::string &value) {
    output_layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:tesseract.TFNetworkModel.output_layer)
  }
  #if LANG_CXX11
  inline void TFNetworkModel::set_output_layer(::std::string &&value) {
    output_layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                             ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:tesseract.TFNetworkModel.output_layer)
  }
  #endif
  inline void TFNetworkModel::set_output_layer(const char *value) {
    GOOGLE_DCHECK(value != NULL);
  
    output_layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                             ::std::string(value));
    // @@protoc_insertion_point(field_set_char:tesseract.TFNetworkModel.output_layer)
  }
  inline void TFNetworkModel::set_output_layer(const char *value, size_t size) {
    output_layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                             ::std::string(reinterpret_cast<const char *>(value), size));
    // @@protoc_insertion_point(field_set_pointer:tesseract.TFNetworkModel.output_layer)
  }
  inline ::std::string *TFNetworkModel::mutable_output_layer() {
    // @@protoc_insertion_point(field_mutable:tesseract.TFNetworkModel.output_layer)
    return output_layer_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string *TFNetworkModel::release_output_layer() {
    // @@protoc_insertion_point(field_release:tesseract.TFNetworkModel.output_layer)
  
    return output_layer_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void TFNetworkModel::set_allocated_output_layer(::std::string *output_layer) {
    if (output_layer != NULL) {
    } else {
    }
    output_layer_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
                                      output_layer);
    // @@protoc_insertion_point(field_set_allocated:tesseract.TFNetworkModel.output_layer)
  }
  
  #ifdef __GNUC__
  #  pragma GCC diagnostic pop
  #endif // __GNUC__
  
  // @@protoc_insertion_point(namespace_scope)
  
  } // namespace tesseract
  
  // @@protoc_insertion_point(global_scope)
  
  #endif // PROTOBUF_INCLUDED_tfnetwork_2eproto
  