# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: model/detection/protos/losses.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

# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()




DESCRIPTOR = _descriptor.FileDescriptor(
  name='model/detection/protos/losses.proto',
  package='model.detection.protos',
  serialized_pb=_b('\n#model/detection/protos/losses.proto\x12\x16model.detection.protos\"\x9c\x02\n\x04Loss\x12\x43\n\x11localization_loss\x18\x01 \x01(\x0b\x32(.model.detection.protos.LocalizationLoss\x12G\n\x13\x63lassification_loss\x18\x02 \x01(\x0b\x32*.model.detection.protos.ClassificationLoss\x12\x44\n\x12hard_example_miner\x18\x03 \x01(\x0b\x32(.model.detection.protos.HardExampleMiner\x12 \n\x15\x63lassification_weight\x18\x04 \x01(\x02:\x01\x31\x12\x1e\n\x13localization_weight\x18\x05 \x01(\x02:\x01\x31\"\x97\x02\n\x10LocalizationLoss\x12I\n\x0bweighted_l2\x18\x01 \x01(\x0b\x32\x32.model.detection.protos.WeightedL2LocalizationLossH\x00\x12V\n\x12weighted_smooth_l1\x18\x02 \x01(\x0b\x32\x38.model.detection.protos.WeightedSmoothL1LocalizationLossH\x00\x12K\n\x0cweighted_iou\x18\x03 \x01(\x0b\x32\x33.model.detection.protos.WeightedIOULocalizationLossH\x00\x42\x13\n\x11localization_loss\">\n\x1aWeightedL2LocalizationLoss\x12 \n\x11\x61nchorwise_output\x18\x01 \x01(\x08:\x05\x66\x61lse\"D\n WeightedSmoothL1LocalizationLoss\x12 \n\x11\x61nchorwise_output\x18\x01 \x01(\x08:\x05\x66\x61lse\"\x1d\n\x1bWeightedIOULocalizationLoss\"\xb8\x02\n\x12\x43lassificationLoss\x12U\n\x10weighted_sigmoid\x18\x01 \x01(\x0b\x32\x39.model.detection.protos.WeightedSigmoidClassificationLossH\x00\x12U\n\x10weighted_softmax\x18\x02 \x01(\x0b\x32\x39.model.detection.protos.WeightedSoftmaxClassificationLossH\x00\x12]\n\x14\x62ootstrapped_sigmoid\x18\x03 \x01(\x0b\x32=.model.detection.protos.BootstrappedSigmoidClassificationLossH\x00\x42\x15\n\x13\x63lassification_loss\"E\n!WeightedSigmoidClassificationLoss\x12 \n\x11\x61nchorwise_output\x18\x01 \x01(\x08:\x05\x66\x61lse\"E\n!WeightedSoftmaxClassificationLoss\x12 \n\x11\x61nchorwise_output\x18\x01 \x01(\x08:\x05\x66\x61lse\"w\n%BootstrappedSigmoidClassificationLoss\x12\r\n\x05\x61lpha\x18\x01 \x01(\x02\x12\x1d\n\x0ehard_bootstrap\x18\x02 \x01(\x08:\x05\x66\x61lse\x12 \n\x11\x61nchorwise_output\x18\x03 \x01(\x08:\x05\x66\x61lse\"\xa0\x02\n\x10HardExampleMiner\x12\x1d\n\x11num_hard_examples\x18\x01 \x01(\x05:\x02\x36\x34\x12\x1a\n\riou_threshold\x18\x02 \x01(\x02:\x03\x30.7\x12J\n\tloss_type\x18\x03 \x01(\x0e\x32\x31.model.detection.protos.HardExampleMiner.LossType:\x04\x42OTH\x12%\n\x1amax_negatives_per_positive\x18\x04 \x01(\x05:\x01\x30\x12\"\n\x17min_negatives_per_image\x18\x05 \x01(\x05:\x01\x30\":\n\x08LossType\x12\x08\n\x04\x42OTH\x10\x00\x12\x12\n\x0e\x43LASSIFICATION\x10\x01\x12\x10\n\x0cLOCALIZATION\x10\x02')
)
_sym_db.RegisterFileDescriptor(DESCRIPTOR)



_HARDEXAMPLEMINER_LOSSTYPE = _descriptor.EnumDescriptor(
  name='LossType',
  full_name='model.detection.protos.HardExampleMiner.LossType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='BOTH', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CLASSIFICATION', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LOCALIZATION', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=1606,
  serialized_end=1664,
)
_sym_db.RegisterEnumDescriptor(_HARDEXAMPLEMINER_LOSSTYPE)


_LOSS = _descriptor.Descriptor(
  name='Loss',
  full_name='model.detection.protos.Loss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='localization_loss', full_name='model.detection.protos.Loss.localization_loss', index=0,
      number=1, type=11, cpp_type=10, label=1,
      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='classification_loss', full_name='model.detection.protos.Loss.classification_loss', index=1,
      number=2, type=11, cpp_type=10, label=1,
      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='hard_example_miner', full_name='model.detection.protos.Loss.hard_example_miner', index=2,
      number=3, type=11, cpp_type=10, label=1,
      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='classification_weight', full_name='model.detection.protos.Loss.classification_weight', index=3,
      number=4, type=2, cpp_type=6, label=1,
      has_default_value=True, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='localization_weight', full_name='model.detection.protos.Loss.localization_weight', index=4,
      number=5, type=2, cpp_type=6, label=1,
      has_default_value=True, default_value=1,
      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,
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=64,
  serialized_end=348,
)


_LOCALIZATIONLOSS = _descriptor.Descriptor(
  name='LocalizationLoss',
  full_name='model.detection.protos.LocalizationLoss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='weighted_l2', full_name='model.detection.protos.LocalizationLoss.weighted_l2', index=0,
      number=1, type=11, cpp_type=10, label=1,
      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='weighted_smooth_l1', full_name='model.detection.protos.LocalizationLoss.weighted_smooth_l1', index=1,
      number=2, type=11, cpp_type=10, label=1,
      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='weighted_iou', full_name='model.detection.protos.LocalizationLoss.weighted_iou', index=2,
      number=3, type=11, cpp_type=10, label=1,
      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=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='localization_loss', full_name='model.detection.protos.LocalizationLoss.localization_loss',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=351,
  serialized_end=630,
)


_WEIGHTEDL2LOCALIZATIONLOSS = _descriptor.Descriptor(
  name='WeightedL2LocalizationLoss',
  full_name='model.detection.protos.WeightedL2LocalizationLoss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='anchorwise_output', full_name='model.detection.protos.WeightedL2LocalizationLoss.anchorwise_output', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=False,
      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,
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=632,
  serialized_end=694,
)


_WEIGHTEDSMOOTHL1LOCALIZATIONLOSS = _descriptor.Descriptor(
  name='WeightedSmoothL1LocalizationLoss',
  full_name='model.detection.protos.WeightedSmoothL1LocalizationLoss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='anchorwise_output', full_name='model.detection.protos.WeightedSmoothL1LocalizationLoss.anchorwise_output', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=False,
      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,
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=696,
  serialized_end=764,
)


_WEIGHTEDIOULOCALIZATIONLOSS = _descriptor.Descriptor(
  name='WeightedIOULocalizationLoss',
  full_name='model.detection.protos.WeightedIOULocalizationLoss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=766,
  serialized_end=795,
)


_CLASSIFICATIONLOSS = _descriptor.Descriptor(
  name='ClassificationLoss',
  full_name='model.detection.protos.ClassificationLoss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='weighted_sigmoid', full_name='model.detection.protos.ClassificationLoss.weighted_sigmoid', index=0,
      number=1, type=11, cpp_type=10, label=1,
      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='weighted_softmax', full_name='model.detection.protos.ClassificationLoss.weighted_softmax', index=1,
      number=2, type=11, cpp_type=10, label=1,
      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='bootstrapped_sigmoid', full_name='model.detection.protos.ClassificationLoss.bootstrapped_sigmoid', index=2,
      number=3, type=11, cpp_type=10, label=1,
      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=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='classification_loss', full_name='model.detection.protos.ClassificationLoss.classification_loss',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=798,
  serialized_end=1110,
)


_WEIGHTEDSIGMOIDCLASSIFICATIONLOSS = _descriptor.Descriptor(
  name='WeightedSigmoidClassificationLoss',
  full_name='model.detection.protos.WeightedSigmoidClassificationLoss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='anchorwise_output', full_name='model.detection.protos.WeightedSigmoidClassificationLoss.anchorwise_output', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=False,
      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,
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1112,
  serialized_end=1181,
)


_WEIGHTEDSOFTMAXCLASSIFICATIONLOSS = _descriptor.Descriptor(
  name='WeightedSoftmaxClassificationLoss',
  full_name='model.detection.protos.WeightedSoftmaxClassificationLoss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='anchorwise_output', full_name='model.detection.protos.WeightedSoftmaxClassificationLoss.anchorwise_output', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=False,
      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,
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1183,
  serialized_end=1252,
)


_BOOTSTRAPPEDSIGMOIDCLASSIFICATIONLOSS = _descriptor.Descriptor(
  name='BootstrappedSigmoidClassificationLoss',
  full_name='model.detection.protos.BootstrappedSigmoidClassificationLoss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='alpha', full_name='model.detection.protos.BootstrappedSigmoidClassificationLoss.alpha', index=0,
      number=1, type=2, cpp_type=6, label=1,
      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='hard_bootstrap', full_name='model.detection.protos.BootstrappedSigmoidClassificationLoss.hard_bootstrap', index=1,
      number=2, type=8, cpp_type=7, label=1,
      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='anchorwise_output', full_name='model.detection.protos.BootstrappedSigmoidClassificationLoss.anchorwise_output', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=False,
      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,
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1254,
  serialized_end=1373,
)


_HARDEXAMPLEMINER = _descriptor.Descriptor(
  name='HardExampleMiner',
  full_name='model.detection.protos.HardExampleMiner',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='num_hard_examples', full_name='model.detection.protos.HardExampleMiner.num_hard_examples', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=True, default_value=64,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='iou_threshold', full_name='model.detection.protos.HardExampleMiner.iou_threshold', index=1,
      number=2, type=2, cpp_type=6, label=1,
      has_default_value=True, default_value=0.7,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='loss_type', full_name='model.detection.protos.HardExampleMiner.loss_type', index=2,
      number=3, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='max_negatives_per_positive', full_name='model.detection.protos.HardExampleMiner.max_negatives_per_positive', index=3,
      number=4, type=5, cpp_type=1, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='min_negatives_per_image', full_name='model.detection.protos.HardExampleMiner.min_negatives_per_image', index=4,
      number=5, type=5, cpp_type=1, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _HARDEXAMPLEMINER_LOSSTYPE,
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1376,
  serialized_end=1664,
)

_LOSS.fields_by_name['localization_loss'].message_type = _LOCALIZATIONLOSS
_LOSS.fields_by_name['classification_loss'].message_type = _CLASSIFICATIONLOSS
_LOSS.fields_by_name['hard_example_miner'].message_type = _HARDEXAMPLEMINER
_LOCALIZATIONLOSS.fields_by_name['weighted_l2'].message_type = _WEIGHTEDL2LOCALIZATIONLOSS
_LOCALIZATIONLOSS.fields_by_name['weighted_smooth_l1'].message_type = _WEIGHTEDSMOOTHL1LOCALIZATIONLOSS
_LOCALIZATIONLOSS.fields_by_name['weighted_iou'].message_type = _WEIGHTEDIOULOCALIZATIONLOSS
_LOCALIZATIONLOSS.oneofs_by_name['localization_loss'].fields.append(
  _LOCALIZATIONLOSS.fields_by_name['weighted_l2'])
_LOCALIZATIONLOSS.fields_by_name['weighted_l2'].containing_oneof = _LOCALIZATIONLOSS.oneofs_by_name['localization_loss']
_LOCALIZATIONLOSS.oneofs_by_name['localization_loss'].fields.append(
  _LOCALIZATIONLOSS.fields_by_name['weighted_smooth_l1'])
_LOCALIZATIONLOSS.fields_by_name['weighted_smooth_l1'].containing_oneof = _LOCALIZATIONLOSS.oneofs_by_name['localization_loss']
_LOCALIZATIONLOSS.oneofs_by_name['localization_loss'].fields.append(
  _LOCALIZATIONLOSS.fields_by_name['weighted_iou'])
_LOCALIZATIONLOSS.fields_by_name['weighted_iou'].containing_oneof = _LOCALIZATIONLOSS.oneofs_by_name['localization_loss']
_CLASSIFICATIONLOSS.fields_by_name['weighted_sigmoid'].message_type = _WEIGHTEDSIGMOIDCLASSIFICATIONLOSS
_CLASSIFICATIONLOSS.fields_by_name['weighted_softmax'].message_type = _WEIGHTEDSOFTMAXCLASSIFICATIONLOSS
_CLASSIFICATIONLOSS.fields_by_name['bootstrapped_sigmoid'].message_type = _BOOTSTRAPPEDSIGMOIDCLASSIFICATIONLOSS
_CLASSIFICATIONLOSS.oneofs_by_name['classification_loss'].fields.append(
  _CLASSIFICATIONLOSS.fields_by_name['weighted_sigmoid'])
_CLASSIFICATIONLOSS.fields_by_name['weighted_sigmoid'].containing_oneof = _CLASSIFICATIONLOSS.oneofs_by_name['classification_loss']
_CLASSIFICATIONLOSS.oneofs_by_name['classification_loss'].fields.append(
  _CLASSIFICATIONLOSS.fields_by_name['weighted_softmax'])
_CLASSIFICATIONLOSS.fields_by_name['weighted_softmax'].containing_oneof = _CLASSIFICATIONLOSS.oneofs_by_name['classification_loss']
_CLASSIFICATIONLOSS.oneofs_by_name['classification_loss'].fields.append(
  _CLASSIFICATIONLOSS.fields_by_name['bootstrapped_sigmoid'])
_CLASSIFICATIONLOSS.fields_by_name['bootstrapped_sigmoid'].containing_oneof = _CLASSIFICATIONLOSS.oneofs_by_name['classification_loss']
_HARDEXAMPLEMINER.fields_by_name['loss_type'].enum_type = _HARDEXAMPLEMINER_LOSSTYPE
_HARDEXAMPLEMINER_LOSSTYPE.containing_type = _HARDEXAMPLEMINER
DESCRIPTOR.message_types_by_name['Loss'] = _LOSS
DESCRIPTOR.message_types_by_name['LocalizationLoss'] = _LOCALIZATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedL2LocalizationLoss'] = _WEIGHTEDL2LOCALIZATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedSmoothL1LocalizationLoss'] = _WEIGHTEDSMOOTHL1LOCALIZATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedIOULocalizationLoss'] = _WEIGHTEDIOULOCALIZATIONLOSS
DESCRIPTOR.message_types_by_name['ClassificationLoss'] = _CLASSIFICATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedSigmoidClassificationLoss'] = _WEIGHTEDSIGMOIDCLASSIFICATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedSoftmaxClassificationLoss'] = _WEIGHTEDSOFTMAXCLASSIFICATIONLOSS
DESCRIPTOR.message_types_by_name['BootstrappedSigmoidClassificationLoss'] = _BOOTSTRAPPEDSIGMOIDCLASSIFICATIONLOSS
DESCRIPTOR.message_types_by_name['HardExampleMiner'] = _HARDEXAMPLEMINER

Loss = _reflection.GeneratedProtocolMessageType('Loss', (_message.Message,), dict(
  DESCRIPTOR = _LOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.Loss)
  ))
_sym_db.RegisterMessage(Loss)

LocalizationLoss = _reflection.GeneratedProtocolMessageType('LocalizationLoss', (_message.Message,), dict(
  DESCRIPTOR = _LOCALIZATIONLOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.LocalizationLoss)
  ))
_sym_db.RegisterMessage(LocalizationLoss)

WeightedL2LocalizationLoss = _reflection.GeneratedProtocolMessageType('WeightedL2LocalizationLoss', (_message.Message,), dict(
  DESCRIPTOR = _WEIGHTEDL2LOCALIZATIONLOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.WeightedL2LocalizationLoss)
  ))
_sym_db.RegisterMessage(WeightedL2LocalizationLoss)

WeightedSmoothL1LocalizationLoss = _reflection.GeneratedProtocolMessageType('WeightedSmoothL1LocalizationLoss', (_message.Message,), dict(
  DESCRIPTOR = _WEIGHTEDSMOOTHL1LOCALIZATIONLOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.WeightedSmoothL1LocalizationLoss)
  ))
_sym_db.RegisterMessage(WeightedSmoothL1LocalizationLoss)

WeightedIOULocalizationLoss = _reflection.GeneratedProtocolMessageType('WeightedIOULocalizationLoss', (_message.Message,), dict(
  DESCRIPTOR = _WEIGHTEDIOULOCALIZATIONLOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.WeightedIOULocalizationLoss)
  ))
_sym_db.RegisterMessage(WeightedIOULocalizationLoss)

ClassificationLoss = _reflection.GeneratedProtocolMessageType('ClassificationLoss', (_message.Message,), dict(
  DESCRIPTOR = _CLASSIFICATIONLOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.ClassificationLoss)
  ))
_sym_db.RegisterMessage(ClassificationLoss)

WeightedSigmoidClassificationLoss = _reflection.GeneratedProtocolMessageType('WeightedSigmoidClassificationLoss', (_message.Message,), dict(
  DESCRIPTOR = _WEIGHTEDSIGMOIDCLASSIFICATIONLOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.WeightedSigmoidClassificationLoss)
  ))
_sym_db.RegisterMessage(WeightedSigmoidClassificationLoss)

WeightedSoftmaxClassificationLoss = _reflection.GeneratedProtocolMessageType('WeightedSoftmaxClassificationLoss', (_message.Message,), dict(
  DESCRIPTOR = _WEIGHTEDSOFTMAXCLASSIFICATIONLOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.WeightedSoftmaxClassificationLoss)
  ))
_sym_db.RegisterMessage(WeightedSoftmaxClassificationLoss)

BootstrappedSigmoidClassificationLoss = _reflection.GeneratedProtocolMessageType('BootstrappedSigmoidClassificationLoss', (_message.Message,), dict(
  DESCRIPTOR = _BOOTSTRAPPEDSIGMOIDCLASSIFICATIONLOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.BootstrappedSigmoidClassificationLoss)
  ))
_sym_db.RegisterMessage(BootstrappedSigmoidClassificationLoss)

HardExampleMiner = _reflection.GeneratedProtocolMessageType('HardExampleMiner', (_message.Message,), dict(
  DESCRIPTOR = _HARDEXAMPLEMINER,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.HardExampleMiner)
  ))
_sym_db.RegisterMessage(HardExampleMiner)


# @@protoc_insertion_point(module_scope)

65969a74b27cf13f02dec3b82bdedd96a02c5231
<mask token>

<mask token>
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
<mask token>
_sym_db.RegisterEnumDescriptor(_HARDEXAMPLEMINER_LOSSTYPE)
<mask token>
_LOCALIZATIONLOSS.oneofs_by_name['localization_loss'].fields.append(
    _LOCALIZATIONLOSS.fields_by_name['weighted_l2'])
<mask token>
_LOCALIZATIONLOSS.oneofs_by_name['localization_loss'].fields.append(
    _LOCALIZATIONLOSS.fields_by_name['weighted_smooth_l1'])
<mask token>
_LOCALIZATIONLOSS.oneofs_by_name['localization_loss'].fields.append(
    _LOCALIZATIONLOSS.fields_by_name['weighted_iou'])
<mask token>
_CLASSIFICATIONLOSS.oneofs_by_name['classification_loss'].fields.append(
    _CLASSIFICATIONLOSS.fields_by_name['weighted_sigmoid'])
<mask token>
_CLASSIFICATIONLOSS.oneofs_by_name['classification_loss'].fields.append(
    _CLASSIFICATIONLOSS.fields_by_name['weighted_softmax'])
<mask token>
_CLASSIFICATIONLOSS.oneofs_by_name['classification_loss'].fields.append(
    _CLASSIFICATIONLOSS.fields_by_name['bootstrapped_sigmoid'])
<mask token>
_sym_db.RegisterMessage(Loss)
<mask token>
_sym_db.RegisterMessage(LocalizationLoss)
<mask token>
_sym_db.RegisterMessage(WeightedL2LocalizationLoss)
<mask token>
_sym_db.RegisterMessage(WeightedSmoothL1LocalizationLoss)
<mask token>
_sym_db.RegisterMessage(WeightedIOULocalizationLoss)
<mask token>
_sym_db.RegisterMessage(ClassificationLoss)
<mask token>
_sym_db.RegisterMessage(WeightedSigmoidClassificationLoss)
<mask token>
_sym_db.RegisterMessage(WeightedSoftmaxClassificationLoss)
<mask token>
_sym_db.RegisterMessage(BootstrappedSigmoidClassificationLoss)
<mask token>
_sym_db.RegisterMessage(HardExampleMiner)

<mask token>
_b = sys.version_info[0] < 3 and (lambda x: x) or (lambda x: x.encode('latin1')
    )
<mask token>
_sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor.FileDescriptor(name=
    'model/detection/protos/losses.proto', package='model.detection.protos',
    serialized_pb=_b(
    '\n#model/detection/protos/losses.proto\x12\x16model.detection.protos"\x9c\x02\n\x04Loss\x12C\n\x11localization_loss\x18\x01 \x01(\x0b2(.model.detection.protos.LocalizationLoss\x12G\n\x13classification_loss\x18\x02 \x01(\x0b2*.model.detection.protos.ClassificationLoss\x12D\n\x12hard_example_miner\x18\x03 \x01(\x0b2(.model.detection.protos.HardExampleMiner\x12 \n\x15classification_weight\x18\x04 \x01(\x02:\x011\x12\x1e\n\x13localization_weight\x18\x05 \x01(\x02:\x011"\x97\x02\n\x10LocalizationLoss\x12I\n\x0bweighted_l2\x18\x01 \x01(\x0b22.model.detection.protos.WeightedL2LocalizationLossH\x00\x12V\n\x12weighted_smooth_l1\x18\x02 \x01(\x0b28.model.detection.protos.WeightedSmoothL1LocalizationLossH\x00\x12K\n\x0cweighted_iou\x18\x03 \x01(\x0b23.model.detection.protos.WeightedIOULocalizationLossH\x00B\x13\n\x11localization_loss">\n\x1aWeightedL2LocalizationLoss\x12 \n\x11anchorwise_output\x18\x01 \x01(\x08:\x05false"D\n WeightedSmoothL1LocalizationLoss\x12 \n\x11anchorwise_output\x18\x01 \x01(\x08:\x05false"\x1d\n\x1bWeightedIOULocalizationLoss"¸\x02\n\x12ClassificationLoss\x12U\n\x10weighted_sigmoid\x18\x01 \x01(\x0b29.model.detection.protos.WeightedSigmoidClassificationLossH\x00\x12U\n\x10weighted_softmax\x18\x02 \x01(\x0b29.model.detection.protos.WeightedSoftmaxClassificationLossH\x00\x12]\n\x14bootstrapped_sigmoid\x18\x03 \x01(\x0b2=.model.detection.protos.BootstrappedSigmoidClassificationLossH\x00B\x15\n\x13classification_loss"E\n!WeightedSigmoidClassificationLoss\x12 \n\x11anchorwise_output\x18\x01 \x01(\x08:\x05false"E\n!WeightedSoftmaxClassificationLoss\x12 \n\x11anchorwise_output\x18\x01 \x01(\x08:\x05false"w\n%BootstrappedSigmoidClassificationLoss\x12\r\n\x05alpha\x18\x01 \x01(\x02\x12\x1d\n\x0ehard_bootstrap\x18\x02 \x01(\x08:\x05false\x12 \n\x11anchorwise_output\x18\x03 \x01(\x08:\x05false"\xa0\x02\n\x10HardExampleMiner\x12\x1d\n\x11num_hard_examples\x18\x01 \x01(\x05:\x0264\x12\x1a\n\riou_threshold\x18\x02 \x01(\x02:\x030.7\x12J\n\tloss_type\x18\x03 \x01(\x0e21.model.detection.protos.HardExampleMiner.LossType:\x04BOTH\x12%\n\x1amax_negatives_per_positive\x18\x04 \x01(\x05:\x010\x12"\n\x17min_negatives_per_image\x18\x05 \x01(\x05:\x010":\n\x08LossType\x12\x08\n\x04BOTH\x10\x00\x12\x12\n\x0eCLASSIFICATION\x10\x01\x12\x10\n\x0cLOCALIZATION\x10\x02'
    ))
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
_HARDEXAMPLEMINER_LOSSTYPE = _descriptor.EnumDescriptor(name='LossType',
    full_name='model.detection.protos.HardExampleMiner.LossType', filename=
    None, file=DESCRIPTOR, values=[_descriptor.EnumValueDescriptor(name=
    'BOTH', index=0, number=0, options=None, type=None), _descriptor.
    EnumValueDescriptor(name='CLASSIFICATION', index=1, number=1, options=
    None, type=None), _descriptor.EnumValueDescriptor(name='LOCALIZATION',
    index=2, number=2, options=None, type=None)], containing_type=None,
    options=None, serialized_start=1606, serialized_end=1664)
_sym_db.RegisterEnumDescriptor(_HARDEXAMPLEMINER_LOSSTYPE)
_LOSS = _descriptor.Descriptor(name='Loss', full_name=
    'model.detection.protos.Loss', filename=None, file=DESCRIPTOR,
    containing_type=None, fields=[_descriptor.FieldDescriptor(name=
    'localization_loss', full_name=
    'model.detection.protos.Loss.localization_loss', index=0, number=1,
    type=11, cpp_type=10, label=1, 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='classification_loss', full_name=
    'model.detection.protos.Loss.classification_loss', index=1, number=2,
    type=11, cpp_type=10, label=1, 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='hard_example_miner', full_name=
    'model.detection.protos.Loss.hard_example_miner', index=2, number=3,
    type=11, cpp_type=10, label=1, 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='classification_weight', full_name=
    'model.detection.protos.Loss.classification_weight', index=3, number=4,
    type=2, cpp_type=6, label=1, has_default_value=True, default_value=1,
    message_type=None, enum_type=None, containing_type=None, is_extension=
    False, extension_scope=None, options=None), _descriptor.FieldDescriptor
    (name='localization_weight', full_name=
    'model.detection.protos.Loss.localization_weight', index=4, number=5,
    type=2, cpp_type=6, label=1, has_default_value=True, default_value=1,
    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,
    extension_ranges=[], oneofs=[], serialized_start=64, serialized_end=348)
_LOCALIZATIONLOSS = _descriptor.Descriptor(name='LocalizationLoss',
    full_name='model.detection.protos.LocalizationLoss', filename=None,
    file=DESCRIPTOR, containing_type=None, fields=[_descriptor.
    FieldDescriptor(name='weighted_l2', full_name=
    'model.detection.protos.LocalizationLoss.weighted_l2', index=0, number=
    1, type=11, cpp_type=10, label=1, 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='weighted_smooth_l1', full_name=
    'model.detection.protos.LocalizationLoss.weighted_smooth_l1', index=1,
    number=2, type=11, cpp_type=10, label=1, 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='weighted_iou', full_name=
    'model.detection.protos.LocalizationLoss.weighted_iou', index=2, number
    =3, type=11, cpp_type=10, label=1, 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=[], enum_types=[], options=None,
    is_extendable=False, extension_ranges=[], oneofs=[_descriptor.
    OneofDescriptor(name='localization_loss', full_name=
    'model.detection.protos.LocalizationLoss.localization_loss', index=0,
    containing_type=None, fields=[])], serialized_start=351, serialized_end=630
    )
_WEIGHTEDL2LOCALIZATIONLOSS = _descriptor.Descriptor(name=
    'WeightedL2LocalizationLoss', full_name=
    'model.detection.protos.WeightedL2LocalizationLoss', filename=None,
    file=DESCRIPTOR, containing_type=None, fields=[_descriptor.
    FieldDescriptor(name='anchorwise_output', full_name=
    'model.detection.protos.WeightedL2LocalizationLoss.anchorwise_output',
    index=0, number=1, type=8, cpp_type=7, label=1, has_default_value=True,
    default_value=False, 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, extension_ranges=[], oneofs=[], serialized_start=
    632, serialized_end=694)
_WEIGHTEDSMOOTHL1LOCALIZATIONLOSS = _descriptor.Descriptor(name=
    'WeightedSmoothL1LocalizationLoss', full_name=
    'model.detection.protos.WeightedSmoothL1LocalizationLoss', filename=
    None, file=DESCRIPTOR, containing_type=None, fields=[_descriptor.
    FieldDescriptor(name='anchorwise_output', full_name=
    'model.detection.protos.WeightedSmoothL1LocalizationLoss.anchorwise_output'
    , index=0, number=1, type=8, cpp_type=7, label=1, has_default_value=
    True, default_value=False, 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, extension_ranges=[], oneofs=[], serialized_start=
    696, serialized_end=764)
_WEIGHTEDIOULOCALIZATIONLOSS = _descriptor.Descriptor(name=
    'WeightedIOULocalizationLoss', full_name=
    'model.detection.protos.WeightedIOULocalizationLoss', filename=None,
    file=DESCRIPTOR, containing_type=None, fields=[], extensions=[],
    nested_types=[], enum_types=[], options=None, is_extendable=False,
    extension_ranges=[], oneofs=[], serialized_start=766, serialized_end=795)
_CLASSIFICATIONLOSS = _descriptor.Descriptor(name='ClassificationLoss',
    full_name='model.detection.protos.ClassificationLoss', filename=None,
    file=DESCRIPTOR, containing_type=None, fields=[_descriptor.
    FieldDescriptor(name='weighted_sigmoid', full_name=
    'model.detection.protos.ClassificationLoss.weighted_sigmoid', index=0,
    number=1, type=11, cpp_type=10, label=1, 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='weighted_softmax', full_name=
    'model.detection.protos.ClassificationLoss.weighted_softmax', index=1,
    number=2, type=11, cpp_type=10, label=1, 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='bootstrapped_sigmoid', full_name=
    'model.detection.protos.ClassificationLoss.bootstrapped_sigmoid', index
    =2, number=3, type=11, cpp_type=10, label=1, 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=[], enum_types=[], options=None,
    is_extendable=False, extension_ranges=[], oneofs=[_descriptor.
    OneofDescriptor(name='classification_loss', full_name=
    'model.detection.protos.ClassificationLoss.classification_loss', index=
    0, containing_type=None, fields=[])], serialized_start=798,
    serialized_end=1110)
_WEIGHTEDSIGMOIDCLASSIFICATIONLOSS = _descriptor.Descriptor(name=
    'WeightedSigmoidClassificationLoss', full_name=
    'model.detection.protos.WeightedSigmoidClassificationLoss', filename=
    None, file=DESCRIPTOR, containing_type=None, fields=[_descriptor.
    FieldDescriptor(name='anchorwise_output', full_name=
    'model.detection.protos.WeightedSigmoidClassificationLoss.anchorwise_output'
    , index=0, number=1, type=8, cpp_type=7, label=1, has_default_value=
    True, default_value=False, 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, extension_ranges=[], oneofs=[], serialized_start=
    1112, serialized_end=1181)
_WEIGHTEDSOFTMAXCLASSIFICATIONLOSS = _descriptor.Descriptor(name=
    'WeightedSoftmaxClassificationLoss', full_name=
    'model.detection.protos.WeightedSoftmaxClassificationLoss', filename=
    None, file=DESCRIPTOR, containing_type=None, fields=[_descriptor.
    FieldDescriptor(name='anchorwise_output', full_name=
    'model.detection.protos.WeightedSoftmaxClassificationLoss.anchorwise_output'
    , index=0, number=1, type=8, cpp_type=7, label=1, has_default_value=
    True, default_value=False, 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, extension_ranges=[], oneofs=[], serialized_start=
    1183, serialized_end=1252)
_BOOTSTRAPPEDSIGMOIDCLASSIFICATIONLOSS = _descriptor.Descriptor(name=
    'BootstrappedSigmoidClassificationLoss', full_name=
    'model.detection.protos.BootstrappedSigmoidClassificationLoss',
    filename=None, file=DESCRIPTOR, containing_type=None, fields=[
    _descriptor.FieldDescriptor(name='alpha', full_name=
    'model.detection.protos.BootstrappedSigmoidClassificationLoss.alpha',
    index=0, number=1, type=2, cpp_type=6, label=1, 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='hard_bootstrap', full_name=
    'model.detection.protos.BootstrappedSigmoidClassificationLoss.hard_bootstrap'
    , index=1, number=2, type=8, cpp_type=7, label=1, 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='anchorwise_output', full_name
    =
    'model.detection.protos.BootstrappedSigmoidClassificationLoss.anchorwise_output'
    , index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=
    True, default_value=False, 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, extension_ranges=[], oneofs=[], serialized_start=
    1254, serialized_end=1373)
_HARDEXAMPLEMINER = _descriptor.Descriptor(name='HardExampleMiner',
    full_name='model.detection.protos.HardExampleMiner', filename=None,
    file=DESCRIPTOR, containing_type=None, fields=[_descriptor.
    FieldDescriptor(name='num_hard_examples', full_name=
    'model.detection.protos.HardExampleMiner.num_hard_examples', index=0,
    number=1, type=5, cpp_type=1, label=1, has_default_value=True,
    default_value=64, message_type=None, enum_type=None, containing_type=
    None, is_extension=False, extension_scope=None, options=None),
    _descriptor.FieldDescriptor(name='iou_threshold', full_name=
    'model.detection.protos.HardExampleMiner.iou_threshold', index=1,
    number=2, type=2, cpp_type=6, label=1, has_default_value=True,
    default_value=0.7, message_type=None, enum_type=None, containing_type=
    None, is_extension=False, extension_scope=None, options=None),
    _descriptor.FieldDescriptor(name='loss_type', full_name=
    'model.detection.protos.HardExampleMiner.loss_type', index=2, number=3,
    type=14, cpp_type=8, label=1, has_default_value=True, default_value=0,
    message_type=None, enum_type=None, containing_type=None, is_extension=
    False, extension_scope=None, options=None), _descriptor.FieldDescriptor
    (name='max_negatives_per_positive', full_name=
    'model.detection.protos.HardExampleMiner.max_negatives_per_positive',
    index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=True,
    default_value=0, message_type=None, enum_type=None, containing_type=
    None, is_extension=False, extension_scope=None, options=None),
    _descriptor.FieldDescriptor(name='min_negatives_per_image', full_name=
    'model.detection.protos.HardExampleMiner.min_negatives_per_image',
    index=4, number=5, type=5, cpp_type=1, label=1, has_default_value=True,
    default_value=0, message_type=None, enum_type=None, containing_type=
    None, is_extension=False, extension_scope=None, options=None)],
    extensions=[], nested_types=[], enum_types=[_HARDEXAMPLEMINER_LOSSTYPE],
    options=None, is_extendable=False, extension_ranges=[], oneofs=[],
    serialized_start=1376, serialized_end=1664)
_LOSS.fields_by_name['localization_loss'].message_type = _LOCALIZATIONLOSS
_LOSS.fields_by_name['classification_loss'].message_type = _CLASSIFICATIONLOSS
_LOSS.fields_by_name['hard_example_miner'].message_type = _HARDEXAMPLEMINER
_LOCALIZATIONLOSS.fields_by_name['weighted_l2'
    ].message_type = _WEIGHTEDL2LOCALIZATIONLOSS
_LOCALIZATIONLOSS.fields_by_name['weighted_smooth_l1'
    ].message_type = _WEIGHTEDSMOOTHL1LOCALIZATIONLOSS
_LOCALIZATIONLOSS.fields_by_name['weighted_iou'
    ].message_type = _WEIGHTEDIOULOCALIZATIONLOSS
_LOCALIZATIONLOSS.oneofs_by_name['localization_loss'].fields.append(
    _LOCALIZATIONLOSS.fields_by_name['weighted_l2'])
_LOCALIZATIONLOSS.fields_by_name['weighted_l2'
    ].containing_oneof = _LOCALIZATIONLOSS.oneofs_by_name['localization_loss']
_LOCALIZATIONLOSS.oneofs_by_name['localization_loss'].fields.append(
    _LOCALIZATIONLOSS.fields_by_name['weighted_smooth_l1'])
_LOCALIZATIONLOSS.fields_by_name['weighted_smooth_l1'
    ].containing_oneof = _LOCALIZATIONLOSS.oneofs_by_name['localization_loss']
_LOCALIZATIONLOSS.oneofs_by_name['localization_loss'].fields.append(
    _LOCALIZATIONLOSS.fields_by_name['weighted_iou'])
_LOCALIZATIONLOSS.fields_by_name['weighted_iou'
    ].containing_oneof = _LOCALIZATIONLOSS.oneofs_by_name['localization_loss']
_CLASSIFICATIONLOSS.fields_by_name['weighted_sigmoid'
    ].message_type = _WEIGHTEDSIGMOIDCLASSIFICATIONLOSS
_CLASSIFICATIONLOSS.fields_by_name['weighted_softmax'
    ].message_type = _WEIGHTEDSOFTMAXCLASSIFICATIONLOSS
_CLASSIFICATIONLOSS.fields_by_name['bootstrapped_sigmoid'
    ].message_type = _BOOTSTRAPPEDSIGMOIDCLASSIFICATIONLOSS
_CLASSIFICATIONLOSS.oneofs_by_name['classification_loss'].fields.append(
    _CLASSIFICATIONLOSS.fields_by_name['weighted_sigmoid'])
_CLASSIFICATIONLOSS.fields_by_name['weighted_sigmoid'
    ].containing_oneof = _CLASSIFICATIONLOSS.oneofs_by_name[
    'classification_loss']
_CLASSIFICATIONLOSS.oneofs_by_name['classification_loss'].fields.append(
    _CLASSIFICATIONLOSS.fields_by_name['weighted_softmax'])
_CLASSIFICATIONLOSS.fields_by_name['weighted_softmax'
    ].containing_oneof = _CLASSIFICATIONLOSS.oneofs_by_name[
    'classification_loss']
_CLASSIFICATIONLOSS.oneofs_by_name['classification_loss'].fields.append(
    _CLASSIFICATIONLOSS.fields_by_name['bootstrapped_sigmoid'])
_CLASSIFICATIONLOSS.fields_by_name['bootstrapped_sigmoid'
    ].containing_oneof = _CLASSIFICATIONLOSS.oneofs_by_name[
    'classification_loss']
_HARDEXAMPLEMINER.fields_by_name['loss_type'
    ].enum_type = _HARDEXAMPLEMINER_LOSSTYPE
_HARDEXAMPLEMINER_LOSSTYPE.containing_type = _HARDEXAMPLEMINER
DESCRIPTOR.message_types_by_name['Loss'] = _LOSS
DESCRIPTOR.message_types_by_name['LocalizationLoss'] = _LOCALIZATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedL2LocalizationLoss'
    ] = _WEIGHTEDL2LOCALIZATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedSmoothL1LocalizationLoss'
    ] = _WEIGHTEDSMOOTHL1LOCALIZATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedIOULocalizationLoss'
    ] = _WEIGHTEDIOULOCALIZATIONLOSS
DESCRIPTOR.message_types_by_name['ClassificationLoss'] = _CLASSIFICATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedSigmoidClassificationLoss'
    ] = _WEIGHTEDSIGMOIDCLASSIFICATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedSoftmaxClassificationLoss'
    ] = _WEIGHTEDSOFTMAXCLASSIFICATIONLOSS
DESCRIPTOR.message_types_by_name['BootstrappedSigmoidClassificationLoss'
    ] = _BOOTSTRAPPEDSIGMOIDCLASSIFICATIONLOSS
DESCRIPTOR.message_types_by_name['HardExampleMiner'] = _HARDEXAMPLEMINER
Loss = _reflection.GeneratedProtocolMessageType('Loss', (_message.Message,),
    dict(DESCRIPTOR=_LOSS, __module__='model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(Loss)
LocalizationLoss = _reflection.GeneratedProtocolMessageType('LocalizationLoss',
    (_message.Message,), dict(DESCRIPTOR=_LOCALIZATIONLOSS, __module__=
    'model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(LocalizationLoss)
WeightedL2LocalizationLoss = _reflection.GeneratedProtocolMessageType(
    'WeightedL2LocalizationLoss', (_message.Message,), dict(DESCRIPTOR=
    _WEIGHTEDL2LOCALIZATIONLOSS, __module__=
    'model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(WeightedL2LocalizationLoss)
WeightedSmoothL1LocalizationLoss = _reflection.GeneratedProtocolMessageType(
    'WeightedSmoothL1LocalizationLoss', (_message.Message,), dict(
    DESCRIPTOR=_WEIGHTEDSMOOTHL1LOCALIZATIONLOSS, __module__=
    'model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(WeightedSmoothL1LocalizationLoss)
WeightedIOULocalizationLoss = _reflection.GeneratedProtocolMessageType(
    'WeightedIOULocalizationLoss', (_message.Message,), dict(DESCRIPTOR=
    _WEIGHTEDIOULOCALIZATIONLOSS, __module__=
    'model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(WeightedIOULocalizationLoss)
ClassificationLoss = _reflection.GeneratedProtocolMessageType(
    'ClassificationLoss', (_message.Message,), dict(DESCRIPTOR=
    _CLASSIFICATIONLOSS, __module__='model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(ClassificationLoss)
WeightedSigmoidClassificationLoss = _reflection.GeneratedProtocolMessageType(
    'WeightedSigmoidClassificationLoss', (_message.Message,), dict(
    DESCRIPTOR=_WEIGHTEDSIGMOIDCLASSIFICATIONLOSS, __module__=
    'model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(WeightedSigmoidClassificationLoss)
WeightedSoftmaxClassificationLoss = _reflection.GeneratedProtocolMessageType(
    'WeightedSoftmaxClassificationLoss', (_message.Message,), dict(
    DESCRIPTOR=_WEIGHTEDSOFTMAXCLASSIFICATIONLOSS, __module__=
    'model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(WeightedSoftmaxClassificationLoss)
BootstrappedSigmoidClassificationLoss = (_reflection.
    GeneratedProtocolMessageType('BootstrappedSigmoidClassificationLoss', (
    _message.Message,), dict(DESCRIPTOR=
    _BOOTSTRAPPEDSIGMOIDCLASSIFICATIONLOSS, __module__=
    'model.detection.protos.losses_pb2')))
_sym_db.RegisterMessage(BootstrappedSigmoidClassificationLoss)
HardExampleMiner = _reflection.GeneratedProtocolMessageType('HardExampleMiner',
    (_message.Message,), dict(DESCRIPTOR=_HARDEXAMPLEMINER, __module__=
    'model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(HardExampleMiner)

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
_sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor.FileDescriptor(name=
    'model/detection/protos/losses.proto', package='model.detection.protos',
    serialized_pb=_b(
    '\n#model/detection/protos/losses.proto\x12\x16model.detection.protos"\x9c\x02\n\x04Loss\x12C\n\x11localization_loss\x18\x01 \x01(\x0b2(.model.detection.protos.LocalizationLoss\x12G\n\x13classification_loss\x18\x02 \x01(\x0b2*.model.detection.protos.ClassificationLoss\x12D\n\x12hard_example_miner\x18\x03 \x01(\x0b2(.model.detection.protos.HardExampleMiner\x12 \n\x15classification_weight\x18\x04 \x01(\x02:\x011\x12\x1e\n\x13localization_weight\x18\x05 \x01(\x02:\x011"\x97\x02\n\x10LocalizationLoss\x12I\n\x0bweighted_l2\x18\x01 \x01(\x0b22.model.detection.protos.WeightedL2LocalizationLossH\x00\x12V\n\x12weighted_smooth_l1\x18\x02 \x01(\x0b28.model.detection.protos.WeightedSmoothL1LocalizationLossH\x00\x12K\n\x0cweighted_iou\x18\x03 \x01(\x0b23.model.detection.protos.WeightedIOULocalizationLossH\x00B\x13\n\x11localization_loss">\n\x1aWeightedL2LocalizationLoss\x12 \n\x11anchorwise_output\x18\x01 \x01(\x08:\x05false"D\n WeightedSmoothL1LocalizationLoss\x12 \n\x11anchorwise_output\x18\x01 \x01(\x08:\x05false"\x1d\n\x1bWeightedIOULocalizationLoss"¸\x02\n\x12ClassificationLoss\x12U\n\x10weighted_sigmoid\x18\x01 \x01(\x0b29.model.detection.protos.WeightedSigmoidClassificationLossH\x00\x12U\n\x10weighted_softmax\x18\x02 \x01(\x0b29.model.detection.protos.WeightedSoftmaxClassificationLossH\x00\x12]\n\x14bootstrapped_sigmoid\x18\x03 \x01(\x0b2=.model.detection.protos.BootstrappedSigmoidClassificationLossH\x00B\x15\n\x13classification_loss"E\n!WeightedSigmoidClassificationLoss\x12 \n\x11anchorwise_output\x18\x01 \x01(\x08:\x05false"E\n!WeightedSoftmaxClassificationLoss\x12 \n\x11anchorwise_output\x18\x01 \x01(\x08:\x05false"w\n%BootstrappedSigmoidClassificationLoss\x12\r\n\x05alpha\x18\x01 \x01(\x02\x12\x1d\n\x0ehard_bootstrap\x18\x02 \x01(\x08:\x05false\x12 \n\x11anchorwise_output\x18\x03 \x01(\x08:\x05false"\xa0\x02\n\x10HardExampleMiner\x12\x1d\n\x11num_hard_examples\x18\x01 \x01(\x05:\x0264\x12\x1a\n\riou_threshold\x18\x02 \x01(\x02:\x030.7\x12J\n\tloss_type\x18\x03 \x01(\x0e21.model.detection.protos.HardExampleMiner.LossType:\x04BOTH\x12%\n\x1amax_negatives_per_positive\x18\x04 \x01(\x05:\x010\x12"\n\x17min_negatives_per_image\x18\x05 \x01(\x05:\x010":\n\x08LossType\x12\x08\n\x04BOTH\x10\x00\x12\x12\n\x0eCLASSIFICATION\x10\x01\x12\x10\n\x0cLOCALIZATION\x10\x02'
    ))
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
_HARDEXAMPLEMINER_LOSSTYPE = _descriptor.EnumDescriptor(name='LossType',
    full_name='model.detection.protos.HardExampleMiner.LossType', filename=
    None, file=DESCRIPTOR, values=[_descriptor.EnumValueDescriptor(name=
    'BOTH', index=0, number=0, options=None, type=None), _descriptor.
    EnumValueDescriptor(name='CLASSIFICATION', index=1, number=1, options=
    None, type=None), _descriptor.EnumValueDescriptor(name='LOCALIZATION',
    index=2, number=2, options=None, type=None)], containing_type=None,
    options=None, serialized_start=1606, serialized_end=1664)
_sym_db.RegisterEnumDescriptor(_HARDEXAMPLEMINER_LOSSTYPE)
_LOSS = _descriptor.Descriptor(name='Loss', full_name=
    'model.detection.protos.Loss', filename=None, file=DESCRIPTOR,
    containing_type=None, fields=[_descriptor.FieldDescriptor(name=
    'localization_loss', full_name=
    'model.detection.protos.Loss.localization_loss', index=0, number=1,
    type=11, cpp_type=10, label=1, 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='classification_loss', full_name=
    'model.detection.protos.Loss.classification_loss', index=1, number=2,
    type=11, cpp_type=10, label=1, 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='hard_example_miner', full_name=
    'model.detection.protos.Loss.hard_example_miner', index=2, number=3,
    type=11, cpp_type=10, label=1, 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='classification_weight', full_name=
    'model.detection.protos.Loss.classification_weight', index=3, number=4,
    type=2, cpp_type=6, label=1, has_default_value=True, default_value=1,
    message_type=None, enum_type=None, containing_type=None, is_extension=
    False, extension_scope=None, options=None), _descriptor.FieldDescriptor
    (name='localization_weight', full_name=
    'model.detection.protos.Loss.localization_weight', index=4, number=5,
    type=2, cpp_type=6, label=1, has_default_value=True, default_value=1,
    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,
    extension_ranges=[], oneofs=[], serialized_start=64, serialized_end=348)
_LOCALIZATIONLOSS = _descriptor.Descriptor(name='LocalizationLoss',
    full_name='model.detection.protos.LocalizationLoss', filename=None,
    file=DESCRIPTOR, containing_type=None, fields=[_descriptor.
    FieldDescriptor(name='weighted_l2', full_name=
    'model.detection.protos.LocalizationLoss.weighted_l2', index=0, number=
    1, type=11, cpp_type=10, label=1, 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='weighted_smooth_l1', full_name=
    'model.detection.protos.LocalizationLoss.weighted_smooth_l1', index=1,
    number=2, type=11, cpp_type=10, label=1, 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='weighted_iou', full_name=
    'model.detection.protos.LocalizationLoss.weighted_iou', index=2, number
    =3, type=11, cpp_type=10, label=1, 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=[], enum_types=[], options=None,
    is_extendable=False, extension_ranges=[], oneofs=[_descriptor.
    OneofDescriptor(name='localization_loss', full_name=
    'model.detection.protos.LocalizationLoss.localization_loss', index=0,
    containing_type=None, fields=[])], serialized_start=351, serialized_end=630
    )
_WEIGHTEDL2LOCALIZATIONLOSS = _descriptor.Descriptor(name=
    'WeightedL2LocalizationLoss', full_name=
    'model.detection.protos.WeightedL2LocalizationLoss', filename=None,
    file=DESCRIPTOR, containing_type=None, fields=[_descriptor.
    FieldDescriptor(name='anchorwise_output', full_name=
    'model.detection.protos.WeightedL2LocalizationLoss.anchorwise_output',
    index=0, number=1, type=8, cpp_type=7, label=1, has_default_value=True,
    default_value=False, 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, extension_ranges=[], oneofs=[], serialized_start=
    632, serialized_end=694)
_WEIGHTEDSMOOTHL1LOCALIZATIONLOSS = _descriptor.Descriptor(name=
    'WeightedSmoothL1LocalizationLoss', full_name=
    'model.detection.protos.WeightedSmoothL1LocalizationLoss', filename=
    None, file=DESCRIPTOR, containing_type=None, fields=[_descriptor.
    FieldDescriptor(name='anchorwise_output', full_name=
    'model.detection.protos.WeightedSmoothL1LocalizationLoss.anchorwise_output'
    , index=0, number=1, type=8, cpp_type=7, label=1, has_default_value=
    True, default_value=False, 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, extension_ranges=[], oneofs=[], serialized_start=
    696, serialized_end=764)
_WEIGHTEDIOULOCALIZATIONLOSS = _descriptor.Descriptor(name=
    'WeightedIOULocalizationLoss', full_name=
    'model.detection.protos.WeightedIOULocalizationLoss', filename=None,
    file=DESCRIPTOR, containing_type=None, fields=[], extensions=[],
    nested_types=[], enum_types=[], options=None, is_extendable=False,
    extension_ranges=[], oneofs=[], serialized_start=766, serialized_end=795)
_CLASSIFICATIONLOSS = _descriptor.Descriptor(name='ClassificationLoss',
    full_name='model.detection.protos.ClassificationLoss', filename=None,
    file=DESCRIPTOR, containing_type=None, fields=[_descriptor.
    FieldDescriptor(name='weighted_sigmoid', full_name=
    'model.detection.protos.ClassificationLoss.weighted_sigmoid', index=0,
    number=1, type=11, cpp_type=10, label=1, 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='weighted_softmax', full_name=
    'model.detection.protos.ClassificationLoss.weighted_softmax', index=1,
    number=2, type=11, cpp_type=10, label=1, 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='bootstrapped_sigmoid', full_name=
    'model.detection.protos.ClassificationLoss.bootstrapped_sigmoid', index
    =2, number=3, type=11, cpp_type=10, label=1, 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=[], enum_types=[], options=None,
    is_extendable=False, extension_ranges=[], oneofs=[_descriptor.
    OneofDescriptor(name='classification_loss', full_name=
    'model.detection.protos.ClassificationLoss.classification_loss', index=
    0, containing_type=None, fields=[])], serialized_start=798,
    serialized_end=1110)
_WEIGHTEDSIGMOIDCLASSIFICATIONLOSS = _descriptor.Descriptor(name=
    'WeightedSigmoidClassificationLoss', full_name=
    'model.detection.protos.WeightedSigmoidClassificationLoss', filename=
    None, file=DESCRIPTOR, containing_type=None, fields=[_descriptor.
    FieldDescriptor(name='anchorwise_output', full_name=
    'model.detection.protos.WeightedSigmoidClassificationLoss.anchorwise_output'
    , index=0, number=1, type=8, cpp_type=7, label=1, has_default_value=
    True, default_value=False, 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, extension_ranges=[], oneofs=[], serialized_start=
    1112, serialized_end=1181)
_WEIGHTEDSOFTMAXCLASSIFICATIONLOSS = _descriptor.Descriptor(name=
    'WeightedSoftmaxClassificationLoss', full_name=
    'model.detection.protos.WeightedSoftmaxClassificationLoss', filename=
    None, file=DESCRIPTOR, containing_type=None, fields=[_descriptor.
    FieldDescriptor(name='anchorwise_output', full_name=
    'model.detection.protos.WeightedSoftmaxClassificationLoss.anchorwise_output'
    , index=0, number=1, type=8, cpp_type=7, label=1, has_default_value=
    True, default_value=False, 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, extension_ranges=[], oneofs=[], serialized_start=
    1183, serialized_end=1252)
_BOOTSTRAPPEDSIGMOIDCLASSIFICATIONLOSS = _descriptor.Descriptor(name=
    'BootstrappedSigmoidClassificationLoss', full_name=
    'model.detection.protos.BootstrappedSigmoidClassificationLoss',
    filename=None, file=DESCRIPTOR, containing_type=None, fields=[
    _descriptor.FieldDescriptor(name='alpha', full_name=
    'model.detection.protos.BootstrappedSigmoidClassificationLoss.alpha',
    index=0, number=1, type=2, cpp_type=6, label=1, 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='hard_bootstrap', full_name=
    'model.detection.protos.BootstrappedSigmoidClassificationLoss.hard_bootstrap'
    , index=1, number=2, type=8, cpp_type=7, label=1, 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='anchorwise_output', full_name
    =
    'model.detection.protos.BootstrappedSigmoidClassificationLoss.anchorwise_output'
    , index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=
    True, default_value=False, 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, extension_ranges=[], oneofs=[], serialized_start=
    1254, serialized_end=1373)
_HARDEXAMPLEMINER = _descriptor.Descriptor(name='HardExampleMiner',
    full_name='model.detection.protos.HardExampleMiner', filename=None,
    file=DESCRIPTOR, containing_type=None, fields=[_descriptor.
    FieldDescriptor(name='num_hard_examples', full_name=
    'model.detection.protos.HardExampleMiner.num_hard_examples', index=0,
    number=1, type=5, cpp_type=1, label=1, has_default_value=True,
    default_value=64, message_type=None, enum_type=None, containing_type=
    None, is_extension=False, extension_scope=None, options=None),
    _descriptor.FieldDescriptor(name='iou_threshold', full_name=
    'model.detection.protos.HardExampleMiner.iou_threshold', index=1,
    number=2, type=2, cpp_type=6, label=1, has_default_value=True,
    default_value=0.7, message_type=None, enum_type=None, containing_type=
    None, is_extension=False, extension_scope=None, options=None),
    _descriptor.FieldDescriptor(name='loss_type', full_name=
    'model.detection.protos.HardExampleMiner.loss_type', index=2, number=3,
    type=14, cpp_type=8, label=1, has_default_value=True, default_value=0,
    message_type=None, enum_type=None, containing_type=None, is_extension=
    False, extension_scope=None, options=None), _descriptor.FieldDescriptor
    (name='max_negatives_per_positive', full_name=
    'model.detection.protos.HardExampleMiner.max_negatives_per_positive',
    index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=True,
    default_value=0, message_type=None, enum_type=None, containing_type=
    None, is_extension=False, extension_scope=None, options=None),
    _descriptor.FieldDescriptor(name='min_negatives_per_image', full_name=
    'model.detection.protos.HardExampleMiner.min_negatives_per_image',
    index=4, number=5, type=5, cpp_type=1, label=1, has_default_value=True,
    default_value=0, message_type=None, enum_type=None, containing_type=
    None, is_extension=False, extension_scope=None, options=None)],
    extensions=[], nested_types=[], enum_types=[_HARDEXAMPLEMINER_LOSSTYPE],
    options=None, is_extendable=False, extension_ranges=[], oneofs=[],
    serialized_start=1376, serialized_end=1664)
_LOSS.fields_by_name['localization_loss'].message_type = _LOCALIZATIONLOSS
_LOSS.fields_by_name['classification_loss'].message_type = _CLASSIFICATIONLOSS
_LOSS.fields_by_name['hard_example_miner'].message_type = _HARDEXAMPLEMINER
_LOCALIZATIONLOSS.fields_by_name['weighted_l2'
    ].message_type = _WEIGHTEDL2LOCALIZATIONLOSS
_LOCALIZATIONLOSS.fields_by_name['weighted_smooth_l1'
    ].message_type = _WEIGHTEDSMOOTHL1LOCALIZATIONLOSS
_LOCALIZATIONLOSS.fields_by_name['weighted_iou'
    ].message_type = _WEIGHTEDIOULOCALIZATIONLOSS
_LOCALIZATIONLOSS.oneofs_by_name['localization_loss'].fields.append(
    _LOCALIZATIONLOSS.fields_by_name['weighted_l2'])
_LOCALIZATIONLOSS.fields_by_name['weighted_l2'
    ].containing_oneof = _LOCALIZATIONLOSS.oneofs_by_name['localization_loss']
_LOCALIZATIONLOSS.oneofs_by_name['localization_loss'].fields.append(
    _LOCALIZATIONLOSS.fields_by_name['weighted_smooth_l1'])
_LOCALIZATIONLOSS.fields_by_name['weighted_smooth_l1'
    ].containing_oneof = _LOCALIZATIONLOSS.oneofs_by_name['localization_loss']
_LOCALIZATIONLOSS.oneofs_by_name['localization_loss'].fields.append(
    _LOCALIZATIONLOSS.fields_by_name['weighted_iou'])
_LOCALIZATIONLOSS.fields_by_name['weighted_iou'
    ].containing_oneof = _LOCALIZATIONLOSS.oneofs_by_name['localization_loss']
_CLASSIFICATIONLOSS.fields_by_name['weighted_sigmoid'
    ].message_type = _WEIGHTEDSIGMOIDCLASSIFICATIONLOSS
_CLASSIFICATIONLOSS.fields_by_name['weighted_softmax'
    ].message_type = _WEIGHTEDSOFTMAXCLASSIFICATIONLOSS
_CLASSIFICATIONLOSS.fields_by_name['bootstrapped_sigmoid'
    ].message_type = _BOOTSTRAPPEDSIGMOIDCLASSIFICATIONLOSS
_CLASSIFICATIONLOSS.oneofs_by_name['classification_loss'].fields.append(
    _CLASSIFICATIONLOSS.fields_by_name['weighted_sigmoid'])
_CLASSIFICATIONLOSS.fields_by_name['weighted_sigmoid'
    ].containing_oneof = _CLASSIFICATIONLOSS.oneofs_by_name[
    'classification_loss']
_CLASSIFICATIONLOSS.oneofs_by_name['classification_loss'].fields.append(
    _CLASSIFICATIONLOSS.fields_by_name['weighted_softmax'])
_CLASSIFICATIONLOSS.fields_by_name['weighted_softmax'
    ].containing_oneof = _CLASSIFICATIONLOSS.oneofs_by_name[
    'classification_loss']
_CLASSIFICATIONLOSS.oneofs_by_name['classification_loss'].fields.append(
    _CLASSIFICATIONLOSS.fields_by_name['bootstrapped_sigmoid'])
_CLASSIFICATIONLOSS.fields_by_name['bootstrapped_sigmoid'
    ].containing_oneof = _CLASSIFICATIONLOSS.oneofs_by_name[
    'classification_loss']
_HARDEXAMPLEMINER.fields_by_name['loss_type'
    ].enum_type = _HARDEXAMPLEMINER_LOSSTYPE
_HARDEXAMPLEMINER_LOSSTYPE.containing_type = _HARDEXAMPLEMINER
DESCRIPTOR.message_types_by_name['Loss'] = _LOSS
DESCRIPTOR.message_types_by_name['LocalizationLoss'] = _LOCALIZATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedL2LocalizationLoss'
    ] = _WEIGHTEDL2LOCALIZATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedSmoothL1LocalizationLoss'
    ] = _WEIGHTEDSMOOTHL1LOCALIZATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedIOULocalizationLoss'
    ] = _WEIGHTEDIOULOCALIZATIONLOSS
DESCRIPTOR.message_types_by_name['ClassificationLoss'] = _CLASSIFICATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedSigmoidClassificationLoss'
    ] = _WEIGHTEDSIGMOIDCLASSIFICATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedSoftmaxClassificationLoss'
    ] = _WEIGHTEDSOFTMAXCLASSIFICATIONLOSS
DESCRIPTOR.message_types_by_name['BootstrappedSigmoidClassificationLoss'
    ] = _BOOTSTRAPPEDSIGMOIDCLASSIFICATIONLOSS
DESCRIPTOR.message_types_by_name['HardExampleMiner'] = _HARDEXAMPLEMINER
Loss = _reflection.GeneratedProtocolMessageType('Loss', (_message.Message,),
    dict(DESCRIPTOR=_LOSS, __module__='model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(Loss)
LocalizationLoss = _reflection.GeneratedProtocolMessageType('LocalizationLoss',
    (_message.Message,), dict(DESCRIPTOR=_LOCALIZATIONLOSS, __module__=
    'model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(LocalizationLoss)
WeightedL2LocalizationLoss = _reflection.GeneratedProtocolMessageType(
    'WeightedL2LocalizationLoss', (_message.Message,), dict(DESCRIPTOR=
    _WEIGHTEDL2LOCALIZATIONLOSS, __module__=
    'model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(WeightedL2LocalizationLoss)
WeightedSmoothL1LocalizationLoss = _reflection.GeneratedProtocolMessageType(
    'WeightedSmoothL1LocalizationLoss', (_message.Message,), dict(
    DESCRIPTOR=_WEIGHTEDSMOOTHL1LOCALIZATIONLOSS, __module__=
    'model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(WeightedSmoothL1LocalizationLoss)
WeightedIOULocalizationLoss = _reflection.GeneratedProtocolMessageType(
    'WeightedIOULocalizationLoss', (_message.Message,), dict(DESCRIPTOR=
    _WEIGHTEDIOULOCALIZATIONLOSS, __module__=
    'model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(WeightedIOULocalizationLoss)
ClassificationLoss = _reflection.GeneratedProtocolMessageType(
    'ClassificationLoss', (_message.Message,), dict(DESCRIPTOR=
    _CLASSIFICATIONLOSS, __module__='model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(ClassificationLoss)
WeightedSigmoidClassificationLoss = _reflection.GeneratedProtocolMessageType(
    'WeightedSigmoidClassificationLoss', (_message.Message,), dict(
    DESCRIPTOR=_WEIGHTEDSIGMOIDCLASSIFICATIONLOSS, __module__=
    'model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(WeightedSigmoidClassificationLoss)
WeightedSoftmaxClassificationLoss = _reflection.GeneratedProtocolMessageType(
    'WeightedSoftmaxClassificationLoss', (_message.Message,), dict(
    DESCRIPTOR=_WEIGHTEDSOFTMAXCLASSIFICATIONLOSS, __module__=
    'model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(WeightedSoftmaxClassificationLoss)
BootstrappedSigmoidClassificationLoss = (_reflection.
    GeneratedProtocolMessageType('BootstrappedSigmoidClassificationLoss', (
    _message.Message,), dict(DESCRIPTOR=
    _BOOTSTRAPPEDSIGMOIDCLASSIFICATIONLOSS, __module__=
    'model.detection.protos.losses_pb2')))
_sym_db.RegisterMessage(BootstrappedSigmoidClassificationLoss)
HardExampleMiner = _reflection.GeneratedProtocolMessageType('HardExampleMiner',
    (_message.Message,), dict(DESCRIPTOR=_HARDEXAMPLEMINER, __module__=
    'model.detection.protos.losses_pb2'))
_sym_db.RegisterMessage(HardExampleMiner)

# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: model/detection/protos/losses.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

# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()




DESCRIPTOR = _descriptor.FileDescriptor(
  name='model/detection/protos/losses.proto',
  package='model.detection.protos',
  serialized_pb=_b('\n#model/detection/protos/losses.proto\x12\x16model.detection.protos\"\x9c\x02\n\x04Loss\x12\x43\n\x11localization_loss\x18\x01 \x01(\x0b\x32(.model.detection.protos.LocalizationLoss\x12G\n\x13\x63lassification_loss\x18\x02 \x01(\x0b\x32*.model.detection.protos.ClassificationLoss\x12\x44\n\x12hard_example_miner\x18\x03 \x01(\x0b\x32(.model.detection.protos.HardExampleMiner\x12 \n\x15\x63lassification_weight\x18\x04 \x01(\x02:\x01\x31\x12\x1e\n\x13localization_weight\x18\x05 \x01(\x02:\x01\x31\"\x97\x02\n\x10LocalizationLoss\x12I\n\x0bweighted_l2\x18\x01 \x01(\x0b\x32\x32.model.detection.protos.WeightedL2LocalizationLossH\x00\x12V\n\x12weighted_smooth_l1\x18\x02 \x01(\x0b\x32\x38.model.detection.protos.WeightedSmoothL1LocalizationLossH\x00\x12K\n\x0cweighted_iou\x18\x03 \x01(\x0b\x32\x33.model.detection.protos.WeightedIOULocalizationLossH\x00\x42\x13\n\x11localization_loss\">\n\x1aWeightedL2LocalizationLoss\x12 \n\x11\x61nchorwise_output\x18\x01 \x01(\x08:\x05\x66\x61lse\"D\n WeightedSmoothL1LocalizationLoss\x12 \n\x11\x61nchorwise_output\x18\x01 \x01(\x08:\x05\x66\x61lse\"\x1d\n\x1bWeightedIOULocalizationLoss\"\xb8\x02\n\x12\x43lassificationLoss\x12U\n\x10weighted_sigmoid\x18\x01 \x01(\x0b\x32\x39.model.detection.protos.WeightedSigmoidClassificationLossH\x00\x12U\n\x10weighted_softmax\x18\x02 \x01(\x0b\x32\x39.model.detection.protos.WeightedSoftmaxClassificationLossH\x00\x12]\n\x14\x62ootstrapped_sigmoid\x18\x03 \x01(\x0b\x32=.model.detection.protos.BootstrappedSigmoidClassificationLossH\x00\x42\x15\n\x13\x63lassification_loss\"E\n!WeightedSigmoidClassificationLoss\x12 \n\x11\x61nchorwise_output\x18\x01 \x01(\x08:\x05\x66\x61lse\"E\n!WeightedSoftmaxClassificationLoss\x12 \n\x11\x61nchorwise_output\x18\x01 \x01(\x08:\x05\x66\x61lse\"w\n%BootstrappedSigmoidClassificationLoss\x12\r\n\x05\x61lpha\x18\x01 \x01(\x02\x12\x1d\n\x0ehard_bootstrap\x18\x02 \x01(\x08:\x05\x66\x61lse\x12 \n\x11\x61nchorwise_output\x18\x03 \x01(\x08:\x05\x66\x61lse\"\xa0\x02\n\x10HardExampleMiner\x12\x1d\n\x11num_hard_examples\x18\x01 \x01(\x05:\x02\x36\x34\x12\x1a\n\riou_threshold\x18\x02 \x01(\x02:\x03\x30.7\x12J\n\tloss_type\x18\x03 \x01(\x0e\x32\x31.model.detection.protos.HardExampleMiner.LossType:\x04\x42OTH\x12%\n\x1amax_negatives_per_positive\x18\x04 \x01(\x05:\x01\x30\x12\"\n\x17min_negatives_per_image\x18\x05 \x01(\x05:\x01\x30\":\n\x08LossType\x12\x08\n\x04\x42OTH\x10\x00\x12\x12\n\x0e\x43LASSIFICATION\x10\x01\x12\x10\n\x0cLOCALIZATION\x10\x02')
)
_sym_db.RegisterFileDescriptor(DESCRIPTOR)



_HARDEXAMPLEMINER_LOSSTYPE = _descriptor.EnumDescriptor(
  name='LossType',
  full_name='model.detection.protos.HardExampleMiner.LossType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='BOTH', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CLASSIFICATION', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LOCALIZATION', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=1606,
  serialized_end=1664,
)
_sym_db.RegisterEnumDescriptor(_HARDEXAMPLEMINER_LOSSTYPE)


_LOSS = _descriptor.Descriptor(
  name='Loss',
  full_name='model.detection.protos.Loss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='localization_loss', full_name='model.detection.protos.Loss.localization_loss', index=0,
      number=1, type=11, cpp_type=10, label=1,
      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='classification_loss', full_name='model.detection.protos.Loss.classification_loss', index=1,
      number=2, type=11, cpp_type=10, label=1,
      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='hard_example_miner', full_name='model.detection.protos.Loss.hard_example_miner', index=2,
      number=3, type=11, cpp_type=10, label=1,
      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='classification_weight', full_name='model.detection.protos.Loss.classification_weight', index=3,
      number=4, type=2, cpp_type=6, label=1,
      has_default_value=True, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='localization_weight', full_name='model.detection.protos.Loss.localization_weight', index=4,
      number=5, type=2, cpp_type=6, label=1,
      has_default_value=True, default_value=1,
      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,
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=64,
  serialized_end=348,
)


_LOCALIZATIONLOSS = _descriptor.Descriptor(
  name='LocalizationLoss',
  full_name='model.detection.protos.LocalizationLoss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='weighted_l2', full_name='model.detection.protos.LocalizationLoss.weighted_l2', index=0,
      number=1, type=11, cpp_type=10, label=1,
      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='weighted_smooth_l1', full_name='model.detection.protos.LocalizationLoss.weighted_smooth_l1', index=1,
      number=2, type=11, cpp_type=10, label=1,
      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='weighted_iou', full_name='model.detection.protos.LocalizationLoss.weighted_iou', index=2,
      number=3, type=11, cpp_type=10, label=1,
      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=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='localization_loss', full_name='model.detection.protos.LocalizationLoss.localization_loss',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=351,
  serialized_end=630,
)


_WEIGHTEDL2LOCALIZATIONLOSS = _descriptor.Descriptor(
  name='WeightedL2LocalizationLoss',
  full_name='model.detection.protos.WeightedL2LocalizationLoss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='anchorwise_output', full_name='model.detection.protos.WeightedL2LocalizationLoss.anchorwise_output', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=False,
      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,
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=632,
  serialized_end=694,
)


_WEIGHTEDSMOOTHL1LOCALIZATIONLOSS = _descriptor.Descriptor(
  name='WeightedSmoothL1LocalizationLoss',
  full_name='model.detection.protos.WeightedSmoothL1LocalizationLoss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='anchorwise_output', full_name='model.detection.protos.WeightedSmoothL1LocalizationLoss.anchorwise_output', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=False,
      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,
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=696,
  serialized_end=764,
)


_WEIGHTEDIOULOCALIZATIONLOSS = _descriptor.Descriptor(
  name='WeightedIOULocalizationLoss',
  full_name='model.detection.protos.WeightedIOULocalizationLoss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=766,
  serialized_end=795,
)


_CLASSIFICATIONLOSS = _descriptor.Descriptor(
  name='ClassificationLoss',
  full_name='model.detection.protos.ClassificationLoss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='weighted_sigmoid', full_name='model.detection.protos.ClassificationLoss.weighted_sigmoid', index=0,
      number=1, type=11, cpp_type=10, label=1,
      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='weighted_softmax', full_name='model.detection.protos.ClassificationLoss.weighted_softmax', index=1,
      number=2, type=11, cpp_type=10, label=1,
      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='bootstrapped_sigmoid', full_name='model.detection.protos.ClassificationLoss.bootstrapped_sigmoid', index=2,
      number=3, type=11, cpp_type=10, label=1,
      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=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='classification_loss', full_name='model.detection.protos.ClassificationLoss.classification_loss',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=798,
  serialized_end=1110,
)


_WEIGHTEDSIGMOIDCLASSIFICATIONLOSS = _descriptor.Descriptor(
  name='WeightedSigmoidClassificationLoss',
  full_name='model.detection.protos.WeightedSigmoidClassificationLoss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='anchorwise_output', full_name='model.detection.protos.WeightedSigmoidClassificationLoss.anchorwise_output', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=False,
      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,
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1112,
  serialized_end=1181,
)


_WEIGHTEDSOFTMAXCLASSIFICATIONLOSS = _descriptor.Descriptor(
  name='WeightedSoftmaxClassificationLoss',
  full_name='model.detection.protos.WeightedSoftmaxClassificationLoss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='anchorwise_output', full_name='model.detection.protos.WeightedSoftmaxClassificationLoss.anchorwise_output', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=False,
      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,
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1183,
  serialized_end=1252,
)


_BOOTSTRAPPEDSIGMOIDCLASSIFICATIONLOSS = _descriptor.Descriptor(
  name='BootstrappedSigmoidClassificationLoss',
  full_name='model.detection.protos.BootstrappedSigmoidClassificationLoss',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='alpha', full_name='model.detection.protos.BootstrappedSigmoidClassificationLoss.alpha', index=0,
      number=1, type=2, cpp_type=6, label=1,
      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='hard_bootstrap', full_name='model.detection.protos.BootstrappedSigmoidClassificationLoss.hard_bootstrap', index=1,
      number=2, type=8, cpp_type=7, label=1,
      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='anchorwise_output', full_name='model.detection.protos.BootstrappedSigmoidClassificationLoss.anchorwise_output', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=False,
      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,
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1254,
  serialized_end=1373,
)


_HARDEXAMPLEMINER = _descriptor.Descriptor(
  name='HardExampleMiner',
  full_name='model.detection.protos.HardExampleMiner',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='num_hard_examples', full_name='model.detection.protos.HardExampleMiner.num_hard_examples', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=True, default_value=64,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='iou_threshold', full_name='model.detection.protos.HardExampleMiner.iou_threshold', index=1,
      number=2, type=2, cpp_type=6, label=1,
      has_default_value=True, default_value=0.7,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='loss_type', full_name='model.detection.protos.HardExampleMiner.loss_type', index=2,
      number=3, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='max_negatives_per_positive', full_name='model.detection.protos.HardExampleMiner.max_negatives_per_positive', index=3,
      number=4, type=5, cpp_type=1, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='min_negatives_per_image', full_name='model.detection.protos.HardExampleMiner.min_negatives_per_image', index=4,
      number=5, type=5, cpp_type=1, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _HARDEXAMPLEMINER_LOSSTYPE,
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1376,
  serialized_end=1664,
)

_LOSS.fields_by_name['localization_loss'].message_type = _LOCALIZATIONLOSS
_LOSS.fields_by_name['classification_loss'].message_type = _CLASSIFICATIONLOSS
_LOSS.fields_by_name['hard_example_miner'].message_type = _HARDEXAMPLEMINER
_LOCALIZATIONLOSS.fields_by_name['weighted_l2'].message_type = _WEIGHTEDL2LOCALIZATIONLOSS
_LOCALIZATIONLOSS.fields_by_name['weighted_smooth_l1'].message_type = _WEIGHTEDSMOOTHL1LOCALIZATIONLOSS
_LOCALIZATIONLOSS.fields_by_name['weighted_iou'].message_type = _WEIGHTEDIOULOCALIZATIONLOSS
_LOCALIZATIONLOSS.oneofs_by_name['localization_loss'].fields.append(
  _LOCALIZATIONLOSS.fields_by_name['weighted_l2'])
_LOCALIZATIONLOSS.fields_by_name['weighted_l2'].containing_oneof = _LOCALIZATIONLOSS.oneofs_by_name['localization_loss']
_LOCALIZATIONLOSS.oneofs_by_name['localization_loss'].fields.append(
  _LOCALIZATIONLOSS.fields_by_name['weighted_smooth_l1'])
_LOCALIZATIONLOSS.fields_by_name['weighted_smooth_l1'].containing_oneof = _LOCALIZATIONLOSS.oneofs_by_name['localization_loss']
_LOCALIZATIONLOSS.oneofs_by_name['localization_loss'].fields.append(
  _LOCALIZATIONLOSS.fields_by_name['weighted_iou'])
_LOCALIZATIONLOSS.fields_by_name['weighted_iou'].containing_oneof = _LOCALIZATIONLOSS.oneofs_by_name['localization_loss']
_CLASSIFICATIONLOSS.fields_by_name['weighted_sigmoid'].message_type = _WEIGHTEDSIGMOIDCLASSIFICATIONLOSS
_CLASSIFICATIONLOSS.fields_by_name['weighted_softmax'].message_type = _WEIGHTEDSOFTMAXCLASSIFICATIONLOSS
_CLASSIFICATIONLOSS.fields_by_name['bootstrapped_sigmoid'].message_type = _BOOTSTRAPPEDSIGMOIDCLASSIFICATIONLOSS
_CLASSIFICATIONLOSS.oneofs_by_name['classification_loss'].fields.append(
  _CLASSIFICATIONLOSS.fields_by_name['weighted_sigmoid'])
_CLASSIFICATIONLOSS.fields_by_name['weighted_sigmoid'].containing_oneof = _CLASSIFICATIONLOSS.oneofs_by_name['classification_loss']
_CLASSIFICATIONLOSS.oneofs_by_name['classification_loss'].fields.append(
  _CLASSIFICATIONLOSS.fields_by_name['weighted_softmax'])
_CLASSIFICATIONLOSS.fields_by_name['weighted_softmax'].containing_oneof = _CLASSIFICATIONLOSS.oneofs_by_name['classification_loss']
_CLASSIFICATIONLOSS.oneofs_by_name['classification_loss'].fields.append(
  _CLASSIFICATIONLOSS.fields_by_name['bootstrapped_sigmoid'])
_CLASSIFICATIONLOSS.fields_by_name['bootstrapped_sigmoid'].containing_oneof = _CLASSIFICATIONLOSS.oneofs_by_name['classification_loss']
_HARDEXAMPLEMINER.fields_by_name['loss_type'].enum_type = _HARDEXAMPLEMINER_LOSSTYPE
_HARDEXAMPLEMINER_LOSSTYPE.containing_type = _HARDEXAMPLEMINER
DESCRIPTOR.message_types_by_name['Loss'] = _LOSS
DESCRIPTOR.message_types_by_name['LocalizationLoss'] = _LOCALIZATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedL2LocalizationLoss'] = _WEIGHTEDL2LOCALIZATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedSmoothL1LocalizationLoss'] = _WEIGHTEDSMOOTHL1LOCALIZATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedIOULocalizationLoss'] = _WEIGHTEDIOULOCALIZATIONLOSS
DESCRIPTOR.message_types_by_name['ClassificationLoss'] = _CLASSIFICATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedSigmoidClassificationLoss'] = _WEIGHTEDSIGMOIDCLASSIFICATIONLOSS
DESCRIPTOR.message_types_by_name['WeightedSoftmaxClassificationLoss'] = _WEIGHTEDSOFTMAXCLASSIFICATIONLOSS
DESCRIPTOR.message_types_by_name['BootstrappedSigmoidClassificationLoss'] = _BOOTSTRAPPEDSIGMOIDCLASSIFICATIONLOSS
DESCRIPTOR.message_types_by_name['HardExampleMiner'] = _HARDEXAMPLEMINER

Loss = _reflection.GeneratedProtocolMessageType('Loss', (_message.Message,), dict(
  DESCRIPTOR = _LOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.Loss)
  ))
_sym_db.RegisterMessage(Loss)

LocalizationLoss = _reflection.GeneratedProtocolMessageType('LocalizationLoss', (_message.Message,), dict(
  DESCRIPTOR = _LOCALIZATIONLOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.LocalizationLoss)
  ))
_sym_db.RegisterMessage(LocalizationLoss)

WeightedL2LocalizationLoss = _reflection.GeneratedProtocolMessageType('WeightedL2LocalizationLoss', (_message.Message,), dict(
  DESCRIPTOR = _WEIGHTEDL2LOCALIZATIONLOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.WeightedL2LocalizationLoss)
  ))
_sym_db.RegisterMessage(WeightedL2LocalizationLoss)

WeightedSmoothL1LocalizationLoss = _reflection.GeneratedProtocolMessageType('WeightedSmoothL1LocalizationLoss', (_message.Message,), dict(
  DESCRIPTOR = _WEIGHTEDSMOOTHL1LOCALIZATIONLOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.WeightedSmoothL1LocalizationLoss)
  ))
_sym_db.RegisterMessage(WeightedSmoothL1LocalizationLoss)

WeightedIOULocalizationLoss = _reflection.GeneratedProtocolMessageType('WeightedIOULocalizationLoss', (_message.Message,), dict(
  DESCRIPTOR = _WEIGHTEDIOULOCALIZATIONLOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.WeightedIOULocalizationLoss)
  ))
_sym_db.RegisterMessage(WeightedIOULocalizationLoss)

ClassificationLoss = _reflection.GeneratedProtocolMessageType('ClassificationLoss', (_message.Message,), dict(
  DESCRIPTOR = _CLASSIFICATIONLOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.ClassificationLoss)
  ))
_sym_db.RegisterMessage(ClassificationLoss)

WeightedSigmoidClassificationLoss = _reflection.GeneratedProtocolMessageType('WeightedSigmoidClassificationLoss', (_message.Message,), dict(
  DESCRIPTOR = _WEIGHTEDSIGMOIDCLASSIFICATIONLOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.WeightedSigmoidClassificationLoss)
  ))
_sym_db.RegisterMessage(WeightedSigmoidClassificationLoss)

WeightedSoftmaxClassificationLoss = _reflection.GeneratedProtocolMessageType('WeightedSoftmaxClassificationLoss', (_message.Message,), dict(
  DESCRIPTOR = _WEIGHTEDSOFTMAXCLASSIFICATIONLOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.WeightedSoftmaxClassificationLoss)
  ))
_sym_db.RegisterMessage(WeightedSoftmaxClassificationLoss)

BootstrappedSigmoidClassificationLoss = _reflection.GeneratedProtocolMessageType('BootstrappedSigmoidClassificationLoss', (_message.Message,), dict(
  DESCRIPTOR = _BOOTSTRAPPEDSIGMOIDCLASSIFICATIONLOSS,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.BootstrappedSigmoidClassificationLoss)
  ))
_sym_db.RegisterMessage(BootstrappedSigmoidClassificationLoss)

HardExampleMiner = _reflection.GeneratedProtocolMessageType('HardExampleMiner', (_message.Message,), dict(
  DESCRIPTOR = _HARDEXAMPLEMINER,
  __module__ = 'model.detection.protos.losses_pb2'
  # @@protoc_insertion_point(class_scope:model.detection.protos.HardExampleMiner)
  ))
_sym_db.RegisterMessage(HardExampleMiner)


# @@protoc_insertion_point(module_scope)
