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

import sys
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database

from opendr.perception.object_detection_3d.voxel_object_detection_3d.second_detector.protos import (
    losses_pb2 as second_dot_protos_dot_losses__pb2,
)
from opendr.perception.object_detection_3d.voxel_object_detection_3d.second_detector.protos import (
    box_coder_pb2 as second_dot_protos_dot_box__coder__pb2,
)
from opendr.perception.object_detection_3d.voxel_object_detection_3d.second_detector.protos import (
    target_pb2 as second_dot_protos_dot_target__pb2,
)
from opendr.perception.object_detection_3d.voxel_object_detection_3d.second_detector.protos import (
    voxel_generator_pb2 as second_dot_protos_dot_voxel__generator__pb2,
)

_b = sys.version_info[0] < 3 and (lambda x: x) or (lambda x: x.encode("latin1"))

# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()

DESCRIPTOR = _descriptor.FileDescriptor(
    name="second/protos/second.proto",
    package="second.protos",
    syntax="proto3",
    serialized_options=None,
    serialized_pb=_b(
        '\n\x1asecond/protos/second.proto\x12\rsecond.protos\x1a\x1asecond/protos/losses.' +
        'proto\x1a\x1dsecond/protos/box_coder.proto\x1a\x1asecond/protos/target.proto\x1a#s' +
        'econd/protos/voxel_generator.proto"\xff\x0b\n\x08VoxelNet\x12\x11\n\tnum_clas' +
        's\x18\x01 \x01(\r\x12N\n\x17voxel_feature_extractor\x18\x02 \x01(\x0b\x32-.seco' +
        'nd.protos.VoxelNet.VoxelFeatureExtractor\x12P\n\x18middle_feature_extract' +
        'or\x18\x03 \x01(\x0b\x32..second.protos.VoxelNet.MiddleFeatureExtractor' +
        '\x12(\n\x03rpn\x18\x04 \x01(\x0b\x32\x1b.second.protos.VoxelNet.RP' +
        'N\x12\x19\n\x11use_sigmoid_score\x18\x05 \x01(\x08\x12!\n\x04loss\x18\x06 ' +
        '\x01(\x0b\x32\x13.second.protos.Loss\x12\x1f\n\x17\x65ncode_rad_error_by_sin' +
        '\x18\x07 \x01(\x08\x12"\n\x1a\x65ncode_background_as_zeros\x18\x08 \x01' +
        '(\x08\x12\x1a\n\x12use_aux_classifier\x18\t \x01(\x08\x12\x16\n\x0euse_rota' +
        'te_nms\x18\n \x01(\x08\x12\x1b\n\x13use_multi_class_nms\x18\x0b \x01(' +
        '\x08\x12\x18\n\x10nms_pre_max_size\x18\x0c \x01(\r\x12\x19\n\x11nms_post_' +
        'max_size\x18\r \x01(\r\x12\x1b\n\x13nms_score_threshold\x18\x0e \x01' +
        '(\x02\x12\x19\n\x11nms_iou_threshold\x18\x0f \x01(\x02\x12\x1f\n\x17post_ce' +
        'nter_limit_range\x18\x10 \x03(\x02\x12 \n\x18use_direction_classifier\x18\x11 ' +
        '\x01(\x08\x12\x1d\n\x15\x64irection_loss_weight\x18\x12 \x01(\x02\x12\x18\n\x10p' +
        'os_class_weight\x18\x13 \x01(\x02\x12\x18\n\x10neg_class_weight\x18\x14 \x01' +
        '(\x02\x12<\n\x0eloss_norm_type\x18\x15 \x01(\x0e\x32$.second.protos.VoxelNe' +
        't.LossNormType\x12\x0f\n\x07use_bev\x18\x16 \x01(\x08\x12\x1c\n\x14without_r' +
        'eflectivity\x18\x17 \x01(\x08\x12\x1e\n\x16\x65ncode_angle_to_vector\x18\x18 ' +
        '\x01(\x08\x12*\n\tbox_coder\x18\x19 \x01(\x0b\x32\x17.second.protos.BoxCod' +
        'er\x12\x36\n\x0ftarget_assigner\x18\x1a \x01(\x0b\x32\x1d.second.protos.Target' +
        'Assigner\x12\x13\n\x0blidar_input\x18\x1b \x01(\x08\x12\x1a\n\x12num_point_featu' +
        'res\x18\x1c \x01(\r\x12\x36\n\x0fvoxel_generator\x18\x1d \x01(\x0b\x32\x1d.second' +
        '.protos.VoxelGenerator\x1a^\n\x15VoxelFeatureExtractor\x12\x19\n\x11module_cla' +
        'ss_name\x18\x01 \x01(\t\x12\x13\n\x0bnum_filters\x18\x02 \x03(\r\x12\x15\n\rwi' +
        'th_distance\x18\x03 \x01(\x08\x1ai\n\x16MiddleFeatureExtractor\x12\x19\n\x11module_' +
        'class_name\x18\x01 \x01(\t\x12\x19\n\x11num_filters_down1\x18\x02 \x03(' +
        '\r\x12\x19\n\x11num_filters_down2\x18\x03 \x03(\r\x1a\xc3\x01\n\x03RP' +
        'N\x12\x19\n\x11module_class_name\x18\x01 \x01(\t\x12\x12\n\nlayer_nu' +
        'ms\x18\x02 \x03(\r\x12\x15\n\rlayer_strides\x18\x03 \x03(\r\x12\x13\n\x0bnum_f' +
        'ilters\x18\x04 \x03(\r\x12\x18\n\x10upsample_strides\x18\x05 \x03(\r\x12\x1c\n\x14' +
        'num_upsample_filters\x18\x06 \x03(\r\x12\x15\n\ruse_groupnorm\x18\x07 \x01' +
        '(\x08\x12\x12\n\nnum_groups\x18\x08 \x01(\r"R\n\x0cLossNormType\x12\x15\n\x11N' +
        'ormByNumExamples\x10\x00\x12\x16\n\x12NormByNumPositives\x10\x01\x12\x13\n\x0fNorm' +
        'ByNumPosNeg\x10\x02\x62\x06proto3'
    ),
    dependencies=[
        second_dot_protos_dot_losses__pb2.DESCRIPTOR,
        second_dot_protos_dot_box__coder__pb2.DESCRIPTOR,
        second_dot_protos_dot_target__pb2.DESCRIPTOR,
        second_dot_protos_dot_voxel__generator__pb2.DESCRIPTOR,
    ],
)


_VOXELNET_LOSSNORMTYPE = _descriptor.EnumDescriptor(
    name="LossNormType",
    full_name="second.protos.VoxelNet.LossNormType",
    filename=None,
    file=DESCRIPTOR,
    values=[
        _descriptor.EnumValueDescriptor(
            name="NormByNumExamples",
            index=0,
            number=0,
            serialized_options=None,
            type=None,
        ),
        _descriptor.EnumValueDescriptor(
            name="NormByNumPositives",
            index=1,
            number=1,
            serialized_options=None,
            type=None,
        ),
        _descriptor.EnumValueDescriptor(
            name="NormByNumPosNeg",
            index=2,
            number=2,
            serialized_options=None,
            type=None,
        ),
    ],
    containing_type=None,
    serialized_options=None,
    serialized_start=1623,
    serialized_end=1705,
)
_sym_db.RegisterEnumDescriptor(_VOXELNET_LOSSNORMTYPE)


_VOXELNET_VOXELFEATUREEXTRACTOR = _descriptor.Descriptor(
    name="VoxelFeatureExtractor",
    full_name="second.protos.VoxelNet.VoxelFeatureExtractor",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="module_class_name",
            full_name="second.protos.VoxelNet.VoxelFeatureExtractor.module_class_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="num_filters",
            full_name="second.protos.VoxelNet.VoxelFeatureExtractor.num_filters",
            index=1,
            number=2,
            type=13,
            cpp_type=3,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="with_distance",
            full_name="second.protos.VoxelNet.VoxelFeatureExtractor.with_distance",
            index=2,
            number=3,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            default_value=False,
            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="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1222,
    serialized_end=1316,
)

_VOXELNET_MIDDLEFEATUREEXTRACTOR = _descriptor.Descriptor(
    name="MiddleFeatureExtractor",
    full_name="second.protos.VoxelNet.MiddleFeatureExtractor",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="module_class_name",
            full_name="second.protos.VoxelNet.MiddleFeatureExtractor.module_class_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="num_filters_down1",
            full_name="second.protos.VoxelNet.MiddleFeatureExtractor.num_filters_down1",
            index=1,
            number=2,
            type=13,
            cpp_type=3,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="num_filters_down2",
            full_name="second.protos.VoxelNet.MiddleFeatureExtractor.num_filters_down2",
            index=2,
            number=3,
            type=13,
            cpp_type=3,
            label=3,
            has_default_value=False,
            default_value=[],
            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="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1318,
    serialized_end=1423,
)

_VOXELNET_RPN = _descriptor.Descriptor(
    name="RPN",
    full_name="second.protos.VoxelNet.RPN",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="module_class_name",
            full_name="second.protos.VoxelNet.RPN.module_class_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="layer_nums",
            full_name="second.protos.VoxelNet.RPN.layer_nums",
            index=1,
            number=2,
            type=13,
            cpp_type=3,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="layer_strides",
            full_name="second.protos.VoxelNet.RPN.layer_strides",
            index=2,
            number=3,
            type=13,
            cpp_type=3,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="num_filters",
            full_name="second.protos.VoxelNet.RPN.num_filters",
            index=3,
            number=4,
            type=13,
            cpp_type=3,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="upsample_strides",
            full_name="second.protos.VoxelNet.RPN.upsample_strides",
            index=4,
            number=5,
            type=13,
            cpp_type=3,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="num_upsample_filters",
            full_name="second.protos.VoxelNet.RPN.num_upsample_filters",
            index=5,
            number=6,
            type=13,
            cpp_type=3,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="use_groupnorm",
            full_name="second.protos.VoxelNet.RPN.use_groupnorm",
            index=6,
            number=7,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            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="num_groups",
            full_name="second.protos.VoxelNet.RPN.num_groups",
            index=7,
            number=8,
            type=13,
            cpp_type=3,
            label=1,
            has_default_value=False,
            default_value=0,
            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="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1426,
    serialized_end=1621,
)

_VOXELNET = _descriptor.Descriptor(
    name="VoxelNet",
    full_name="second.protos.VoxelNet",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="num_class",
            full_name="second.protos.VoxelNet.num_class",
            index=0,
            number=1,
            type=13,
            cpp_type=3,
            label=1,
            has_default_value=False,
            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="voxel_feature_extractor",
            full_name="second.protos.VoxelNet.voxel_feature_extractor",
            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="middle_feature_extractor",
            full_name="second.protos.VoxelNet.middle_feature_extractor",
            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="rpn",
            full_name="second.protos.VoxelNet.rpn",
            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="use_sigmoid_score",
            full_name="second.protos.VoxelNet.use_sigmoid_score",
            index=4,
            number=5,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            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="loss",
            full_name="second.protos.VoxelNet.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="encode_rad_error_by_sin",
            full_name="second.protos.VoxelNet.encode_rad_error_by_sin",
            index=6,
            number=7,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            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="encode_background_as_zeros",
            full_name="second.protos.VoxelNet.encode_background_as_zeros",
            index=7,
            number=8,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            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="use_aux_classifier",
            full_name="second.protos.VoxelNet.use_aux_classifier",
            index=8,
            number=9,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            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="use_rotate_nms",
            full_name="second.protos.VoxelNet.use_rotate_nms",
            index=9,
            number=10,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            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="use_multi_class_nms",
            full_name="second.protos.VoxelNet.use_multi_class_nms",
            index=10,
            number=11,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            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="nms_pre_max_size",
            full_name="second.protos.VoxelNet.nms_pre_max_size",
            index=11,
            number=12,
            type=13,
            cpp_type=3,
            label=1,
            has_default_value=False,
            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="nms_post_max_size",
            full_name="second.protos.VoxelNet.nms_post_max_size",
            index=12,
            number=13,
            type=13,
            cpp_type=3,
            label=1,
            has_default_value=False,
            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="nms_score_threshold",
            full_name="second.protos.VoxelNet.nms_score_threshold",
            index=13,
            number=14,
            type=2,
            cpp_type=6,
            label=1,
            has_default_value=False,
            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="nms_iou_threshold",
            full_name="second.protos.VoxelNet.nms_iou_threshold",
            index=14,
            number=15,
            type=2,
            cpp_type=6,
            label=1,
            has_default_value=False,
            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="post_center_limit_range",
            full_name="second.protos.VoxelNet.post_center_limit_range",
            index=15,
            number=16,
            type=2,
            cpp_type=6,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="use_direction_classifier",
            full_name="second.protos.VoxelNet.use_direction_classifier",
            index=16,
            number=17,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            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="direction_loss_weight",
            full_name="second.protos.VoxelNet.direction_loss_weight",
            index=17,
            number=18,
            type=2,
            cpp_type=6,
            label=1,
            has_default_value=False,
            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="pos_class_weight",
            full_name="second.protos.VoxelNet.pos_class_weight",
            index=18,
            number=19,
            type=2,
            cpp_type=6,
            label=1,
            has_default_value=False,
            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="neg_class_weight",
            full_name="second.protos.VoxelNet.neg_class_weight",
            index=19,
            number=20,
            type=2,
            cpp_type=6,
            label=1,
            has_default_value=False,
            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="loss_norm_type",
            full_name="second.protos.VoxelNet.loss_norm_type",
            index=20,
            number=21,
            type=14,
            cpp_type=8,
            label=1,
            has_default_value=False,
            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="use_bev",
            full_name="second.protos.VoxelNet.use_bev",
            index=21,
            number=22,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            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="without_reflectivity",
            full_name="second.protos.VoxelNet.without_reflectivity",
            index=22,
            number=23,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            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="encode_angle_to_vector",
            full_name="second.protos.VoxelNet.encode_angle_to_vector",
            index=23,
            number=24,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            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="box_coder",
            full_name="second.protos.VoxelNet.box_coder",
            index=24,
            number=25,
            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="target_assigner",
            full_name="second.protos.VoxelNet.target_assigner",
            index=25,
            number=26,
            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="lidar_input",
            full_name="second.protos.VoxelNet.lidar_input",
            index=26,
            number=27,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            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="num_point_features",
            full_name="second.protos.VoxelNet.num_point_features",
            index=27,
            number=28,
            type=13,
            cpp_type=3,
            label=1,
            has_default_value=False,
            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="voxel_generator",
            full_name="second.protos.VoxelNet.voxel_generator",
            index=28,
            number=29,
            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=[
        _VOXELNET_VOXELFEATUREEXTRACTOR,
        _VOXELNET_MIDDLEFEATUREEXTRACTOR,
        _VOXELNET_RPN,
    ],
    enum_types=[_VOXELNET_LOSSNORMTYPE],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=170,
    serialized_end=1705,
)

_VOXELNET_VOXELFEATUREEXTRACTOR.containing_type = _VOXELNET
_VOXELNET_MIDDLEFEATUREEXTRACTOR.containing_type = _VOXELNET
_VOXELNET_RPN.containing_type = _VOXELNET
_VOXELNET.fields_by_name[
    "voxel_feature_extractor"
].message_type = _VOXELNET_VOXELFEATUREEXTRACTOR
_VOXELNET.fields_by_name[
    "middle_feature_extractor"
].message_type = _VOXELNET_MIDDLEFEATUREEXTRACTOR
_VOXELNET.fields_by_name["rpn"].message_type = _VOXELNET_RPN
_VOXELNET.fields_by_name["loss"].message_type = second_dot_protos_dot_losses__pb2._LOSS
_VOXELNET.fields_by_name["loss_norm_type"].enum_type = _VOXELNET_LOSSNORMTYPE
_VOXELNET.fields_by_name[
    "box_coder"
].message_type = second_dot_protos_dot_box__coder__pb2._BOXCODER
_VOXELNET.fields_by_name[
    "target_assigner"
].message_type = second_dot_protos_dot_target__pb2._TARGETASSIGNER
_VOXELNET.fields_by_name[
    "voxel_generator"
].message_type = second_dot_protos_dot_voxel__generator__pb2._VOXELGENERATOR
_VOXELNET_LOSSNORMTYPE.containing_type = _VOXELNET
DESCRIPTOR.message_types_by_name["VoxelNet"] = _VOXELNET
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

VoxelNet = _reflection.GeneratedProtocolMessageType(
    "VoxelNet",
    (_message.Message,),
    dict(
        VoxelFeatureExtractor=_reflection.GeneratedProtocolMessageType(
            "VoxelFeatureExtractor",
            (_message.Message,),
            dict(
                DESCRIPTOR=_VOXELNET_VOXELFEATUREEXTRACTOR,
                __module__="second.protos.second_pb2"
                # @@protoc_insertion_point(class_scope:second.protos.VoxelNet.VoxelFeatureExtractor)
            ),
        ),
        MiddleFeatureExtractor=_reflection.GeneratedProtocolMessageType(
            "MiddleFeatureExtractor",
            (_message.Message,),
            dict(
                DESCRIPTOR=_VOXELNET_MIDDLEFEATUREEXTRACTOR,
                __module__="second.protos.second_pb2"
                # @@protoc_insertion_point(class_scope:second.protos.VoxelNet.MiddleFeatureExtractor)
            ),
        ),
        RPN=_reflection.GeneratedProtocolMessageType(
            "RPN",
            (_message.Message,),
            dict(
                DESCRIPTOR=_VOXELNET_RPN,
                __module__="second.protos.second_pb2"
                # @@protoc_insertion_point(class_scope:second.protos.VoxelNet.RPN)
            ),
        ),
        DESCRIPTOR=_VOXELNET,
        __module__="second.protos.second_pb2"
        # @@protoc_insertion_point(class_scope:second.protos.VoxelNet)
    ),
)
_sym_db.RegisterMessage(VoxelNet)
_sym_db.RegisterMessage(VoxelNet.VoxelFeatureExtractor)
_sym_db.RegisterMessage(VoxelNet.MiddleFeatureExtractor)
_sym_db.RegisterMessage(VoxelNet.RPN)


# @@protoc_insertion_point(module_scope)
