# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: deeplab2/trainer.proto

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='deeplab2/trainer.proto',
    package='deeplab2',
    syntax='proto2',
    serialized_options=b'P\001',
    serialized_pb=b'\n\x16\x64\x65\x65plab2/trainer.proto\x12\x08\x64\x65\x65plab2\"\xe4\x03\n\rSolverOptions\x12 \n\x12use_sync_batchnorm\x18\x01 \x01(\x08:\x04true\x12 \n\x12\x62\x61tchnorm_momentum\x18\x0e \x01(\x02:\x04\x30.99\x12 \n\x11\x62\x61tchnorm_epsilon\x18\x0f \x01(\x02:\x05\x30.001\x12\x1d\n\x0flearning_policy\x18\x02 \x01(\t:\x04poly\x12!\n\x12\x62\x61se_learning_rate\x18\x03 \x01(\x02:\x05\x30.001\x12 \n\x13poly_learning_power\x18\x04 \x01(\x02:\x03\x30.9\x12!\n\x16poly_end_learning_rate\x18\x05 \x01(\x02:\x01\x30\x12\x17\n\x0cwarmup_steps\x18\x06 \x01(\x05:\x01\x30\x12\x17\n\toptimizer\x18\x07 \x01(\t:\x04\x61\x64\x61m\x12\x17\n\x0cweight_decay\x18\x08 \x01(\x02:\x01\x30\x12$\n\x15use_gradient_clipping\x18\t \x01(\x08:\x05\x66\x61lse\x12\x1e\n\x12\x63lip_gradient_norm\x18\n \x01(\x02:\x02\x31\x30\x12\'\n\x18training_number_of_steps\x18\x0b \x01(\x05:\x05\x36\x30\x30\x30\x30\x12,\n!backbone_learning_rate_multiplier\x18\x10 \x01(\x02:\x01\x31\"\xbb\x05\n\x0bLossOptions\x12>\n\rsemantic_loss\x18\x01 \x01(\x0b\x32\'.deeplab2.LossOptions.SingleLossOptions\x12<\n\x0b\x63\x65nter_loss\x18\x02 \x01(\x0b\x32\'.deeplab2.LossOptions.SingleLossOptions\x12@\n\x0fregression_loss\x18\x03 \x01(\x0b\x32\'.deeplab2.LossOptions.SingleLossOptions\x12<\n\x0bmotion_loss\x18\x04 \x01(\x0b\x32\'.deeplab2.LossOptions.SingleLossOptions\x12\x45\n\x14next_regression_loss\x18\x05 \x01(\x0b\x32\'.deeplab2.LossOptions.SingleLossOptions\x12>\n\rpq_style_loss\x18\x06 \x01(\x0b\x32\'.deeplab2.LossOptions.SingleLossOptions\x12K\n\x1amask_id_cross_entropy_loss\x18\x07 \x01(\x0b\x32\'.deeplab2.LossOptions.SingleLossOptions\x12M\n\x1cinstance_discrimination_loss\x18\x08 \x01(\x0b\x32\'.deeplab2.LossOptions.SingleLossOptions\x12;\n\ndepth_loss\x18\t \x01(\x0b\x32\'.deeplab2.LossOptions.SingleLossOptions\x1aN\n\x11SingleLossOptions\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\x06weight\x18\x02 \x01(\x02:\x01\x31\x12\x18\n\rtop_k_percent\x18\x03 \x01(\x02:\x01\x31\"\xfa\x01\n\x0eTrainerOptions\x12\"\n\x17num_checkpoints_to_keep\x18\x01 \x01(\x05:\x01\x35\x12$\n\x16save_checkpoints_steps\x18\x02 \x01(\x05:\x04\x31\x30\x30\x30\x12\"\n\x14save_summaries_steps\x18\x03 \x01(\x05:\x04\x31\x30\x30\x30\x12\x1c\n\x0esteps_per_loop\x18\x04 \x01(\x05:\x04\x31\x30\x30\x30\x12+\n\x0closs_options\x18\x05 \x01(\x0b\x32\x15.deeplab2.LossOptions\x12/\n\x0esolver_options\x18\x06 \x01(\x0b\x32\x17.deeplab2.SolverOptionsB\x02P\x01'
)

_SOLVEROPTIONS = _descriptor.Descriptor(
    name='SolverOptions',
    full_name='deeplab2.SolverOptions',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name='use_sync_batchnorm', full_name='deeplab2.SolverOptions.use_sync_batchnorm', index=0,
            number=1, type=8, cpp_type=7, label=1,
            has_default_value=True, default_value=True,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='batchnorm_momentum', full_name='deeplab2.SolverOptions.batchnorm_momentum', index=1,
            number=14, type=2, cpp_type=6, label=1,
            has_default_value=True, default_value=float(0.99),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='batchnorm_epsilon', full_name='deeplab2.SolverOptions.batchnorm_epsilon', index=2,
            number=15, type=2, cpp_type=6, label=1,
            has_default_value=True, default_value=float(0.001),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='learning_policy', full_name='deeplab2.SolverOptions.learning_policy', index=3,
            number=2, type=9, cpp_type=9, label=1,
            has_default_value=True, default_value=b"poly".decode('utf-8'),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='base_learning_rate', full_name='deeplab2.SolverOptions.base_learning_rate', index=4,
            number=3, type=2, cpp_type=6, label=1,
            has_default_value=True, default_value=float(0.001),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='poly_learning_power', full_name='deeplab2.SolverOptions.poly_learning_power', index=5,
            number=4, type=2, cpp_type=6, label=1,
            has_default_value=True, default_value=float(0.9),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='poly_end_learning_rate', full_name='deeplab2.SolverOptions.poly_end_learning_rate', index=6,
            number=5, type=2, cpp_type=6, label=1,
            has_default_value=True, default_value=float(0),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='warmup_steps', full_name='deeplab2.SolverOptions.warmup_steps', index=7,
            number=6, 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,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='optimizer', full_name='deeplab2.SolverOptions.optimizer', index=8,
            number=7, type=9, cpp_type=9, label=1,
            has_default_value=True, default_value=b"adam".decode('utf-8'),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='weight_decay', full_name='deeplab2.SolverOptions.weight_decay', index=9,
            number=8, type=2, cpp_type=6, label=1,
            has_default_value=True, default_value=float(0),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='use_gradient_clipping', full_name='deeplab2.SolverOptions.use_gradient_clipping', index=10,
            number=9, 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,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='clip_gradient_norm', full_name='deeplab2.SolverOptions.clip_gradient_norm', index=11,
            number=10, type=2, cpp_type=6, label=1,
            has_default_value=True, default_value=float(10),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='training_number_of_steps', full_name='deeplab2.SolverOptions.training_number_of_steps', index=12,
            number=11, type=5, cpp_type=1, label=1,
            has_default_value=True, default_value=60000,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='backbone_learning_rate_multiplier',
            full_name='deeplab2.SolverOptions.backbone_learning_rate_multiplier', index=13,
            number=16, type=2, cpp_type=6, label=1,
            has_default_value=True, default_value=float(1),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    serialized_options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=37,
    serialized_end=521,
)

_LOSSOPTIONS_SINGLELOSSOPTIONS = _descriptor.Descriptor(
    name='SingleLossOptions',
    full_name='deeplab2.LossOptions.SingleLossOptions',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name='name', full_name='deeplab2.LossOptions.SingleLossOptions.name', index=0,
            number=1, type=9, cpp_type=9, label=1,
            has_default_value=False, default_value=b"".decode('utf-8'),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='weight', full_name='deeplab2.LossOptions.SingleLossOptions.weight', index=1,
            number=2, type=2, cpp_type=6, label=1,
            has_default_value=True, default_value=float(1),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='top_k_percent', full_name='deeplab2.LossOptions.SingleLossOptions.top_k_percent', index=2,
            number=3, type=2, cpp_type=6, label=1,
            has_default_value=True, default_value=float(1),
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    serialized_options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1145,
    serialized_end=1223,
)

_LOSSOPTIONS = _descriptor.Descriptor(
    name='LossOptions',
    full_name='deeplab2.LossOptions',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name='semantic_loss', full_name='deeplab2.LossOptions.semantic_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,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='center_loss', full_name='deeplab2.LossOptions.center_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,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='regression_loss', full_name='deeplab2.LossOptions.regression_loss', 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,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='motion_loss', full_name='deeplab2.LossOptions.motion_loss', index=3,
            number=4, 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,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='next_regression_loss', full_name='deeplab2.LossOptions.next_regression_loss', index=4,
            number=5, 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,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='pq_style_loss', full_name='deeplab2.LossOptions.pq_style_loss', index=5,
            number=6, 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,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='mask_id_cross_entropy_loss', full_name='deeplab2.LossOptions.mask_id_cross_entropy_loss', index=6,
            number=7, 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,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='instance_discrimination_loss', full_name='deeplab2.LossOptions.instance_discrimination_loss', index=7,
            number=8, 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,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='depth_loss', full_name='deeplab2.LossOptions.depth_loss', index=8,
            number=9, 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,
            serialized_options=None, file=DESCRIPTOR),
    ],
    extensions=[
    ],
    nested_types=[_LOSSOPTIONS_SINGLELOSSOPTIONS, ],
    enum_types=[
    ],
    serialized_options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=524,
    serialized_end=1223,
)

_TRAINEROPTIONS = _descriptor.Descriptor(
    name='TrainerOptions',
    full_name='deeplab2.TrainerOptions',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name='num_checkpoints_to_keep', full_name='deeplab2.TrainerOptions.num_checkpoints_to_keep', index=0,
            number=1, type=5, cpp_type=1, label=1,
            has_default_value=True, default_value=5,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='save_checkpoints_steps', full_name='deeplab2.TrainerOptions.save_checkpoints_steps', index=1,
            number=2, type=5, cpp_type=1, label=1,
            has_default_value=True, default_value=1000,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='save_summaries_steps', full_name='deeplab2.TrainerOptions.save_summaries_steps', index=2,
            number=3, type=5, cpp_type=1, label=1,
            has_default_value=True, default_value=1000,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='steps_per_loop', full_name='deeplab2.TrainerOptions.steps_per_loop', index=3,
            number=4, type=5, cpp_type=1, label=1,
            has_default_value=True, default_value=1000,
            message_type=None, enum_type=None, containing_type=None,
            is_extension=False, extension_scope=None,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='loss_options', full_name='deeplab2.TrainerOptions.loss_options', index=4,
            number=5, 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,
            serialized_options=None, file=DESCRIPTOR),
        _descriptor.FieldDescriptor(
            name='solver_options', full_name='deeplab2.TrainerOptions.solver_options', index=5,
            number=6, 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,
            serialized_options=None, file=DESCRIPTOR),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    serialized_options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1226,
    serialized_end=1476,
)

_LOSSOPTIONS_SINGLELOSSOPTIONS.containing_type = _LOSSOPTIONS
_LOSSOPTIONS.fields_by_name['semantic_loss'].message_type = _LOSSOPTIONS_SINGLELOSSOPTIONS
_LOSSOPTIONS.fields_by_name['center_loss'].message_type = _LOSSOPTIONS_SINGLELOSSOPTIONS
_LOSSOPTIONS.fields_by_name['regression_loss'].message_type = _LOSSOPTIONS_SINGLELOSSOPTIONS
_LOSSOPTIONS.fields_by_name['motion_loss'].message_type = _LOSSOPTIONS_SINGLELOSSOPTIONS
_LOSSOPTIONS.fields_by_name['next_regression_loss'].message_type = _LOSSOPTIONS_SINGLELOSSOPTIONS
_LOSSOPTIONS.fields_by_name['pq_style_loss'].message_type = _LOSSOPTIONS_SINGLELOSSOPTIONS
_LOSSOPTIONS.fields_by_name['mask_id_cross_entropy_loss'].message_type = _LOSSOPTIONS_SINGLELOSSOPTIONS
_LOSSOPTIONS.fields_by_name['instance_discrimination_loss'].message_type = _LOSSOPTIONS_SINGLELOSSOPTIONS
_LOSSOPTIONS.fields_by_name['depth_loss'].message_type = _LOSSOPTIONS_SINGLELOSSOPTIONS
_TRAINEROPTIONS.fields_by_name['loss_options'].message_type = _LOSSOPTIONS
_TRAINEROPTIONS.fields_by_name['solver_options'].message_type = _SOLVEROPTIONS
DESCRIPTOR.message_types_by_name['SolverOptions'] = _SOLVEROPTIONS
DESCRIPTOR.message_types_by_name['LossOptions'] = _LOSSOPTIONS
DESCRIPTOR.message_types_by_name['TrainerOptions'] = _TRAINEROPTIONS
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

SolverOptions = _reflection.GeneratedProtocolMessageType('SolverOptions', (_message.Message,), {
    'DESCRIPTOR': _SOLVEROPTIONS,
    '__module__': 'deeplab2.trainer_pb2'
    # @@protoc_insertion_point(class_scope:deeplab2.SolverOptions)
})
_sym_db.RegisterMessage(SolverOptions)

LossOptions = _reflection.GeneratedProtocolMessageType('LossOptions', (_message.Message,), {

    'SingleLossOptions': _reflection.GeneratedProtocolMessageType('SingleLossOptions', (_message.Message,), {
        'DESCRIPTOR': _LOSSOPTIONS_SINGLELOSSOPTIONS,
        '__module__': 'deeplab2.trainer_pb2'
        # @@protoc_insertion_point(class_scope:deeplab2.LossOptions.SingleLossOptions)
    })
    ,
    'DESCRIPTOR': _LOSSOPTIONS,
    '__module__': 'deeplab2.trainer_pb2'
    # @@protoc_insertion_point(class_scope:deeplab2.LossOptions)
})
_sym_db.RegisterMessage(LossOptions)
_sym_db.RegisterMessage(LossOptions.SingleLossOptions)

TrainerOptions = _reflection.GeneratedProtocolMessageType('TrainerOptions', (_message.Message,), {
    'DESCRIPTOR': _TRAINEROPTIONS,
    '__module__': 'deeplab2.trainer_pb2'
    # @@protoc_insertion_point(class_scope:deeplab2.TrainerOptions)
})
_sym_db.RegisterMessage(TrainerOptions)

DESCRIPTOR._options = None
# @@protoc_insertion_point(module_scope)
