# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: tensorflow_metadata/proto/v0/metric.proto
"""Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
from tensorflow_metadata.proto.v0 import path_pb2 as tensorflow__metadata_dot_proto_dot_v0_dot_path__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)tensorflow_metadata/proto/v0/metric.proto\x12\x16tensorflow.metadata.v0\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a google/protobuf/descriptor.proto\x1a\'tensorflow_metadata/proto/v0/path.proto\"\x18\n\x0e\x42inaryAccuracy:\x06\x88\xd9\xc0\xe4\x06\x01\"\x1d\n\x13\x43\x61tegoricalAccuracy:\x06\x88\xd9\xc0\xe4\x06\x01\"!\n\x17\x43\x61tegoricalCrossEntropy:\x06\x88\xd9\xc0\xe4\x06\x02\"\x10\n\x06\x43osine:\x06\x88\xd9\xc0\xe4\x06\x02\"\x0f\n\x05Hinge:\x06\x88\xd9\xc0\xe4\x06\x02\"#\n\x19KullbackLeiblerDivergence:\x06\x88\xd9\xc0\xe4\x06\x02\"\x1b\n\x11MeanAbsoluteError:\x06\x88\xd9\xc0\xe4\x06\x02\"%\n\x1bMeanAbsolutePercentageError:\x06\x88\xd9\xc0\xe4\x06\x02\"\x1a\n\x10MeanSquaredError:\x06\x88\xd9\xc0\xe4\x06\x02\"%\n\x1bMeanSquaredLogarithmicError:\x06\x88\xd9\xc0\xe4\x06\x02\"\x11\n\x07Poisson:\x06\x88\xd9\xc0\xe4\x06\x02\"\x16\n\x0cSquaredHinge:\x06\x88\xd9\xc0\xe4\x06\x02\"!\n\x17TopKCategoricalAccuracy:\x06\x88\xd9\xc0\xe4\x06\x01\"\'\n\x1dSparseTopKCategoricalAccuracy:\x06\x88\xd9\xc0\xe4\x06\x01\"\x1c\n\x12\x42inaryCrossEntropy:\x06\x88\xd9\xc0\xe4\x06\x02\"\x1c\n\x12LogisticRegression:\x06\x88\xd9\xc0\xe4\x06\x02\"\r\n\x03\x41UC:\x06\x88\xd9\xc0\xe4\x06\x01\"\x1c\n\x12\x41UCPrecisionRecall:\x06\x88\xd9\xc0\xe4\x06\x01\"U\n\x18SensitivityAtSpecificity\x12\x31\n\x0bspecificity\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue:\x06\x88\xd9\xc0\xe4\x06\x01\"U\n\x18SpecificityAtSensitivity\x12\x31\n\x0bsensitivity\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue:\x06\x88\xd9\xc0\xe4\x06\x01\"I\n\x11PrecisionAtRecall\x12,\n\x06recall\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue:\x06\x88\xd9\xc0\xe4\x06\x01\"L\n\x11RecallAtPrecision\x12/\n\tprecision\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue:\x06\x88\xd9\xc0\xe4\x06\x01\"W\n\x1c\x46\x61lseNegativeRateAtThreshold\x12/\n\tthreshold\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue:\x06\x88\xd9\xc0\xe4\x06\x01\"W\n\x1c\x46\x61lsePositiveRateAtThreshold\x12/\n\tthreshold\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue:\x06\x88\xd9\xc0\xe4\x06\x01\"\x16\n\x0cPrecisionAtK:\x06\x88\xd9\xc0\xe4\x06\x01\"\x14\n\x12MeanReciprocalRank\"0\n\x16MaximumMeanDiscrepancy\x12\x0e\n\x06kernel\x18\x01 \x01(\t:\x06\x88\xd9\xc0\xe4\x06\x02\"\x10\n\x0ePredictionMean\"\x12\n\x08MicroAUC:\x06\x88\xd9\xc0\xe4\x06\x01\" \n\x16MultilabelCrossEntropy:\x06\x88\xd9\xc0\xe4\x06\x02\"&\n\x0c\x42lockUtility\x12\x0e\n\x06weight\x18\x01 \x03(\x01:\x06\x88\xd9\xc0\xe4\x06\x01\"\xc7\x01\n\x0c\x43ustomMetric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0cis_maximized\x18\x02 \x01(\x08\x12H\n\rregistry_spec\x18\x03 \x01(\x0b\x32\x31.tensorflow.metadata.v0.CustomMetric.RegistrySpec\x1a\x41\n\x0cRegistrySpec\x12\x0b\n\x03key\x18\x01 \x01(\t\x12$\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x06\x88\xd9\xc0\xe4\x06\x03\"\xcd\x10\n\x11PerformanceMetric\x12*\n\x03\x61uc\x18\x01 \x01(\x0b\x32\x1b.tensorflow.metadata.v0.AUCH\x00\x12J\n\x14\x61uc_precision_recall\x18\x1a \x01(\x0b\x32*.tensorflow.metadata.v0.AUCPrecisionRecallH\x00\x12\x41\n\x0f\x62inary_accuracy\x18\x02 \x01(\x0b\x32&.tensorflow.metadata.v0.BinaryAccuracyH\x00\x12J\n\x14\x62inary_cross_entropy\x18\x03 \x01(\x0b\x32*.tensorflow.metadata.v0.BinaryCrossEntropyH\x00\x12\x41\n\rblock_utility\x18\x04 \x01(\x0b\x32$.tensorflow.metadata.v0.BlockUtilityB\x02\x18\x01H\x00\x12K\n\x14\x63\x61tegorical_accuracy\x18\x05 \x01(\x0b\x32+.tensorflow.metadata.v0.CategoricalAccuracyH\x00\x12T\n\x19\x63\x61tegorical_cross_entropy\x18\x06 \x01(\x0b\x32/.tensorflow.metadata.v0.CategoricalCrossEntropyH\x00\x12\x34\n\x06\x63osine\x18\x07 \x01(\x0b\x32\x1e.tensorflow.metadata.v0.CosineB\x02\x18\x01H\x00\x12\x32\n\x05hinge\x18\x08 \x01(\x0b\x32\x1d.tensorflow.metadata.v0.HingeB\x02\x18\x01H\x00\x12\\\n\x1bkullback_leibler_divergence\x18\t \x01(\x0b\x32\x31.tensorflow.metadata.v0.KullbackLeiblerDivergenceB\x02\x18\x01H\x00\x12M\n\x13logistic_regression\x18\n \x01(\x0b\x32*.tensorflow.metadata.v0.LogisticRegressionB\x02\x18\x01H\x00\x12H\n\x13mean_absolute_error\x18\x0b \x01(\x0b\x32).tensorflow.metadata.v0.MeanAbsoluteErrorH\x00\x12]\n\x1emean_absolute_percentage_error\x18\x0c \x01(\x0b\x32\x33.tensorflow.metadata.v0.MeanAbsolutePercentageErrorH\x00\x12\x41\n\rsquared_error\x18\r \x01(\x0b\x32(.tensorflow.metadata.v0.MeanSquaredErrorH\x00\x12]\n\x1emean_squared_logarithmic_error\x18\x0e \x01(\x0b\x32\x33.tensorflow.metadata.v0.MeanSquaredLogarithmicErrorH\x00\x12J\n\x14mean_reciprocal_rank\x18\x0f \x01(\x0b\x32*.tensorflow.metadata.v0.MeanReciprocalRankH\x00\x12\x35\n\tmicro_auc\x18\x1b \x01(\x0b\x32 .tensorflow.metadata.v0.MicroAUCH\x00\x12S\n\x19multi_label_cross_entropy\x18\x1c \x01(\x0b\x32..tensorflow.metadata.v0.MultilabelCrossEntropyH\x00\x12\x36\n\x07poisson\x18\x10 \x01(\x0b\x32\x1f.tensorflow.metadata.v0.PoissonB\x02\x18\x01H\x00\x12>\n\x0eprecision_at_k\x18\x11 \x01(\x0b\x32$.tensorflow.metadata.v0.PrecisionAtKH\x00\x12\x41\n\rsquared_hinge\x18\x12 \x01(\x0b\x32$.tensorflow.metadata.v0.SquaredHingeB\x02\x18\x01H\x00\x12\x66\n!sparse_top_k_categorical_accuracy\x18\x13 \x01(\x0b\x32\x35.tensorflow.metadata.v0.SparseTopKCategoricalAccuracyB\x02\x18\x01H\x00\x12U\n\x1atop_k_categorical_accuracy\x18\x14 \x01(\x0b\x32/.tensorflow.metadata.v0.TopKCategoricalAccuracyH\x00\x12=\n\rcustom_metric\x18\x15 \x01(\x0b\x32$.tensorflow.metadata.v0.CustomMetricH\x00\x12V\n\x1asensitivity_at_specificity\x18\x16 \x01(\x0b\x32\x30.tensorflow.metadata.v0.SensitivityAtSpecificityH\x00\x12V\n\x1aspecificity_at_sensitivity\x18\x17 \x01(\x0b\x32\x30.tensorflow.metadata.v0.SpecificityAtSensitivityH\x00\x12H\n\x13precision_at_recall\x18\x18 \x01(\x0b\x32).tensorflow.metadata.v0.PrecisionAtRecallH\x00\x12H\n\x13recall_at_precision\x18\x19 \x01(\x0b\x32).tensorflow.metadata.v0.RecallAtPrecisionH\x00\x42\x14\n\x12performance_metric*A\n\nMetricType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08MAXIMIZE\x10\x01\x12\x0c\n\x08MINIMIZE\x10\x02\x12\n\n\x06\x43USTOM\x10\x03:[\n\x0bmetric_type\x12\x1f.google.protobuf.MessageOptions\x18\x91\x8b\xc8l \x01(\x0e\x32\".tensorflow.metadata.v0.MetricTypeB!\n\x1aorg.tensorflow.metadata.v0P\x01\xf8\x01\x01\x62\x06proto3')

_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tensorflow_metadata.proto.v0.metric_pb2', globals())
if _descriptor._USE_C_DESCRIPTORS == False:
  google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(metric_type)

  DESCRIPTOR._options = None
  DESCRIPTOR._serialized_options = b'\n\032org.tensorflow.metadata.v0P\001\370\001\001'
  _BINARYACCURACY._options = None
  _BINARYACCURACY._serialized_options = b'\210\331\300\344\006\001'
  _CATEGORICALACCURACY._options = None
  _CATEGORICALACCURACY._serialized_options = b'\210\331\300\344\006\001'
  _CATEGORICALCROSSENTROPY._options = None
  _CATEGORICALCROSSENTROPY._serialized_options = b'\210\331\300\344\006\002'
  _COSINE._options = None
  _COSINE._serialized_options = b'\210\331\300\344\006\002'
  _HINGE._options = None
  _HINGE._serialized_options = b'\210\331\300\344\006\002'
  _KULLBACKLEIBLERDIVERGENCE._options = None
  _KULLBACKLEIBLERDIVERGENCE._serialized_options = b'\210\331\300\344\006\002'
  _MEANABSOLUTEERROR._options = None
  _MEANABSOLUTEERROR._serialized_options = b'\210\331\300\344\006\002'
  _MEANABSOLUTEPERCENTAGEERROR._options = None
  _MEANABSOLUTEPERCENTAGEERROR._serialized_options = b'\210\331\300\344\006\002'
  _MEANSQUAREDERROR._options = None
  _MEANSQUAREDERROR._serialized_options = b'\210\331\300\344\006\002'
  _MEANSQUAREDLOGARITHMICERROR._options = None
  _MEANSQUAREDLOGARITHMICERROR._serialized_options = b'\210\331\300\344\006\002'
  _POISSON._options = None
  _POISSON._serialized_options = b'\210\331\300\344\006\002'
  _SQUAREDHINGE._options = None
  _SQUAREDHINGE._serialized_options = b'\210\331\300\344\006\002'
  _TOPKCATEGORICALACCURACY._options = None
  _TOPKCATEGORICALACCURACY._serialized_options = b'\210\331\300\344\006\001'
  _SPARSETOPKCATEGORICALACCURACY._options = None
  _SPARSETOPKCATEGORICALACCURACY._serialized_options = b'\210\331\300\344\006\001'
  _BINARYCROSSENTROPY._options = None
  _BINARYCROSSENTROPY._serialized_options = b'\210\331\300\344\006\002'
  _LOGISTICREGRESSION._options = None
  _LOGISTICREGRESSION._serialized_options = b'\210\331\300\344\006\002'
  _AUC._options = None
  _AUC._serialized_options = b'\210\331\300\344\006\001'
  _AUCPRECISIONRECALL._options = None
  _AUCPRECISIONRECALL._serialized_options = b'\210\331\300\344\006\001'
  _SENSITIVITYATSPECIFICITY._options = None
  _SENSITIVITYATSPECIFICITY._serialized_options = b'\210\331\300\344\006\001'
  _SPECIFICITYATSENSITIVITY._options = None
  _SPECIFICITYATSENSITIVITY._serialized_options = b'\210\331\300\344\006\001'
  _PRECISIONATRECALL._options = None
  _PRECISIONATRECALL._serialized_options = b'\210\331\300\344\006\001'
  _RECALLATPRECISION._options = None
  _RECALLATPRECISION._serialized_options = b'\210\331\300\344\006\001'
  _FALSENEGATIVERATEATTHRESHOLD._options = None
  _FALSENEGATIVERATEATTHRESHOLD._serialized_options = b'\210\331\300\344\006\001'
  _FALSEPOSITIVERATEATTHRESHOLD._options = None
  _FALSEPOSITIVERATEATTHRESHOLD._serialized_options = b'\210\331\300\344\006\001'
  _PRECISIONATK._options = None
  _PRECISIONATK._serialized_options = b'\210\331\300\344\006\001'
  _MAXIMUMMEANDISCREPANCY._options = None
  _MAXIMUMMEANDISCREPANCY._serialized_options = b'\210\331\300\344\006\002'
  _MICROAUC._options = None
  _MICROAUC._serialized_options = b'\210\331\300\344\006\001'
  _MULTILABELCROSSENTROPY._options = None
  _MULTILABELCROSSENTROPY._serialized_options = b'\210\331\300\344\006\002'
  _BLOCKUTILITY._options = None
  _BLOCKUTILITY._serialized_options = b'\210\331\300\344\006\001'
  _CUSTOMMETRIC._options = None
  _CUSTOMMETRIC._serialized_options = b'\210\331\300\344\006\003'
  _PERFORMANCEMETRIC.fields_by_name['block_utility']._options = None
  _PERFORMANCEMETRIC.fields_by_name['block_utility']._serialized_options = b'\030\001'
  _PERFORMANCEMETRIC.fields_by_name['cosine']._options = None
  _PERFORMANCEMETRIC.fields_by_name['cosine']._serialized_options = b'\030\001'
  _PERFORMANCEMETRIC.fields_by_name['hinge']._options = None
  _PERFORMANCEMETRIC.fields_by_name['hinge']._serialized_options = b'\030\001'
  _PERFORMANCEMETRIC.fields_by_name['kullback_leibler_divergence']._options = None
  _PERFORMANCEMETRIC.fields_by_name['kullback_leibler_divergence']._serialized_options = b'\030\001'
  _PERFORMANCEMETRIC.fields_by_name['logistic_regression']._options = None
  _PERFORMANCEMETRIC.fields_by_name['logistic_regression']._serialized_options = b'\030\001'
  _PERFORMANCEMETRIC.fields_by_name['poisson']._options = None
  _PERFORMANCEMETRIC.fields_by_name['poisson']._serialized_options = b'\030\001'
  _PERFORMANCEMETRIC.fields_by_name['squared_hinge']._options = None
  _PERFORMANCEMETRIC.fields_by_name['squared_hinge']._serialized_options = b'\030\001'
  _PERFORMANCEMETRIC.fields_by_name['sparse_top_k_categorical_accuracy']._options = None
  _PERFORMANCEMETRIC.fields_by_name['sparse_top_k_categorical_accuracy']._serialized_options = b'\030\001'
  _METRICTYPE._serialized_start=3769
  _METRICTYPE._serialized_end=3834
  _BINARYACCURACY._serialized_start=203
  _BINARYACCURACY._serialized_end=227
  _CATEGORICALACCURACY._serialized_start=229
  _CATEGORICALACCURACY._serialized_end=258
  _CATEGORICALCROSSENTROPY._serialized_start=260
  _CATEGORICALCROSSENTROPY._serialized_end=293
  _COSINE._serialized_start=295
  _COSINE._serialized_end=311
  _HINGE._serialized_start=313
  _HINGE._serialized_end=328
  _KULLBACKLEIBLERDIVERGENCE._serialized_start=330
  _KULLBACKLEIBLERDIVERGENCE._serialized_end=365
  _MEANABSOLUTEERROR._serialized_start=367
  _MEANABSOLUTEERROR._serialized_end=394
  _MEANABSOLUTEPERCENTAGEERROR._serialized_start=396
  _MEANABSOLUTEPERCENTAGEERROR._serialized_end=433
  _MEANSQUAREDERROR._serialized_start=435
  _MEANSQUAREDERROR._serialized_end=461
  _MEANSQUAREDLOGARITHMICERROR._serialized_start=463
  _MEANSQUAREDLOGARITHMICERROR._serialized_end=500
  _POISSON._serialized_start=502
  _POISSON._serialized_end=519
  _SQUAREDHINGE._serialized_start=521
  _SQUAREDHINGE._serialized_end=543
  _TOPKCATEGORICALACCURACY._serialized_start=545
  _TOPKCATEGORICALACCURACY._serialized_end=578
  _SPARSETOPKCATEGORICALACCURACY._serialized_start=580
  _SPARSETOPKCATEGORICALACCURACY._serialized_end=619
  _BINARYCROSSENTROPY._serialized_start=621
  _BINARYCROSSENTROPY._serialized_end=649
  _LOGISTICREGRESSION._serialized_start=651
  _LOGISTICREGRESSION._serialized_end=679
  _AUC._serialized_start=681
  _AUC._serialized_end=694
  _AUCPRECISIONRECALL._serialized_start=696
  _AUCPRECISIONRECALL._serialized_end=724
  _SENSITIVITYATSPECIFICITY._serialized_start=726
  _SENSITIVITYATSPECIFICITY._serialized_end=811
  _SPECIFICITYATSENSITIVITY._serialized_start=813
  _SPECIFICITYATSENSITIVITY._serialized_end=898
  _PRECISIONATRECALL._serialized_start=900
  _PRECISIONATRECALL._serialized_end=973
  _RECALLATPRECISION._serialized_start=975
  _RECALLATPRECISION._serialized_end=1051
  _FALSENEGATIVERATEATTHRESHOLD._serialized_start=1053
  _FALSENEGATIVERATEATTHRESHOLD._serialized_end=1140
  _FALSEPOSITIVERATEATTHRESHOLD._serialized_start=1142
  _FALSEPOSITIVERATEATTHRESHOLD._serialized_end=1229
  _PRECISIONATK._serialized_start=1231
  _PRECISIONATK._serialized_end=1253
  _MEANRECIPROCALRANK._serialized_start=1255
  _MEANRECIPROCALRANK._serialized_end=1275
  _MAXIMUMMEANDISCREPANCY._serialized_start=1277
  _MAXIMUMMEANDISCREPANCY._serialized_end=1325
  _PREDICTIONMEAN._serialized_start=1327
  _PREDICTIONMEAN._serialized_end=1343
  _MICROAUC._serialized_start=1345
  _MICROAUC._serialized_end=1363
  _MULTILABELCROSSENTROPY._serialized_start=1365
  _MULTILABELCROSSENTROPY._serialized_end=1397
  _BLOCKUTILITY._serialized_start=1399
  _BLOCKUTILITY._serialized_end=1437
  _CUSTOMMETRIC._serialized_start=1440
  _CUSTOMMETRIC._serialized_end=1639
  _CUSTOMMETRIC_REGISTRYSPEC._serialized_start=1566
  _CUSTOMMETRIC_REGISTRYSPEC._serialized_end=1631
  _PERFORMANCEMETRIC._serialized_start=1642
  _PERFORMANCEMETRIC._serialized_end=3767
# @@protoc_insertion_point(module_scope)
