# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: TreeEnsemble.proto
"""Generated protocol buffer code."""
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
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()


from . import DataStructures_pb2 as DataStructures__pb2
try:
  FeatureTypes__pb2 = DataStructures__pb2.FeatureTypes__pb2
except AttributeError:
  FeatureTypes__pb2 = DataStructures__pb2.FeatureTypes_pb2

from .DataStructures_pb2 import *

DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12TreeEnsemble.proto\x12\x14\x43oreML.Specification\x1a\x14\x44\x61taStructures.proto\"\xc4\x06\n\x16TreeEnsembleParameters\x12\x44\n\x05nodes\x18\x01 \x03(\x0b\x32\x35.CoreML.Specification.TreeEnsembleParameters.TreeNode\x12\x1f\n\x17numPredictionDimensions\x18\x02 \x01(\x04\x12\x1b\n\x13\x62\x61sePredictionValue\x18\x03 \x03(\x01\x1a\xa5\x05\n\x08TreeNode\x12\x0e\n\x06treeId\x18\x01 \x01(\x04\x12\x0e\n\x06nodeId\x18\x02 \x01(\x04\x12\\\n\x0cnodeBehavior\x18\x03 \x01(\x0e\x32\x46.CoreML.Specification.TreeEnsembleParameters.TreeNode.TreeNodeBehavior\x12\x1a\n\x12\x62ranchFeatureIndex\x18\n \x01(\x04\x12\x1a\n\x12\x62ranchFeatureValue\x18\x0b \x01(\x01\x12\x17\n\x0ftrueChildNodeId\x18\x0c \x01(\x04\x12\x18\n\x10\x66\x61lseChildNodeId\x18\r \x01(\x04\x12#\n\x1bmissingValueTracksTrueChild\x18\x0e \x01(\x08\x12\\\n\x0e\x65valuationInfo\x18\x14 \x03(\x0b\x32\x44.CoreML.Specification.TreeEnsembleParameters.TreeNode.EvaluationInfo\x12\x17\n\x0frelativeHitRate\x18\x1e \x01(\x01\x1a\x42\n\x0e\x45valuationInfo\x12\x17\n\x0f\x65valuationIndex\x18\x01 \x01(\x04\x12\x17\n\x0f\x65valuationValue\x18\x02 \x01(\x01\"\xcf\x01\n\x10TreeNodeBehavior\x12\x1e\n\x1a\x42ranchOnValueLessThanEqual\x10\x00\x12\x19\n\x15\x42ranchOnValueLessThan\x10\x01\x12!\n\x1d\x42ranchOnValueGreaterThanEqual\x10\x02\x12\x1c\n\x18\x42ranchOnValueGreaterThan\x10\x03\x12\x16\n\x12\x42ranchOnValueEqual\x10\x04\x12\x19\n\x15\x42ranchOnValueNotEqual\x10\x05\x12\x0c\n\x08LeafNode\x10\x06\"\xc7\x02\n\x16TreeEnsembleClassifier\x12\x42\n\x0ctreeEnsemble\x18\x01 \x01(\x0b\x32,.CoreML.Specification.TreeEnsembleParameters\x12Z\n\x17postEvaluationTransform\x18\x02 \x01(\x0e\x32\x39.CoreML.Specification.TreeEnsemblePostEvaluationTransform\x12?\n\x11stringClassLabels\x18\x64 \x01(\x0b\x32\".CoreML.Specification.StringVectorH\x00\x12=\n\x10int64ClassLabels\x18\x65 \x01(\x0b\x32!.CoreML.Specification.Int64VectorH\x00\x42\r\n\x0b\x43lassLabels\"\xb7\x01\n\x15TreeEnsembleRegressor\x12\x42\n\x0ctreeEnsemble\x18\x01 \x01(\x0b\x32,.CoreML.Specification.TreeEnsembleParameters\x12Z\n\x17postEvaluationTransform\x18\x02 \x01(\x0e\x32\x39.CoreML.Specification.TreeEnsemblePostEvaluationTransform*\x9d\x01\n#TreeEnsemblePostEvaluationTransform\x12\x0f\n\x0bNoTransform\x10\x00\x12\x1a\n\x16\x43lassification_SoftMax\x10\x01\x12\x17\n\x13Regression_Logistic\x10\x02\x12\x30\n,Classification_SoftMaxWithZeroClassReference\x10\x03\x42\x02H\x03P\x00\x62\x06proto3')

_TREEENSEMBLEPOSTEVALUATIONTRANSFORM = DESCRIPTOR.enum_types_by_name['TreeEnsemblePostEvaluationTransform']
TreeEnsemblePostEvaluationTransform = enum_type_wrapper.EnumTypeWrapper(_TREEENSEMBLEPOSTEVALUATIONTRANSFORM)
NoTransform = 0
Classification_SoftMax = 1
Regression_Logistic = 2
Classification_SoftMaxWithZeroClassReference = 3


_TREEENSEMBLEPARAMETERS = DESCRIPTOR.message_types_by_name['TreeEnsembleParameters']
_TREEENSEMBLEPARAMETERS_TREENODE = _TREEENSEMBLEPARAMETERS.nested_types_by_name['TreeNode']
_TREEENSEMBLEPARAMETERS_TREENODE_EVALUATIONINFO = _TREEENSEMBLEPARAMETERS_TREENODE.nested_types_by_name['EvaluationInfo']
_TREEENSEMBLECLASSIFIER = DESCRIPTOR.message_types_by_name['TreeEnsembleClassifier']
_TREEENSEMBLEREGRESSOR = DESCRIPTOR.message_types_by_name['TreeEnsembleRegressor']
_TREEENSEMBLEPARAMETERS_TREENODE_TREENODEBEHAVIOR = _TREEENSEMBLEPARAMETERS_TREENODE.enum_types_by_name['TreeNodeBehavior']
TreeEnsembleParameters = _reflection.GeneratedProtocolMessageType('TreeEnsembleParameters', (_message.Message,), {

  'TreeNode' : _reflection.GeneratedProtocolMessageType('TreeNode', (_message.Message,), {

    'EvaluationInfo' : _reflection.GeneratedProtocolMessageType('EvaluationInfo', (_message.Message,), {
      'DESCRIPTOR' : _TREEENSEMBLEPARAMETERS_TREENODE_EVALUATIONINFO,
      '__module__' : 'TreeEnsemble_pb2'
      # @@protoc_insertion_point(class_scope:CoreML.Specification.TreeEnsembleParameters.TreeNode.EvaluationInfo)
      })
    ,
    'DESCRIPTOR' : _TREEENSEMBLEPARAMETERS_TREENODE,
    '__module__' : 'TreeEnsemble_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.TreeEnsembleParameters.TreeNode)
    })
  ,
  'DESCRIPTOR' : _TREEENSEMBLEPARAMETERS,
  '__module__' : 'TreeEnsemble_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.TreeEnsembleParameters)
  })
_sym_db.RegisterMessage(TreeEnsembleParameters)
_sym_db.RegisterMessage(TreeEnsembleParameters.TreeNode)
_sym_db.RegisterMessage(TreeEnsembleParameters.TreeNode.EvaluationInfo)

TreeEnsembleClassifier = _reflection.GeneratedProtocolMessageType('TreeEnsembleClassifier', (_message.Message,), {
  'DESCRIPTOR' : _TREEENSEMBLECLASSIFIER,
  '__module__' : 'TreeEnsemble_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.TreeEnsembleClassifier)
  })
_sym_db.RegisterMessage(TreeEnsembleClassifier)

TreeEnsembleRegressor = _reflection.GeneratedProtocolMessageType('TreeEnsembleRegressor', (_message.Message,), {
  'DESCRIPTOR' : _TREEENSEMBLEREGRESSOR,
  '__module__' : 'TreeEnsemble_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.TreeEnsembleRegressor)
  })
_sym_db.RegisterMessage(TreeEnsembleRegressor)

if _descriptor._USE_C_DESCRIPTORS == False:

  DESCRIPTOR._options = None
  DESCRIPTOR._serialized_options = b'H\003'
  _TREEENSEMBLEPOSTEVALUATIONTRANSFORM._serialized_start=1422
  _TREEENSEMBLEPOSTEVALUATIONTRANSFORM._serialized_end=1579
  _TREEENSEMBLEPARAMETERS._serialized_start=67
  _TREEENSEMBLEPARAMETERS._serialized_end=903
  _TREEENSEMBLEPARAMETERS_TREENODE._serialized_start=226
  _TREEENSEMBLEPARAMETERS_TREENODE._serialized_end=903
  _TREEENSEMBLEPARAMETERS_TREENODE_EVALUATIONINFO._serialized_start=627
  _TREEENSEMBLEPARAMETERS_TREENODE_EVALUATIONINFO._serialized_end=693
  _TREEENSEMBLEPARAMETERS_TREENODE_TREENODEBEHAVIOR._serialized_start=696
  _TREEENSEMBLEPARAMETERS_TREENODE_TREENODEBEHAVIOR._serialized_end=903
  _TREEENSEMBLECLASSIFIER._serialized_start=906
  _TREEENSEMBLECLASSIFIER._serialized_end=1233
  _TREEENSEMBLEREGRESSOR._serialized_start=1236
  _TREEENSEMBLEREGRESSOR._serialized_end=1419
# @@protoc_insertion_point(module_scope)
