# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: tensorflow/core/protobuf/tpu/optimization_parameters.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 wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
from tensorflow.compiler.xla.service import hlo_pb2 as xla_dot_service_dot_hlo__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n:tensorflow/core/protobuf/tpu/optimization_parameters.proto\x12\x0etensorflow.tpu\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x15xla/service/hlo.proto\"h\n\x0e\x43lippingLimits\x12*\n\x05lower\x18\x01 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12*\n\x05upper\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\"v\n\x15SimulatedQuantization\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x37\n\x0f\x63lipping_limits\x18\x02 \x01(\x0b\x32\x1e.tensorflow.tpu.ClippingLimits\x12\x13\n\x0bnum_buckets\x18\x03 \x01(\x05\"$\n\x15OptimizerDynamicInput\x12\x0b\n\x03tag\x18\x01 \x01(\x05\"m\n\x0cLearningRate\x12\x12\n\x08\x63onstant\x18\x01 \x01(\x02H\x00\x12\x38\n\x07\x64ynamic\x18\x02 \x01(\x0b\x32%.tensorflow.tpu.OptimizerDynamicInputH\x00\x42\x0f\n\rlearning_rate\".\n\x11\x41\x64\x61gradParametersJ\x04\x08\x01\x10\x02R\x13initial_accumulator\"u\n\x19\x41\x64\x61gradMomentumParameters\x12\x10\n\x08momentum\x18\x01 \x01(\x02\x12\x14\n\x0cuse_nesterov\x18\x02 \x01(\x08\x12\x10\n\x08\x65xponent\x18\x03 \x01(\x02\x12\r\n\x05\x62\x65ta2\x18\x04 \x01(\x02\x12\x0f\n\x07\x65psilon\x18\x05 \x01(\x02\"m\n\x18\x42oundedAdagradParameters\x12 \n\x18update_accumulator_first\x18\x01 \x01(\x08\x12\x16\n\x0emax_var_update\x18\x02 \x01(\x02\x12\x17\n\x0fmax_accumulator\x18\x03 \x01(\x02\"\x9d\x02\n\x1f\x46requencyAwareAdagradParameters\x12\"\n\x1al1_regularization_strength\x18\x01 \x01(\x02\x12\"\n\x1al2_regularization_strength\x18\x02 \x01(\x02\x12\x1c\n\x14probability_exponent\x18\x04 \x01(\x02\x12\x19\n\x11max_lr_multiplier\x18\x03 \x01(\x02\x12\x19\n\x11\x61\x63\x63umulator_decay\x18\x05 \x01(\x02\x12!\n\x19initial_accumulator_value\x18\x06 \x01(\x02\x12;\n\x0cstep_counter\x18\x07 \x01(\x0b\x32%.tensorflow.tpu.OptimizerDynamicInput\"%\n#StochasticGradientDescentParameters\"\xb6\x01\n\x0e\x46trlParameters\x12\n\n\x02l1\x18\x01 \x01(\x02\x12\n\n\x02l2\x18\x02 \x01(\x02\x12\x10\n\x08lr_power\x18\x03 \x01(\x02\x12\x0c\n\x04\x62\x65ta\x18\x07 \x01(\x02\x12\x1d\n\x15multiply_linear_by_lr\x18\x06 \x01(\x08\x12\"\n\x16\x61llow_zero_accumulator\x18\x08 \x01(\x08\x42\x02\x18\x01J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06R\rinitial_accumR\x0einitial_linear\"\x99\x01\n\x0e\x41\x64\x61mParameters\x12\r\n\x05\x62\x65ta1\x18\x03 \x01(\x02\x12\r\n\x05\x62\x65ta2\x18\x04 \x01(\x02\x12\x0f\n\x07\x65psilon\x18\x05 \x01(\x02\x12\x19\n\x11use_non_lazy_adam\x18\x08 \x01(\x08\x12\x1b\n\x13use_sum_inside_sqrt\x18\n \x01(\x08J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08R\tinitial_mR\tinitial_v\"Q\n\x12MomentumParameters\x12\x10\n\x08momentum\x18\x01 \x01(\x02\x12\x14\n\x0cuse_nesterov\x18\x02 \x01(\x08J\x04\x08\x03\x10\x04R\rinitial_accum\"I\n\x0eLionParameters\x12\r\n\x05\x62\x65ta1\x18\x01 \x01(\x02\x12\r\n\x05\x62\x65ta2\x18\x02 \x01(\x02\x12\x19\n\x11use_non_lazy_lion\x18\x03 \x01(\x08\"h\n\x11RmsPropParameters\x12\x0b\n\x03rho\x18\x01 \x01(\x02\x12\x10\n\x08momentum\x18\x02 \x01(\x02\x12\x0f\n\x07\x65psilon\x18\x03 \x01(\x02J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06R\ninitial_msR\x0binitial_mom\"\x82\x01\n\x19\x43\x65nteredRmsPropParameters\x12\x0b\n\x03rho\x18\x01 \x01(\x02\x12\x10\n\x08momentum\x18\x02 \x01(\x02\x12\x0f\n\x07\x65psilon\x18\x03 \x01(\x02J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07R\ninitial_msR\x0binitial_momR\ninitial_mg\"\x9d\x03\n\x19MdlAdagradLightParameters\x12\n\n\x02l2\x18\x01 \x01(\x02\x12\x10\n\x08lr_power\x18\x02 \x01(\x02\x12 \n\x18min_servable_mdl_benefit\x18\x03 \x01(\x02\x12\x19\n\x11mdl_mix_in_margin\x18\x04 \x01(\x02\x12 \n\x18mdl_benefit_rampup_coeff\x18\x05 \x01(\x02\x12\x16\n\x0emdl_min_weight\x18\x06 \x01(\x02\x12\x1d\n\x15\x62\x65nefit_revisit_scale\x18\x07 \x01(\x02\x12\x19\n\x11max_event_benefit\x18\x08 \x01(\x02\x12\x19\n\x11max_total_benefit\x18\t \x01(\x02\x12\x16\n\x0emdl_hard_limit\x18\n \x01(\x02\x12\x1e\n\x16hard_limit_min_benefit\x18\x0b \x01(\x08\x12\x16\n\x0emdl_regularize\x18\x0c \x01(\x08J\x04\x08\r\x10\x0eJ\x04\x08\x0e\x10\x0fJ\x04\x08\x0f\x10\x10R\x13initial_accumulatorR\x0einitial_weightR\x0finitial_benefit\"c\n\x12\x41\x64\x61\x64\x65ltaParameters\x12\x0b\n\x03rho\x18\x01 \x01(\x02\x12\x0f\n\x07\x65psilon\x18\x02 \x01(\x02J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05R\x13initial_accumulatorR\x0einitial_update\"N\n\x19ProximalAdagradParameters\x12\n\n\x02l1\x18\x01 \x01(\x02\x12\n\n\x02l2\x18\x02 \x01(\x02J\x04\x08\x03\x10\x04R\x13initial_accumulator\"I\n\x14OnlineYogiParameters\x12\n\n\x02l1\x18\x01 \x01(\x02\x12\n\n\x02l2\x18\x02 \x01(\x02\x12\r\n\x05\x62\x65ta2\x18\x03 \x01(\x02J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08\"k\n\x16ProximalYogiParameters\x12\n\n\x02l1\x18\x01 \x01(\x02\x12\n\n\x02l2\x18\x02 \x01(\x02\x12\r\n\x05\x62\x65ta1\x18\x03 \x01(\x02\x12\r\n\x05\x62\x65ta2\x18\x04 \x01(\x02\x12\x0f\n\x07\x65psilon\x18\x05 \x01(\x02J\x04\x08\x08\x10\tJ\x04\x08\t\x10\n\"r\n\x1c\x46requencyEstimatorParameters\x12\x0b\n\x03tau\x18\x01 \x01(\x02\x12\x11\n\tmax_delta\x18\x02 \x01(\x02\x12\x19\n\x11outlier_threshold\x18\x03 \x01(\x02\x12\x17\n\x0fweight_exponent\x18\x04 \x01(\x02\"J\n\x1cUserDefinedProgramParameters\x12$\n\x07program\x18\x01 \x01(\x0b\x32\x13.xla.HloModuleProtoJ\x04\x08\x02\x10\x03\"\x12\n\x10\x41ssignParameters\"R\n\x1aGradientAccumulationStatus\"4\n\x06Status\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\"S\n\x1bLowDimensionalPackingStatus\"4\n\x06Status\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\"\xaf\x01\n\x1dHotIdReplicationConfiguration\x12\x44\n\x06status\x18\x01 \x01(\x0e\x32\x34.tensorflow.tpu.HotIdReplicationConfiguration.Status\"H\n\x06Status\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\x12\n\x0eMIGRATION_ONLY\x10\x03\"\xd8\x0e\n\x16OptimizationParameters\x12\x33\n\rlearning_rate\x18\r \x01(\x0b\x32\x1c.tensorflow.tpu.LearningRate\x12\x37\n\x0f\x63lipping_limits\x18\x02 \x01(\x0b\x32\x1e.tensorflow.tpu.ClippingLimits\x12@\n\x18gradient_clipping_limits\x18\x07 \x01(\x0b\x32\x1e.tensorflow.tpu.ClippingLimits\x12\x1b\n\x13weight_decay_factor\x18\x10 \x01(\x02\x12\x35\n-multiply_weight_decay_factor_by_learning_rate\x18\x16 \x01(\x08\x12\x45\n\x16simulated_quantization\x18\x1b \x01(\x0b\x32%.tensorflow.tpu.SimulatedQuantization\x12W\n\x1cgradient_accumulation_status\x18\x11 \x01(\x0e\x32\x31.tensorflow.tpu.GradientAccumulationStatus.Status\x12Z\n\x1elow_dimensional_packing_status\x18\x1c \x01(\x0e\x32\x32.tensorflow.tpu.LowDimensionalPackingStatus.Status\x12W\n hot_id_replication_configuration\x18\x12 \x01(\x0b\x32-.tensorflow.tpu.HotIdReplicationConfiguration\x12\x34\n\x07\x61\x64\x61grad\x18\x03 \x01(\x0b\x32!.tensorflow.tpu.AdagradParametersH\x00\x12\x45\n\x10\x61\x64\x61grad_momentum\x18\x1a \x01(\x0b\x32).tensorflow.tpu.AdagradMomentumParametersH\x00\x12\x43\n\x0f\x62ounded_adagrad\x18\x13 \x01(\x0b\x32(.tensorflow.tpu.BoundedAdagradParametersH\x00\x12R\n\x17\x66requency_aware_adagrad\x18\x1e \x01(\x0b\x32/.tensorflow.tpu.FrequencyAwareAdagradParametersH\x00\x12Z\n\x1bstochastic_gradient_descent\x18\x04 \x01(\x0b\x32\x33.tensorflow.tpu.StochasticGradientDescentParametersH\x00\x12.\n\x04\x66trl\x18\x05 \x01(\x0b\x32\x1e.tensorflow.tpu.FtrlParametersH\x00\x12.\n\x04\x61\x64\x61m\x18\x06 \x01(\x0b\x32\x1e.tensorflow.tpu.AdamParametersH\x00\x12\x36\n\x08momentum\x18\x08 \x01(\x0b\x32\".tensorflow.tpu.MomentumParametersH\x00\x12.\n\x04lion\x18\x1d \x01(\x0b\x32\x1e.tensorflow.tpu.LionParametersH\x00\x12\x35\n\x08rms_prop\x18\t \x01(\x0b\x32!.tensorflow.tpu.RmsPropParametersH\x00\x12\x46\n\x11\x63\x65ntered_rms_prop\x18\n \x01(\x0b\x32).tensorflow.tpu.CenteredRmsPropParametersH\x00\x12\x46\n\x11mdl_adagrad_light\x18\x0b \x01(\x0b\x32).tensorflow.tpu.MdlAdagradLightParametersH\x00\x12\x36\n\x08\x61\x64\x61\x64\x65lta\x18\x0c \x01(\x0b\x32\".tensorflow.tpu.AdadeltaParametersH\x00\x12\x45\n\x10proximal_adagrad\x18\x0e \x01(\x0b\x32).tensorflow.tpu.ProximalAdagradParametersH\x00\x12;\n\x0bonline_yogi\x18\x14 \x01(\x0b\x32$.tensorflow.tpu.OnlineYogiParametersH\x00\x12?\n\rproximal_yogi\x18\x15 \x01(\x0b\x32&.tensorflow.tpu.ProximalYogiParametersH\x00\x12K\n\x13\x66requency_estimator\x18\x17 \x01(\x0b\x32,.tensorflow.tpu.FrequencyEstimatorParametersH\x00\x12L\n\x14user_defined_program\x18\x18 \x01(\x0b\x32,.tensorflow.tpu.UserDefinedProgramParametersH\x00\x12\x32\n\x06\x61ssign\x18\x19 \x01(\x0b\x32 .tensorflow.tpu.AssignParametersH\x00\x42\x0c\n\nparametersJ\x04\x08\x01\x10\x02J\x04\x08\x0f\x10\x10\"\x9e\x02\n\x1aStateVariableSpecification\x12\x0c\n\x04name\x18\x01 \x01(\t\x12N\n\x0cuser_defined\x18\x02 \x01(\x0b\x32\x36.tensorflow.tpu.StateVariableSpecification.UserDefinedH\x00\x12Y\n\x12\x66ill_with_constant\x18\x03 \x01(\x0b\x32;.tensorflow.tpu.StateVariableSpecification.FillWithConstantH\x00\x1a\x13\n\x0bUserDefinedJ\x04\x08\x01\x10\x02\x1a)\n\x10\x46illWithConstant\x12\x15\n\rinitial_value\x18\x01 \x01(\x01\x42\x07\n\x05usageb\x06proto3')

_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tensorflow.core.protobuf.tpu.optimization_parameters_pb2', globals())
if _descriptor._USE_C_DESCRIPTORS == False:

  DESCRIPTOR._options = None
  _FTRLPARAMETERS.fields_by_name['allow_zero_accumulator']._options = None
  _FTRLPARAMETERS.fields_by_name['allow_zero_accumulator']._serialized_options = b'\030\001'
  _CLIPPINGLIMITS._serialized_start=133
  _CLIPPINGLIMITS._serialized_end=237
  _SIMULATEDQUANTIZATION._serialized_start=239
  _SIMULATEDQUANTIZATION._serialized_end=357
  _OPTIMIZERDYNAMICINPUT._serialized_start=359
  _OPTIMIZERDYNAMICINPUT._serialized_end=395
  _LEARNINGRATE._serialized_start=397
  _LEARNINGRATE._serialized_end=506
  _ADAGRADPARAMETERS._serialized_start=508
  _ADAGRADPARAMETERS._serialized_end=554
  _ADAGRADMOMENTUMPARAMETERS._serialized_start=556
  _ADAGRADMOMENTUMPARAMETERS._serialized_end=673
  _BOUNDEDADAGRADPARAMETERS._serialized_start=675
  _BOUNDEDADAGRADPARAMETERS._serialized_end=784
  _FREQUENCYAWAREADAGRADPARAMETERS._serialized_start=787
  _FREQUENCYAWAREADAGRADPARAMETERS._serialized_end=1072
  _STOCHASTICGRADIENTDESCENTPARAMETERS._serialized_start=1074
  _STOCHASTICGRADIENTDESCENTPARAMETERS._serialized_end=1111
  _FTRLPARAMETERS._serialized_start=1114
  _FTRLPARAMETERS._serialized_end=1296
  _ADAMPARAMETERS._serialized_start=1299
  _ADAMPARAMETERS._serialized_end=1452
  _MOMENTUMPARAMETERS._serialized_start=1454
  _MOMENTUMPARAMETERS._serialized_end=1535
  _LIONPARAMETERS._serialized_start=1537
  _LIONPARAMETERS._serialized_end=1610
  _RMSPROPPARAMETERS._serialized_start=1612
  _RMSPROPPARAMETERS._serialized_end=1716
  _CENTEREDRMSPROPPARAMETERS._serialized_start=1719
  _CENTEREDRMSPROPPARAMETERS._serialized_end=1849
  _MDLADAGRADLIGHTPARAMETERS._serialized_start=1852
  _MDLADAGRADLIGHTPARAMETERS._serialized_end=2265
  _ADADELTAPARAMETERS._serialized_start=2267
  _ADADELTAPARAMETERS._serialized_end=2366
  _PROXIMALADAGRADPARAMETERS._serialized_start=2368
  _PROXIMALADAGRADPARAMETERS._serialized_end=2446
  _ONLINEYOGIPARAMETERS._serialized_start=2448
  _ONLINEYOGIPARAMETERS._serialized_end=2521
  _PROXIMALYOGIPARAMETERS._serialized_start=2523
  _PROXIMALYOGIPARAMETERS._serialized_end=2630
  _FREQUENCYESTIMATORPARAMETERS._serialized_start=2632
  _FREQUENCYESTIMATORPARAMETERS._serialized_end=2746
  _USERDEFINEDPROGRAMPARAMETERS._serialized_start=2748
  _USERDEFINEDPROGRAMPARAMETERS._serialized_end=2822
  _ASSIGNPARAMETERS._serialized_start=2824
  _ASSIGNPARAMETERS._serialized_end=2842
  _GRADIENTACCUMULATIONSTATUS._serialized_start=2844
  _GRADIENTACCUMULATIONSTATUS._serialized_end=2926
  _GRADIENTACCUMULATIONSTATUS_STATUS._serialized_start=2874
  _GRADIENTACCUMULATIONSTATUS_STATUS._serialized_end=2926
  _LOWDIMENSIONALPACKINGSTATUS._serialized_start=2928
  _LOWDIMENSIONALPACKINGSTATUS._serialized_end=3011
  _LOWDIMENSIONALPACKINGSTATUS_STATUS._serialized_start=2874
  _LOWDIMENSIONALPACKINGSTATUS_STATUS._serialized_end=2926
  _HOTIDREPLICATIONCONFIGURATION._serialized_start=3014
  _HOTIDREPLICATIONCONFIGURATION._serialized_end=3189
  _HOTIDREPLICATIONCONFIGURATION_STATUS._serialized_start=3117
  _HOTIDREPLICATIONCONFIGURATION_STATUS._serialized_end=3189
  _OPTIMIZATIONPARAMETERS._serialized_start=3192
  _OPTIMIZATIONPARAMETERS._serialized_end=5072
  _STATEVARIABLESPECIFICATION._serialized_start=5075
  _STATEVARIABLESPECIFICATION._serialized_end=5361
  _STATEVARIABLESPECIFICATION_USERDEFINED._serialized_start=5290
  _STATEVARIABLESPECIFICATION_USERDEFINED._serialized_end=5309
  _STATEVARIABLESPECIFICATION_FILLWITHCONSTANT._serialized_start=5311
  _STATEVARIABLESPECIFICATION_FILLWITHCONSTANT._serialized_end=5352
# @@protoc_insertion_point(module_scope)
