# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: rastervision/protos/keras_classification/trainer.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from rastervision.protos.keras_classification import optimizer_pb2 as rastervision_dot_protos_dot_keras__classification_dot_optimizer__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='rastervision/protos/keras_classification/trainer.proto',
  package='keras_classification.protos',
  syntax='proto2',
  serialized_pb=_b('\n6rastervision/protos/keras_classification/trainer.proto\x12\x1bkeras_classification.protos\x1a\x38rastervision/protos/keras_classification/optimizer.proto\"\xe6\x03\n\x07Trainer\x12\x39\n\toptimizer\x18\x01 \x02(\x0b\x32&.keras_classification.protos.Optimizer\x12=\n\x07options\x18\x02 \x02(\x0b\x32,.keras_classification.protos.Trainer.Options\x1a+\n\x0eLRScheduleItem\x12\r\n\x05\x65poch\x18\x01 \x02(\x05\x12\n\n\x02lr\x18\x02 \x02(\x02\x1a\xb3\x02\n\x07Options\x12\x19\n\x11training_data_dir\x18\x01 \x02(\t\x12\x1b\n\x13validation_data_dir\x18\x02 \x02(\t\x12\x11\n\tnb_epochs\x18\x04 \x02(\x05\x12H\n\x0blr_schedule\x18\n \x03(\x0b\x32\x33.keras_classification.protos.Trainer.LRScheduleItem\x12\x12\n\nbatch_size\x18\x05 \x02(\x05\x12\x12\n\ninput_size\x18\x06 \x02(\x05\x12\x12\n\noutput_dir\x18\x07 \x02(\t\x12\x13\n\x0b\x63lass_names\x18\x08 \x03(\t\x12\x1a\n\x0bshort_epoch\x18\t \x02(\x08:\x05\x66\x61lse\x12\r\n\x05\x64\x65\x62ug\x18\x0b \x02(\x08\x12\x17\n\tsave_best\x18\x0c \x02(\x08:\x04true')
  ,
  dependencies=[rastervision_dot_protos_dot_keras__classification_dot_optimizer__pb2.DESCRIPTOR,])
_sym_db.RegisterFileDescriptor(DESCRIPTOR)




_TRAINER_LRSCHEDULEITEM = _descriptor.Descriptor(
  name='LRScheduleItem',
  full_name='keras_classification.protos.Trainer.LRScheduleItem',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='epoch', full_name='keras_classification.protos.Trainer.LRScheduleItem.epoch', index=0,
      number=1, type=5, cpp_type=1, label=2,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='lr', full_name='keras_classification.protos.Trainer.LRScheduleItem.lr', index=1,
      number=2, type=2, cpp_type=6, label=2,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=279,
  serialized_end=322,
)

_TRAINER_OPTIONS = _descriptor.Descriptor(
  name='Options',
  full_name='keras_classification.protos.Trainer.Options',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='training_data_dir', full_name='keras_classification.protos.Trainer.Options.training_data_dir', index=0,
      number=1, type=9, cpp_type=9, label=2,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='validation_data_dir', full_name='keras_classification.protos.Trainer.Options.validation_data_dir', index=1,
      number=2, type=9, cpp_type=9, label=2,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='nb_epochs', full_name='keras_classification.protos.Trainer.Options.nb_epochs', index=2,
      number=4, type=5, cpp_type=1, label=2,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='lr_schedule', full_name='keras_classification.protos.Trainer.Options.lr_schedule', index=3,
      number=10, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='batch_size', full_name='keras_classification.protos.Trainer.Options.batch_size', index=4,
      number=5, type=5, cpp_type=1, label=2,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='input_size', full_name='keras_classification.protos.Trainer.Options.input_size', index=5,
      number=6, type=5, cpp_type=1, label=2,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='output_dir', full_name='keras_classification.protos.Trainer.Options.output_dir', index=6,
      number=7, type=9, cpp_type=9, label=2,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='class_names', full_name='keras_classification.protos.Trainer.Options.class_names', index=7,
      number=8, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='short_epoch', full_name='keras_classification.protos.Trainer.Options.short_epoch', index=8,
      number=9, type=8, cpp_type=7, label=2,
      has_default_value=True, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='debug', full_name='keras_classification.protos.Trainer.Options.debug', index=9,
      number=11, type=8, cpp_type=7, label=2,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='save_best', full_name='keras_classification.protos.Trainer.Options.save_best', index=10,
      number=12, type=8, cpp_type=7, label=2,
      has_default_value=True, default_value=True,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=325,
  serialized_end=632,
)

_TRAINER = _descriptor.Descriptor(
  name='Trainer',
  full_name='keras_classification.protos.Trainer',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='optimizer', full_name='keras_classification.protos.Trainer.optimizer', index=0,
      number=1, type=11, cpp_type=10, label=2,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='options', full_name='keras_classification.protos.Trainer.options', index=1,
      number=2, type=11, cpp_type=10, label=2,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[_TRAINER_LRSCHEDULEITEM, _TRAINER_OPTIONS, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=146,
  serialized_end=632,
)

_TRAINER_LRSCHEDULEITEM.containing_type = _TRAINER
_TRAINER_OPTIONS.fields_by_name['lr_schedule'].message_type = _TRAINER_LRSCHEDULEITEM
_TRAINER_OPTIONS.containing_type = _TRAINER
_TRAINER.fields_by_name['optimizer'].message_type = rastervision_dot_protos_dot_keras__classification_dot_optimizer__pb2._OPTIMIZER
_TRAINER.fields_by_name['options'].message_type = _TRAINER_OPTIONS
DESCRIPTOR.message_types_by_name['Trainer'] = _TRAINER

Trainer = _reflection.GeneratedProtocolMessageType('Trainer', (_message.Message,), dict(

  LRScheduleItem = _reflection.GeneratedProtocolMessageType('LRScheduleItem', (_message.Message,), dict(
    DESCRIPTOR = _TRAINER_LRSCHEDULEITEM,
    __module__ = 'rastervision.protos.keras_classification.trainer_pb2'
    # @@protoc_insertion_point(class_scope:keras_classification.protos.Trainer.LRScheduleItem)
    ))
  ,

  Options = _reflection.GeneratedProtocolMessageType('Options', (_message.Message,), dict(
    DESCRIPTOR = _TRAINER_OPTIONS,
    __module__ = 'rastervision.protos.keras_classification.trainer_pb2'
    # @@protoc_insertion_point(class_scope:keras_classification.protos.Trainer.Options)
    ))
  ,
  DESCRIPTOR = _TRAINER,
  __module__ = 'rastervision.protos.keras_classification.trainer_pb2'
  # @@protoc_insertion_point(class_scope:keras_classification.protos.Trainer)
  ))
_sym_db.RegisterMessage(Trainer)
_sym_db.RegisterMessage(Trainer.LRScheduleItem)
_sym_db.RegisterMessage(Trainer.Options)


# @@protoc_insertion_point(module_scope)
