# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: tensorflow_metadata/proto/v0/metric.proto
# Protobuf Python Version: 4.25.6
"""Generated protocol buffer code."""
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
from google.protobuf.internal import builder as _builder
# @@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\"b\n\x18SensitivityAtSpecificity\x12>\n\x0bspecificity\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValueR\x0bspecificity:\x06\x88\xd9\xc0\xe4\x06\x01\"b\n\x18SpecificityAtSensitivity\x12>\n\x0bsensitivity\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValueR\x0bsensitivity:\x06\x88\xd9\xc0\xe4\x06\x01\"Q\n\x11PrecisionAtRecall\x12\x34\n\x06recall\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValueR\x06recall:\x06\x88\xd9\xc0\xe4\x06\x01\"W\n\x11RecallAtPrecision\x12:\n\tprecision\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValueR\tprecision:\x06\x88\xd9\xc0\xe4\x06\x01\"b\n\x1c\x46\x61lseNegativeRateAtThreshold\x12:\n\tthreshold\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValueR\tthreshold:\x06\x88\xd9\xc0\xe4\x06\x01\"b\n\x1c\x46\x61lsePositiveRateAtThreshold\x12:\n\tthreshold\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValueR\tthreshold:\x06\x88\xd9\xc0\xe4\x06\x01\"\x16\n\x0cPrecisionAtK:\x06\x88\xd9\xc0\xe4\x06\x01\"\x14\n\x12MeanReciprocalRank\"8\n\x16MaximumMeanDiscrepancy\x12\x16\n\x06kernel\x18\x01 \x01(\tR\x06kernel:\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\x16\n\x06weight\x18\x01 \x03(\x01R\x06weight:\x06\x88\xd9\xc0\xe4\x06\x01\"\xf5\x01\n\x0c\x43ustomMetric\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12!\n\x0cis_maximized\x18\x02 \x01(\x08R\x0bisMaximized\x12V\n\rregistry_spec\x18\x03 \x01(\x0b\x32\x31.tensorflow.metadata.v0.CustomMetric.RegistrySpecR\x0cregistrySpec\x1aN\n\x0cRegistrySpec\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyR\x06\x63onfig:\x06\x88\xd9\xc0\xe4\x06\x03\"\xdb\x14\n\x11PerformanceMetric\x12/\n\x03\x61uc\x18\x01 \x01(\x0b\x32\x1b.tensorflow.metadata.v0.AUCH\x00R\x03\x61uc\x12^\n\x14\x61uc_precision_recall\x18\x1a \x01(\x0b\x32*.tensorflow.metadata.v0.AUCPrecisionRecallH\x00R\x12\x61ucPrecisionRecall\x12Q\n\x0f\x62inary_accuracy\x18\x02 \x01(\x0b\x32&.tensorflow.metadata.v0.BinaryAccuracyH\x00R\x0e\x62inaryAccuracy\x12^\n\x14\x62inary_cross_entropy\x18\x03 \x01(\x0b\x32*.tensorflow.metadata.v0.BinaryCrossEntropyH\x00R\x12\x62inaryCrossEntropy\x12O\n\rblock_utility\x18\x04 \x01(\x0b\x32$.tensorflow.metadata.v0.BlockUtilityB\x02\x18\x01H\x00R\x0c\x62lockUtility\x12`\n\x14\x63\x61tegorical_accuracy\x18\x05 \x01(\x0b\x32+.tensorflow.metadata.v0.CategoricalAccuracyH\x00R\x13\x63\x61tegoricalAccuracy\x12m\n\x19\x63\x61tegorical_cross_entropy\x18\x06 \x01(\x0b\x32/.tensorflow.metadata.v0.CategoricalCrossEntropyH\x00R\x17\x63\x61tegoricalCrossEntropy\x12<\n\x06\x63osine\x18\x07 \x01(\x0b\x32\x1e.tensorflow.metadata.v0.CosineB\x02\x18\x01H\x00R\x06\x63osine\x12\x39\n\x05hinge\x18\x08 \x01(\x0b\x32\x1d.tensorflow.metadata.v0.HingeB\x02\x18\x01H\x00R\x05hinge\x12w\n\x1bkullback_leibler_divergence\x18\t \x01(\x0b\x32\x31.tensorflow.metadata.v0.KullbackLeiblerDivergenceB\x02\x18\x01H\x00R\x19kullbackLeiblerDivergence\x12\x61\n\x13logistic_regression\x18\n \x01(\x0b\x32*.tensorflow.metadata.v0.LogisticRegressionB\x02\x18\x01H\x00R\x12logisticRegression\x12[\n\x13mean_absolute_error\x18\x0b \x01(\x0b\x32).tensorflow.metadata.v0.MeanAbsoluteErrorH\x00R\x11meanAbsoluteError\x12z\n\x1emean_absolute_percentage_error\x18\x0c \x01(\x0b\x32\x33.tensorflow.metadata.v0.MeanAbsolutePercentageErrorH\x00R\x1bmeanAbsolutePercentageError\x12O\n\rsquared_error\x18\r \x01(\x0b\x32(.tensorflow.metadata.v0.MeanSquaredErrorH\x00R\x0csquaredError\x12z\n\x1emean_squared_logarithmic_error\x18\x0e \x01(\x0b\x32\x33.tensorflow.metadata.v0.MeanSquaredLogarithmicErrorH\x00R\x1bmeanSquaredLogarithmicError\x12^\n\x14mean_reciprocal_rank\x18\x0f \x01(\x0b\x32*.tensorflow.metadata.v0.MeanReciprocalRankH\x00R\x12meanReciprocalRank\x12?\n\tmicro_auc\x18\x1b \x01(\x0b\x32 .tensorflow.metadata.v0.MicroAUCH\x00R\x08microAuc\x12k\n\x19multi_label_cross_entropy\x18\x1c \x01(\x0b\x32..tensorflow.metadata.v0.MultilabelCrossEntropyH\x00R\x16multiLabelCrossEntropy\x12?\n\x07poisson\x18\x10 \x01(\x0b\x32\x1f.tensorflow.metadata.v0.PoissonB\x02\x18\x01H\x00R\x07poisson\x12L\n\x0eprecision_at_k\x18\x11 \x01(\x0b\x32$.tensorflow.metadata.v0.PrecisionAtKH\x00R\x0cprecisionAtK\x12O\n\rsquared_hinge\x18\x12 \x01(\x0b\x32$.tensorflow.metadata.v0.SquaredHingeB\x02\x18\x01H\x00R\x0csquaredHinge\x12\x85\x01\n!sparse_top_k_categorical_accuracy\x18\x13 \x01(\x0b\x32\x35.tensorflow.metadata.v0.SparseTopKCategoricalAccuracyB\x02\x18\x01H\x00R\x1dsparseTopKCategoricalAccuracy\x12n\n\x1atop_k_categorical_accuracy\x18\x14 \x01(\x0b\x32/.tensorflow.metadata.v0.TopKCategoricalAccuracyH\x00R\x17topKCategoricalAccuracy\x12K\n\rcustom_metric\x18\x15 \x01(\x0b\x32$.tensorflow.metadata.v0.CustomMetricH\x00R\x0c\x63ustomMetric\x12p\n\x1asensitivity_at_specificity\x18\x16 \x01(\x0b\x32\x30.tensorflow.metadata.v0.SensitivityAtSpecificityH\x00R\x18sensitivityAtSpecificity\x12p\n\x1aspecificity_at_sensitivity\x18\x17 \x01(\x0b\x32\x30.tensorflow.metadata.v0.SpecificityAtSensitivityH\x00R\x18specificityAtSensitivity\x12[\n\x13precision_at_recall\x18\x18 \x01(\x0b\x32).tensorflow.metadata.v0.PrecisionAtRecallH\x00R\x11precisionAtRecall\x12[\n\x13recall_at_precision\x18\x19 \x01(\x0b\x32).tensorflow.metadata.v0.RecallAtPrecisionH\x00R\x11recallAtPrecisionB\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:g\n\x0bmetric_type\x12\x1f.google.protobuf.MessageOptions\x18\x91\x8b\xc8l \x01(\x0e\x32\".tensorflow.metadata.v0.MetricTypeR\nmetricTypeB!\n\x1aorg.tensorflow.metadata.v0P\x01\xf8\x01\x01\x62\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tensorflow_metadata.proto.v0.metric_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
  _globals['DESCRIPTOR']._options = None
  _globals['DESCRIPTOR']._serialized_options = b'\n\032org.tensorflow.metadata.v0P\001\370\001\001'
  _globals['_BINARYACCURACY']._options = None
  _globals['_BINARYACCURACY']._serialized_options = b'\210\331\300\344\006\001'
  _globals['_CATEGORICALACCURACY']._options = None
  _globals['_CATEGORICALACCURACY']._serialized_options = b'\210\331\300\344\006\001'
  _globals['_CATEGORICALCROSSENTROPY']._options = None
  _globals['_CATEGORICALCROSSENTROPY']._serialized_options = b'\210\331\300\344\006\002'
  _globals['_COSINE']._options = None
  _globals['_COSINE']._serialized_options = b'\210\331\300\344\006\002'
  _globals['_HINGE']._options = None
  _globals['_HINGE']._serialized_options = b'\210\331\300\344\006\002'
  _globals['_KULLBACKLEIBLERDIVERGENCE']._options = None
  _globals['_KULLBACKLEIBLERDIVERGENCE']._serialized_options = b'\210\331\300\344\006\002'
  _globals['_MEANABSOLUTEERROR']._options = None
  _globals['_MEANABSOLUTEERROR']._serialized_options = b'\210\331\300\344\006\002'
  _globals['_MEANABSOLUTEPERCENTAGEERROR']._options = None
  _globals['_MEANABSOLUTEPERCENTAGEERROR']._serialized_options = b'\210\331\300\344\006\002'
  _globals['_MEANSQUAREDERROR']._options = None
  _globals['_MEANSQUAREDERROR']._serialized_options = b'\210\331\300\344\006\002'
  _globals['_MEANSQUAREDLOGARITHMICERROR']._options = None
  _globals['_MEANSQUAREDLOGARITHMICERROR']._serialized_options = b'\210\331\300\344\006\002'
  _globals['_POISSON']._options = None
  _globals['_POISSON']._serialized_options = b'\210\331\300\344\006\002'
  _globals['_SQUAREDHINGE']._options = None
  _globals['_SQUAREDHINGE']._serialized_options = b'\210\331\300\344\006\002'
  _globals['_TOPKCATEGORICALACCURACY']._options = None
  _globals['_TOPKCATEGORICALACCURACY']._serialized_options = b'\210\331\300\344\006\001'
  _globals['_SPARSETOPKCATEGORICALACCURACY']._options = None
  _globals['_SPARSETOPKCATEGORICALACCURACY']._serialized_options = b'\210\331\300\344\006\001'
  _globals['_BINARYCROSSENTROPY']._options = None
  _globals['_BINARYCROSSENTROPY']._serialized_options = b'\210\331\300\344\006\002'
  _globals['_LOGISTICREGRESSION']._options = None
  _globals['_LOGISTICREGRESSION']._serialized_options = b'\210\331\300\344\006\002'
  _globals['_AUC']._options = None
  _globals['_AUC']._serialized_options = b'\210\331\300\344\006\001'
  _globals['_AUCPRECISIONRECALL']._options = None
  _globals['_AUCPRECISIONRECALL']._serialized_options = b'\210\331\300\344\006\001'
  _globals['_SENSITIVITYATSPECIFICITY']._options = None
  _globals['_SENSITIVITYATSPECIFICITY']._serialized_options = b'\210\331\300\344\006\001'
  _globals['_SPECIFICITYATSENSITIVITY']._options = None
  _globals['_SPECIFICITYATSENSITIVITY']._serialized_options = b'\210\331\300\344\006\001'
  _globals['_PRECISIONATRECALL']._options = None
  _globals['_PRECISIONATRECALL']._serialized_options = b'\210\331\300\344\006\001'
  _globals['_RECALLATPRECISION']._options = None
  _globals['_RECALLATPRECISION']._serialized_options = b'\210\331\300\344\006\001'
  _globals['_FALSENEGATIVERATEATTHRESHOLD']._options = None
  _globals['_FALSENEGATIVERATEATTHRESHOLD']._serialized_options = b'\210\331\300\344\006\001'
  _globals['_FALSEPOSITIVERATEATTHRESHOLD']._options = None
  _globals['_FALSEPOSITIVERATEATTHRESHOLD']._serialized_options = b'\210\331\300\344\006\001'
  _globals['_PRECISIONATK']._options = None
  _globals['_PRECISIONATK']._serialized_options = b'\210\331\300\344\006\001'
  _globals['_MAXIMUMMEANDISCREPANCY']._options = None
  _globals['_MAXIMUMMEANDISCREPANCY']._serialized_options = b'\210\331\300\344\006\002'
  _globals['_MICROAUC']._options = None
  _globals['_MICROAUC']._serialized_options = b'\210\331\300\344\006\001'
  _globals['_MULTILABELCROSSENTROPY']._options = None
  _globals['_MULTILABELCROSSENTROPY']._serialized_options = b'\210\331\300\344\006\002'
  _globals['_BLOCKUTILITY']._options = None
  _globals['_BLOCKUTILITY']._serialized_options = b'\210\331\300\344\006\001'
  _globals['_CUSTOMMETRIC']._options = None
  _globals['_CUSTOMMETRIC']._serialized_options = b'\210\331\300\344\006\003'
  _globals['_PERFORMANCEMETRIC'].fields_by_name['block_utility']._options = None
  _globals['_PERFORMANCEMETRIC'].fields_by_name['block_utility']._serialized_options = b'\030\001'
  _globals['_PERFORMANCEMETRIC'].fields_by_name['cosine']._options = None
  _globals['_PERFORMANCEMETRIC'].fields_by_name['cosine']._serialized_options = b'\030\001'
  _globals['_PERFORMANCEMETRIC'].fields_by_name['hinge']._options = None
  _globals['_PERFORMANCEMETRIC'].fields_by_name['hinge']._serialized_options = b'\030\001'
  _globals['_PERFORMANCEMETRIC'].fields_by_name['kullback_leibler_divergence']._options = None
  _globals['_PERFORMANCEMETRIC'].fields_by_name['kullback_leibler_divergence']._serialized_options = b'\030\001'
  _globals['_PERFORMANCEMETRIC'].fields_by_name['logistic_regression']._options = None
  _globals['_PERFORMANCEMETRIC'].fields_by_name['logistic_regression']._serialized_options = b'\030\001'
  _globals['_PERFORMANCEMETRIC'].fields_by_name['poisson']._options = None
  _globals['_PERFORMANCEMETRIC'].fields_by_name['poisson']._serialized_options = b'\030\001'
  _globals['_PERFORMANCEMETRIC'].fields_by_name['squared_hinge']._options = None
  _globals['_PERFORMANCEMETRIC'].fields_by_name['squared_hinge']._serialized_options = b'\030\001'
  _globals['_PERFORMANCEMETRIC'].fields_by_name['sparse_top_k_categorical_accuracy']._options = None
  _globals['_PERFORMANCEMETRIC'].fields_by_name['sparse_top_k_categorical_accuracy']._serialized_options = b'\030\001'
  _globals['_METRICTYPE']._serialized_start=4424
  _globals['_METRICTYPE']._serialized_end=4489
  _globals['_BINARYACCURACY']._serialized_start=203
  _globals['_BINARYACCURACY']._serialized_end=227
  _globals['_CATEGORICALACCURACY']._serialized_start=229
  _globals['_CATEGORICALACCURACY']._serialized_end=258
  _globals['_CATEGORICALCROSSENTROPY']._serialized_start=260
  _globals['_CATEGORICALCROSSENTROPY']._serialized_end=293
  _globals['_COSINE']._serialized_start=295
  _globals['_COSINE']._serialized_end=311
  _globals['_HINGE']._serialized_start=313
  _globals['_HINGE']._serialized_end=328
  _globals['_KULLBACKLEIBLERDIVERGENCE']._serialized_start=330
  _globals['_KULLBACKLEIBLERDIVERGENCE']._serialized_end=365
  _globals['_MEANABSOLUTEERROR']._serialized_start=367
  _globals['_MEANABSOLUTEERROR']._serialized_end=394
  _globals['_MEANABSOLUTEPERCENTAGEERROR']._serialized_start=396
  _globals['_MEANABSOLUTEPERCENTAGEERROR']._serialized_end=433
  _globals['_MEANSQUAREDERROR']._serialized_start=435
  _globals['_MEANSQUAREDERROR']._serialized_end=461
  _globals['_MEANSQUAREDLOGARITHMICERROR']._serialized_start=463
  _globals['_MEANSQUAREDLOGARITHMICERROR']._serialized_end=500
  _globals['_POISSON']._serialized_start=502
  _globals['_POISSON']._serialized_end=519
  _globals['_SQUAREDHINGE']._serialized_start=521
  _globals['_SQUAREDHINGE']._serialized_end=543
  _globals['_TOPKCATEGORICALACCURACY']._serialized_start=545
  _globals['_TOPKCATEGORICALACCURACY']._serialized_end=578
  _globals['_SPARSETOPKCATEGORICALACCURACY']._serialized_start=580
  _globals['_SPARSETOPKCATEGORICALACCURACY']._serialized_end=619
  _globals['_BINARYCROSSENTROPY']._serialized_start=621
  _globals['_BINARYCROSSENTROPY']._serialized_end=649
  _globals['_LOGISTICREGRESSION']._serialized_start=651
  _globals['_LOGISTICREGRESSION']._serialized_end=679
  _globals['_AUC']._serialized_start=681
  _globals['_AUC']._serialized_end=694
  _globals['_AUCPRECISIONRECALL']._serialized_start=696
  _globals['_AUCPRECISIONRECALL']._serialized_end=724
  _globals['_SENSITIVITYATSPECIFICITY']._serialized_start=726
  _globals['_SENSITIVITYATSPECIFICITY']._serialized_end=824
  _globals['_SPECIFICITYATSENSITIVITY']._serialized_start=826
  _globals['_SPECIFICITYATSENSITIVITY']._serialized_end=924
  _globals['_PRECISIONATRECALL']._serialized_start=926
  _globals['_PRECISIONATRECALL']._serialized_end=1007
  _globals['_RECALLATPRECISION']._serialized_start=1009
  _globals['_RECALLATPRECISION']._serialized_end=1096
  _globals['_FALSENEGATIVERATEATTHRESHOLD']._serialized_start=1098
  _globals['_FALSENEGATIVERATEATTHRESHOLD']._serialized_end=1196
  _globals['_FALSEPOSITIVERATEATTHRESHOLD']._serialized_start=1198
  _globals['_FALSEPOSITIVERATEATTHRESHOLD']._serialized_end=1296
  _globals['_PRECISIONATK']._serialized_start=1298
  _globals['_PRECISIONATK']._serialized_end=1320
  _globals['_MEANRECIPROCALRANK']._serialized_start=1322
  _globals['_MEANRECIPROCALRANK']._serialized_end=1342
  _globals['_MAXIMUMMEANDISCREPANCY']._serialized_start=1344
  _globals['_MAXIMUMMEANDISCREPANCY']._serialized_end=1400
  _globals['_PREDICTIONMEAN']._serialized_start=1402
  _globals['_PREDICTIONMEAN']._serialized_end=1418
  _globals['_MICROAUC']._serialized_start=1420
  _globals['_MICROAUC']._serialized_end=1438
  _globals['_MULTILABELCROSSENTROPY']._serialized_start=1440
  _globals['_MULTILABELCROSSENTROPY']._serialized_end=1472
  _globals['_BLOCKUTILITY']._serialized_start=1474
  _globals['_BLOCKUTILITY']._serialized_end=1520
  _globals['_CUSTOMMETRIC']._serialized_start=1523
  _globals['_CUSTOMMETRIC']._serialized_end=1768
  _globals['_CUSTOMMETRIC_REGISTRYSPEC']._serialized_start=1682
  _globals['_CUSTOMMETRIC_REGISTRYSPEC']._serialized_end=1760
  _globals['_PERFORMANCEMETRIC']._serialized_start=1771
  _globals['_PERFORMANCEMETRIC']._serialized_end=4422
# @@protoc_insertion_point(module_scope)
