# -*- 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 tensorflow_dot_compiler_dot_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)tensorflow/compiler/xla/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\x13\x44ynamicLearningRate\x12\x0b\n\x03tag\x18\x01 \x01(\x05\"k\n\x0cLearningRate\x12\x12\n\x08\x63onstant\x18\x01 \x01(\x02H\x00\x12\x36\n\x07\x64ynamic\x18\x02 \x01(\x0b\x32#.tensorflow.tpu.DynamicLearningRateH\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\"%\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\"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\"\xd4\r\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\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\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=153
  _CLIPPINGLIMITS._serialized_end=257
  _SIMULATEDQUANTIZATION._serialized_start=259
  _SIMULATEDQUANTIZATION._serialized_end=377
  _DYNAMICLEARNINGRATE._serialized_start=379
  _DYNAMICLEARNINGRATE._serialized_end=413
  _LEARNINGRATE._serialized_start=415
  _LEARNINGRATE._serialized_end=522
  _ADAGRADPARAMETERS._serialized_start=524
  _ADAGRADPARAMETERS._serialized_end=570
  _ADAGRADMOMENTUMPARAMETERS._serialized_start=572
  _ADAGRADMOMENTUMPARAMETERS._serialized_end=689
  _BOUNDEDADAGRADPARAMETERS._serialized_start=691
  _BOUNDEDADAGRADPARAMETERS._serialized_end=800
  _STOCHASTICGRADIENTDESCENTPARAMETERS._serialized_start=802
  _STOCHASTICGRADIENTDESCENTPARAMETERS._serialized_end=839
  _FTRLPARAMETERS._serialized_start=842
  _FTRLPARAMETERS._serialized_end=1024
  _ADAMPARAMETERS._serialized_start=1027
  _ADAMPARAMETERS._serialized_end=1180
  _MOMENTUMPARAMETERS._serialized_start=1182
  _MOMENTUMPARAMETERS._serialized_end=1263
  _RMSPROPPARAMETERS._serialized_start=1265
  _RMSPROPPARAMETERS._serialized_end=1369
  _CENTEREDRMSPROPPARAMETERS._serialized_start=1372
  _CENTEREDRMSPROPPARAMETERS._serialized_end=1502
  _MDLADAGRADLIGHTPARAMETERS._serialized_start=1505
  _MDLADAGRADLIGHTPARAMETERS._serialized_end=1918
  _ADADELTAPARAMETERS._serialized_start=1920
  _ADADELTAPARAMETERS._serialized_end=2019
  _PROXIMALADAGRADPARAMETERS._serialized_start=2021
  _PROXIMALADAGRADPARAMETERS._serialized_end=2099
  _ONLINEYOGIPARAMETERS._serialized_start=2101
  _ONLINEYOGIPARAMETERS._serialized_end=2174
  _PROXIMALYOGIPARAMETERS._serialized_start=2176
  _PROXIMALYOGIPARAMETERS._serialized_end=2283
  _FREQUENCYESTIMATORPARAMETERS._serialized_start=2285
  _FREQUENCYESTIMATORPARAMETERS._serialized_end=2399
  _USERDEFINEDPROGRAMPARAMETERS._serialized_start=2401
  _USERDEFINEDPROGRAMPARAMETERS._serialized_end=2475
  _ASSIGNPARAMETERS._serialized_start=2477
  _ASSIGNPARAMETERS._serialized_end=2495
  _GRADIENTACCUMULATIONSTATUS._serialized_start=2497
  _GRADIENTACCUMULATIONSTATUS._serialized_end=2579
  _GRADIENTACCUMULATIONSTATUS_STATUS._serialized_start=2527
  _GRADIENTACCUMULATIONSTATUS_STATUS._serialized_end=2579
  _LOWDIMENSIONALPACKINGSTATUS._serialized_start=2581
  _LOWDIMENSIONALPACKINGSTATUS._serialized_end=2664
  _LOWDIMENSIONALPACKINGSTATUS_STATUS._serialized_start=2527
  _LOWDIMENSIONALPACKINGSTATUS_STATUS._serialized_end=2579
  _HOTIDREPLICATIONCONFIGURATION._serialized_start=2667
  _HOTIDREPLICATIONCONFIGURATION._serialized_end=2842
  _HOTIDREPLICATIONCONFIGURATION_STATUS._serialized_start=2770
  _HOTIDREPLICATIONCONFIGURATION_STATUS._serialized_end=2842
  _OPTIMIZATIONPARAMETERS._serialized_start=2845
  _OPTIMIZATIONPARAMETERS._serialized_end=4593
  _STATEVARIABLESPECIFICATION._serialized_start=4596
  _STATEVARIABLESPECIFICATION._serialized_end=4882
  _STATEVARIABLESPECIFICATION_USERDEFINED._serialized_start=4811
  _STATEVARIABLESPECIFICATION_USERDEFINED._serialized_end=4830
  _STATEVARIABLESPECIFICATION_FILLWITHCONSTANT._serialized_start=4832
  _STATEVARIABLESPECIFICATION_FILLWITHCONSTANT._serialized_end=4873
# @@protoc_insertion_point(module_scope)
