# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: tensorflow/core/kernels/boosted_trees/boosted_trees.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='tensorflow/core/kernels/boosted_trees/boosted_trees.proto',
  package='tensorflow.boosted_trees',
  syntax='proto3',
  serialized_options=_b('\n\030org.tensorflow.frameworkB\022BoostedTreesProtosP\001\370\001\001'),
  serialized_pb=_b('\n9tensorflow/core/kernels/boosted_trees/boosted_trees.proto\x12\x18tensorflow.boosted_trees\"\x89\x02\n\x04Node\x12.\n\x04leaf\x18\x01 \x01(\x0b\x32\x1e.tensorflow.boosted_trees.LeafH\x00\x12\x45\n\x10\x62ucketized_split\x18\x02 \x01(\x0b\x32).tensorflow.boosted_trees.BucketizedSplitH\x00\x12G\n\x11\x63\x61tegorical_split\x18\x03 \x01(\x0b\x32*.tensorflow.boosted_trees.CategoricalSplitH\x00\x12\x39\n\x08metadata\x18\x89\x06 \x01(\x0b\x32&.tensorflow.boosted_trees.NodeMetadataB\x06\n\x04node\"S\n\x0cNodeMetadata\x12\x0c\n\x04gain\x18\x01 \x01(\x02\x12\x35\n\roriginal_leaf\x18\x02 \x01(\x0b\x32\x1e.tensorflow.boosted_trees.Leaf\"\x93\x01\n\x04Leaf\x12\x32\n\x06vector\x18\x01 \x01(\x0b\x32 .tensorflow.boosted_trees.VectorH\x00\x12?\n\rsparse_vector\x18\x02 \x01(\x0b\x32&.tensorflow.boosted_trees.SparseVectorH\x00\x12\x0e\n\x06scalar\x18\x03 \x01(\x02\x42\x06\n\x04leaf\"\x17\n\x06Vector\x12\r\n\x05value\x18\x01 \x03(\x02\",\n\x0cSparseVector\x12\r\n\x05index\x18\x01 \x03(\x05\x12\r\n\x05value\x18\x02 \x03(\x02\"[\n\x0f\x42ucketizedSplit\x12\x12\n\nfeature_id\x18\x01 \x01(\x05\x12\x11\n\tthreshold\x18\x02 \x01(\x05\x12\x0f\n\x07left_id\x18\x03 \x01(\x05\x12\x10\n\x08right_id\x18\x04 \x01(\x05\"X\n\x10\x43\x61tegoricalSplit\x12\x12\n\nfeature_id\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05\x12\x0f\n\x07left_id\x18\x03 \x01(\x05\x12\x10\n\x08right_id\x18\x04 \x01(\x05\"5\n\x04Tree\x12-\n\x05nodes\x18\x01 \x03(\x0b\x32\x1e.tensorflow.boosted_trees.Node\"\xdc\x01\n\x0cTreeMetadata\x12\x18\n\x10num_layers_grown\x18\x02 \x01(\x05\x12\x14\n\x0cis_finalized\x18\x03 \x01(\x08\x12Z\n\x16post_pruned_nodes_meta\x18\x04 \x03(\x0b\x32:.tensorflow.boosted_trees.TreeMetadata.PostPruneNodeUpdate\x1a@\n\x13PostPruneNodeUpdate\x12\x13\n\x0bnew_node_id\x18\x01 \x01(\x05\x12\x14\n\x0clogit_change\x18\x02 \x01(\x02\"\x88\x01\n\x0fGrowingMetadata\x12\x1b\n\x13num_trees_attempted\x18\x01 \x01(\x03\x12\x1c\n\x14num_layers_attempted\x18\x02 \x01(\x03\x12\x1d\n\x15last_layer_node_start\x18\x03 \x01(\x05\x12\x1b\n\x13last_layer_node_end\x18\x04 \x01(\x05\"\xd7\x01\n\x0cTreeEnsemble\x12-\n\x05trees\x18\x01 \x03(\x0b\x32\x1e.tensorflow.boosted_trees.Tree\x12\x14\n\x0ctree_weights\x18\x02 \x03(\x02\x12=\n\rtree_metadata\x18\x03 \x03(\x0b\x32&.tensorflow.boosted_trees.TreeMetadata\x12\x43\n\x10growing_metadata\x18\x04 \x01(\x0b\x32).tensorflow.boosted_trees.GrowingMetadata\"7\n\x0b\x44\x65\x62ugOutput\x12\x13\n\x0b\x66\x65\x61ture_ids\x18\x01 \x03(\x05\x12\x13\n\x0blogits_path\x18\x02 \x03(\x02\x42\x33\n\x18org.tensorflow.frameworkB\x12\x42oostedTreesProtosP\x01\xf8\x01\x01\x62\x06proto3')
)




_NODE = _descriptor.Descriptor(
  name='Node',
  full_name='tensorflow.boosted_trees.Node',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='leaf', full_name='tensorflow.boosted_trees.Node.leaf', 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='bucketized_split', full_name='tensorflow.boosted_trees.Node.bucketized_split', 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='categorical_split', full_name='tensorflow.boosted_trees.Node.categorical_split', 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='metadata', full_name='tensorflow.boosted_trees.Node.metadata', index=3,
      number=777, 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='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='node', full_name='tensorflow.boosted_trees.Node.node',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=88,
  serialized_end=353,
)


_NODEMETADATA = _descriptor.Descriptor(
  name='NodeMetadata',
  full_name='tensorflow.boosted_trees.NodeMetadata',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='gain', full_name='tensorflow.boosted_trees.NodeMetadata.gain', index=0,
      number=1, 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='original_leaf', full_name='tensorflow.boosted_trees.NodeMetadata.original_leaf', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=355,
  serialized_end=438,
)


_LEAF = _descriptor.Descriptor(
  name='Leaf',
  full_name='tensorflow.boosted_trees.Leaf',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='vector', full_name='tensorflow.boosted_trees.Leaf.vector', 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='sparse_vector', full_name='tensorflow.boosted_trees.Leaf.sparse_vector', 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='scalar', full_name='tensorflow.boosted_trees.Leaf.scalar', index=2,
      number=3, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='leaf', full_name='tensorflow.boosted_trees.Leaf.leaf',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=441,
  serialized_end=588,
)


_VECTOR = _descriptor.Descriptor(
  name='Vector',
  full_name='tensorflow.boosted_trees.Vector',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='value', full_name='tensorflow.boosted_trees.Vector.value', index=0,
      number=1, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=590,
  serialized_end=613,
)


_SPARSEVECTOR = _descriptor.Descriptor(
  name='SparseVector',
  full_name='tensorflow.boosted_trees.SparseVector',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='index', full_name='tensorflow.boosted_trees.SparseVector.index', index=0,
      number=1, type=5, cpp_type=1, 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='value', full_name='tensorflow.boosted_trees.SparseVector.value', index=1,
      number=2, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=615,
  serialized_end=659,
)


_BUCKETIZEDSPLIT = _descriptor.Descriptor(
  name='BucketizedSplit',
  full_name='tensorflow.boosted_trees.BucketizedSplit',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='feature_id', full_name='tensorflow.boosted_trees.BucketizedSplit.feature_id', index=0,
      number=1, type=5, cpp_type=1, 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='threshold', full_name='tensorflow.boosted_trees.BucketizedSplit.threshold', index=1,
      number=2, type=5, cpp_type=1, 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='left_id', full_name='tensorflow.boosted_trees.BucketizedSplit.left_id', index=2,
      number=3, type=5, cpp_type=1, 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='right_id', full_name='tensorflow.boosted_trees.BucketizedSplit.right_id', index=3,
      number=4, type=5, cpp_type=1, 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=661,
  serialized_end=752,
)


_CATEGORICALSPLIT = _descriptor.Descriptor(
  name='CategoricalSplit',
  full_name='tensorflow.boosted_trees.CategoricalSplit',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='feature_id', full_name='tensorflow.boosted_trees.CategoricalSplit.feature_id', index=0,
      number=1, type=5, cpp_type=1, 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='value', full_name='tensorflow.boosted_trees.CategoricalSplit.value', index=1,
      number=2, type=5, cpp_type=1, 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='left_id', full_name='tensorflow.boosted_trees.CategoricalSplit.left_id', index=2,
      number=3, type=5, cpp_type=1, 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='right_id', full_name='tensorflow.boosted_trees.CategoricalSplit.right_id', index=3,
      number=4, type=5, cpp_type=1, 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=754,
  serialized_end=842,
)


_TREE = _descriptor.Descriptor(
  name='Tree',
  full_name='tensorflow.boosted_trees.Tree',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='nodes', full_name='tensorflow.boosted_trees.Tree.nodes', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=844,
  serialized_end=897,
)


_TREEMETADATA_POSTPRUNENODEUPDATE = _descriptor.Descriptor(
  name='PostPruneNodeUpdate',
  full_name='tensorflow.boosted_trees.TreeMetadata.PostPruneNodeUpdate',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='new_node_id', full_name='tensorflow.boosted_trees.TreeMetadata.PostPruneNodeUpdate.new_node_id', index=0,
      number=1, type=5, cpp_type=1, 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='logit_change', full_name='tensorflow.boosted_trees.TreeMetadata.PostPruneNodeUpdate.logit_change', index=1,
      number=2, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1056,
  serialized_end=1120,
)

_TREEMETADATA = _descriptor.Descriptor(
  name='TreeMetadata',
  full_name='tensorflow.boosted_trees.TreeMetadata',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='num_layers_grown', full_name='tensorflow.boosted_trees.TreeMetadata.num_layers_grown', index=0,
      number=2, type=5, cpp_type=1, 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='is_finalized', full_name='tensorflow.boosted_trees.TreeMetadata.is_finalized', index=1,
      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),
    _descriptor.FieldDescriptor(
      name='post_pruned_nodes_meta', full_name='tensorflow.boosted_trees.TreeMetadata.post_pruned_nodes_meta', index=2,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_TREEMETADATA_POSTPRUNENODEUPDATE, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=900,
  serialized_end=1120,
)


_GROWINGMETADATA = _descriptor.Descriptor(
  name='GrowingMetadata',
  full_name='tensorflow.boosted_trees.GrowingMetadata',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='num_trees_attempted', full_name='tensorflow.boosted_trees.GrowingMetadata.num_trees_attempted', index=0,
      number=1, type=3, cpp_type=2, 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='num_layers_attempted', full_name='tensorflow.boosted_trees.GrowingMetadata.num_layers_attempted', index=1,
      number=2, type=3, cpp_type=2, 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='last_layer_node_start', full_name='tensorflow.boosted_trees.GrowingMetadata.last_layer_node_start', index=2,
      number=3, type=5, cpp_type=1, 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='last_layer_node_end', full_name='tensorflow.boosted_trees.GrowingMetadata.last_layer_node_end', index=3,
      number=4, type=5, cpp_type=1, 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=1123,
  serialized_end=1259,
)


_TREEENSEMBLE = _descriptor.Descriptor(
  name='TreeEnsemble',
  full_name='tensorflow.boosted_trees.TreeEnsemble',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='trees', full_name='tensorflow.boosted_trees.TreeEnsemble.trees', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tree_weights', full_name='tensorflow.boosted_trees.TreeEnsemble.tree_weights', index=1,
      number=2, 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='tree_metadata', full_name='tensorflow.boosted_trees.TreeEnsemble.tree_metadata', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='growing_metadata', full_name='tensorflow.boosted_trees.TreeEnsemble.growing_metadata', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1262,
  serialized_end=1477,
)


_DEBUGOUTPUT = _descriptor.Descriptor(
  name='DebugOutput',
  full_name='tensorflow.boosted_trees.DebugOutput',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='feature_ids', full_name='tensorflow.boosted_trees.DebugOutput.feature_ids', index=0,
      number=1, type=5, cpp_type=1, 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='logits_path', full_name='tensorflow.boosted_trees.DebugOutput.logits_path', index=1,
      number=2, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1479,
  serialized_end=1534,
)

_NODE.fields_by_name['leaf'].message_type = _LEAF
_NODE.fields_by_name['bucketized_split'].message_type = _BUCKETIZEDSPLIT
_NODE.fields_by_name['categorical_split'].message_type = _CATEGORICALSPLIT
_NODE.fields_by_name['metadata'].message_type = _NODEMETADATA
_NODE.oneofs_by_name['node'].fields.append(
  _NODE.fields_by_name['leaf'])
_NODE.fields_by_name['leaf'].containing_oneof = _NODE.oneofs_by_name['node']
_NODE.oneofs_by_name['node'].fields.append(
  _NODE.fields_by_name['bucketized_split'])
_NODE.fields_by_name['bucketized_split'].containing_oneof = _NODE.oneofs_by_name['node']
_NODE.oneofs_by_name['node'].fields.append(
  _NODE.fields_by_name['categorical_split'])
_NODE.fields_by_name['categorical_split'].containing_oneof = _NODE.oneofs_by_name['node']
_NODEMETADATA.fields_by_name['original_leaf'].message_type = _LEAF
_LEAF.fields_by_name['vector'].message_type = _VECTOR
_LEAF.fields_by_name['sparse_vector'].message_type = _SPARSEVECTOR
_LEAF.oneofs_by_name['leaf'].fields.append(
  _LEAF.fields_by_name['vector'])
_LEAF.fields_by_name['vector'].containing_oneof = _LEAF.oneofs_by_name['leaf']
_LEAF.oneofs_by_name['leaf'].fields.append(
  _LEAF.fields_by_name['sparse_vector'])
_LEAF.fields_by_name['sparse_vector'].containing_oneof = _LEAF.oneofs_by_name['leaf']
_TREE.fields_by_name['nodes'].message_type = _NODE
_TREEMETADATA_POSTPRUNENODEUPDATE.containing_type = _TREEMETADATA
_TREEMETADATA.fields_by_name['post_pruned_nodes_meta'].message_type = _TREEMETADATA_POSTPRUNENODEUPDATE
_TREEENSEMBLE.fields_by_name['trees'].message_type = _TREE
_TREEENSEMBLE.fields_by_name['tree_metadata'].message_type = _TREEMETADATA
_TREEENSEMBLE.fields_by_name['growing_metadata'].message_type = _GROWINGMETADATA
DESCRIPTOR.message_types_by_name['Node'] = _NODE
DESCRIPTOR.message_types_by_name['NodeMetadata'] = _NODEMETADATA
DESCRIPTOR.message_types_by_name['Leaf'] = _LEAF
DESCRIPTOR.message_types_by_name['Vector'] = _VECTOR
DESCRIPTOR.message_types_by_name['SparseVector'] = _SPARSEVECTOR
DESCRIPTOR.message_types_by_name['BucketizedSplit'] = _BUCKETIZEDSPLIT
DESCRIPTOR.message_types_by_name['CategoricalSplit'] = _CATEGORICALSPLIT
DESCRIPTOR.message_types_by_name['Tree'] = _TREE
DESCRIPTOR.message_types_by_name['TreeMetadata'] = _TREEMETADATA
DESCRIPTOR.message_types_by_name['GrowingMetadata'] = _GROWINGMETADATA
DESCRIPTOR.message_types_by_name['TreeEnsemble'] = _TREEENSEMBLE
DESCRIPTOR.message_types_by_name['DebugOutput'] = _DEBUGOUTPUT
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Node = _reflection.GeneratedProtocolMessageType('Node', (_message.Message,), dict(
  DESCRIPTOR = _NODE,
  __module__ = 'tensorflow.core.kernels.boosted_trees.boosted_trees_pb2'
  # @@protoc_insertion_point(class_scope:tensorflow.boosted_trees.Node)
  ))
_sym_db.RegisterMessage(Node)

NodeMetadata = _reflection.GeneratedProtocolMessageType('NodeMetadata', (_message.Message,), dict(
  DESCRIPTOR = _NODEMETADATA,
  __module__ = 'tensorflow.core.kernels.boosted_trees.boosted_trees_pb2'
  # @@protoc_insertion_point(class_scope:tensorflow.boosted_trees.NodeMetadata)
  ))
_sym_db.RegisterMessage(NodeMetadata)

Leaf = _reflection.GeneratedProtocolMessageType('Leaf', (_message.Message,), dict(
  DESCRIPTOR = _LEAF,
  __module__ = 'tensorflow.core.kernels.boosted_trees.boosted_trees_pb2'
  # @@protoc_insertion_point(class_scope:tensorflow.boosted_trees.Leaf)
  ))
_sym_db.RegisterMessage(Leaf)

Vector = _reflection.GeneratedProtocolMessageType('Vector', (_message.Message,), dict(
  DESCRIPTOR = _VECTOR,
  __module__ = 'tensorflow.core.kernels.boosted_trees.boosted_trees_pb2'
  # @@protoc_insertion_point(class_scope:tensorflow.boosted_trees.Vector)
  ))
_sym_db.RegisterMessage(Vector)

SparseVector = _reflection.GeneratedProtocolMessageType('SparseVector', (_message.Message,), dict(
  DESCRIPTOR = _SPARSEVECTOR,
  __module__ = 'tensorflow.core.kernels.boosted_trees.boosted_trees_pb2'
  # @@protoc_insertion_point(class_scope:tensorflow.boosted_trees.SparseVector)
  ))
_sym_db.RegisterMessage(SparseVector)

BucketizedSplit = _reflection.GeneratedProtocolMessageType('BucketizedSplit', (_message.Message,), dict(
  DESCRIPTOR = _BUCKETIZEDSPLIT,
  __module__ = 'tensorflow.core.kernels.boosted_trees.boosted_trees_pb2'
  # @@protoc_insertion_point(class_scope:tensorflow.boosted_trees.BucketizedSplit)
  ))
_sym_db.RegisterMessage(BucketizedSplit)

CategoricalSplit = _reflection.GeneratedProtocolMessageType('CategoricalSplit', (_message.Message,), dict(
  DESCRIPTOR = _CATEGORICALSPLIT,
  __module__ = 'tensorflow.core.kernels.boosted_trees.boosted_trees_pb2'
  # @@protoc_insertion_point(class_scope:tensorflow.boosted_trees.CategoricalSplit)
  ))
_sym_db.RegisterMessage(CategoricalSplit)

Tree = _reflection.GeneratedProtocolMessageType('Tree', (_message.Message,), dict(
  DESCRIPTOR = _TREE,
  __module__ = 'tensorflow.core.kernels.boosted_trees.boosted_trees_pb2'
  # @@protoc_insertion_point(class_scope:tensorflow.boosted_trees.Tree)
  ))
_sym_db.RegisterMessage(Tree)

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

  PostPruneNodeUpdate = _reflection.GeneratedProtocolMessageType('PostPruneNodeUpdate', (_message.Message,), dict(
    DESCRIPTOR = _TREEMETADATA_POSTPRUNENODEUPDATE,
    __module__ = 'tensorflow.core.kernels.boosted_trees.boosted_trees_pb2'
    # @@protoc_insertion_point(class_scope:tensorflow.boosted_trees.TreeMetadata.PostPruneNodeUpdate)
    ))
  ,
  DESCRIPTOR = _TREEMETADATA,
  __module__ = 'tensorflow.core.kernels.boosted_trees.boosted_trees_pb2'
  # @@protoc_insertion_point(class_scope:tensorflow.boosted_trees.TreeMetadata)
  ))
_sym_db.RegisterMessage(TreeMetadata)
_sym_db.RegisterMessage(TreeMetadata.PostPruneNodeUpdate)

GrowingMetadata = _reflection.GeneratedProtocolMessageType('GrowingMetadata', (_message.Message,), dict(
  DESCRIPTOR = _GROWINGMETADATA,
  __module__ = 'tensorflow.core.kernels.boosted_trees.boosted_trees_pb2'
  # @@protoc_insertion_point(class_scope:tensorflow.boosted_trees.GrowingMetadata)
  ))
_sym_db.RegisterMessage(GrowingMetadata)

TreeEnsemble = _reflection.GeneratedProtocolMessageType('TreeEnsemble', (_message.Message,), dict(
  DESCRIPTOR = _TREEENSEMBLE,
  __module__ = 'tensorflow.core.kernels.boosted_trees.boosted_trees_pb2'
  # @@protoc_insertion_point(class_scope:tensorflow.boosted_trees.TreeEnsemble)
  ))
_sym_db.RegisterMessage(TreeEnsemble)

DebugOutput = _reflection.GeneratedProtocolMessageType('DebugOutput', (_message.Message,), dict(
  DESCRIPTOR = _DEBUGOUTPUT,
  __module__ = 'tensorflow.core.kernels.boosted_trees.boosted_trees_pb2'
  # @@protoc_insertion_point(class_scope:tensorflow.boosted_trees.DebugOutput)
  ))
_sym_db.RegisterMessage(DebugOutput)


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