diff --git a/keras/api/BUILD b/keras/api/BUILD index 3e7f3b569..e1acbbe25 100644 --- a/keras/api/BUILD +++ b/keras/api/BUILD @@ -95,6 +95,7 @@ keras_packages = [ "keras.optimizers.optimizer_experimental.adagrad", "keras.optimizers.optimizer_experimental.adam", "keras.optimizers.optimizer_experimental.adamax", + "keras.optimizers.optimizer_experimental.ftrl", "keras.optimizers.optimizer_experimental.sgd", "keras.optimizers.optimizer_experimental.optimizer", "keras.optimizers.optimizer_experimental.rmsprop", diff --git a/keras/api/golden/v2/tensorflow.keras.optimizers.experimental.-ftrl.pbtxt b/keras/api/golden/v2/tensorflow.keras.optimizers.experimental.-ftrl.pbtxt new file mode 100644 index 000000000..228302beb --- /dev/null +++ b/keras/api/golden/v2/tensorflow.keras.optimizers.experimental.-ftrl.pbtxt @@ -0,0 +1,98 @@ +path: "tensorflow.keras.optimizers.experimental.Ftrl" +tf_class { + is_instance: "" + is_instance: "" + is_instance: "" + is_instance: "" + is_instance: "" + is_instance: "" + is_instance: "" + member { + name: "iterations" + mtype: "" + } + member { + name: "learning_rate" + mtype: "" + } + member { + name: "lr" + mtype: "" + } + member { + name: "name" + mtype: "" + } + member { + name: "name_scope" + mtype: "" + } + member { + name: "non_trainable_variables" + mtype: "" + } + member { + name: "submodules" + mtype: "" + } + member { + name: "trainable_variables" + mtype: "" + } + member { + name: "variables" + mtype: "" + } + member_method { + name: "__init__" + argspec: "args=[\'self\', \'learning_rate\', \'learning_rate_power\', \'initial_accumulator_value\', \'l1_regularization_strength\', \'l2_regularization_strength\', \'l2_shrinkage_regularization_strength\', \'beta\', \'clipnorm\', \'clipvalue\', \'global_clipnorm\', \'use_ema\', \'ema_momentum\', \'ema_overwrite_frequency\', \'jit_compile\', \'name\'], varargs=None, keywords=kwargs, defaults=[\'0.001\', \'-0.5\', \'0.1\', \'0.0\', \'0.0\', \'0.0\', \'0.0\', \'None\', \'None\', \'None\', \'False\', \'0.99\', \'None\', \'False\', \'Ftrl\'], " + } + member_method { + name: "add_variable" + argspec: "args=[\'self\', \'shape\', \'dtype\', \'initializer\', \'name\'], varargs=None, keywords=None, defaults=[\'None\', \'zeros\', \'None\'], " + } + member_method { + name: "add_variable_from_reference" + argspec: "args=[\'self\', \'model_variable\', \'variable_name\', \'initial_value\'], varargs=None, keywords=None, defaults=[\'None\'], " + } + member_method { + name: "aggregate_gradients" + argspec: "args=[\'self\', \'grads_and_vars\'], varargs=None, keywords=None, defaults=None" + } + member_method { + name: "apply_gradients" + argspec: "args=[\'self\', \'grads_and_vars\', \'skip_gradients_aggregation\'], varargs=None, keywords=None, defaults=[\'False\'], " + } + member_method { + name: "build" + argspec: "args=[\'self\', \'var_list\'], varargs=None, keywords=None, defaults=None" + } + member_method { + name: "compute_gradients" + argspec: "args=[\'self\', \'loss\', \'var_list\', \'tape\'], varargs=None, keywords=None, defaults=[\'None\'], " + } + member_method { + name: "finalize_variable_values" + argspec: "args=[\'self\', \'var_list\'], varargs=None, keywords=None, defaults=None" + } + member_method { + name: "from_config" + argspec: "args=[\'cls\', \'config\'], varargs=None, keywords=None, defaults=None" + } + member_method { + name: "get_config" + argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None" + } + member_method { + name: "minimize" + argspec: "args=[\'self\', \'loss\', \'var_list\', \'tape\'], varargs=None, keywords=None, defaults=[\'None\'], " + } + member_method { + name: "update_step" + argspec: "args=[\'self\', \'gradient\', \'variable\'], varargs=None, keywords=None, defaults=None" + } + member_method { + name: "with_name_scope" + argspec: "args=[\'cls\', \'method\'], varargs=None, keywords=None, defaults=None" + } +} diff --git a/keras/api/golden/v2/tensorflow.keras.optimizers.experimental.pbtxt b/keras/api/golden/v2/tensorflow.keras.optimizers.experimental.pbtxt index 16e3992a8..0ac38f277 100644 --- a/keras/api/golden/v2/tensorflow.keras.optimizers.experimental.pbtxt +++ b/keras/api/golden/v2/tensorflow.keras.optimizers.experimental.pbtxt @@ -20,6 +20,10 @@ tf_module { name: "Adamax" mtype: "" } + member { + name: "Ftrl" + mtype: "" + } member { name: "Optimizer" mtype: "" diff --git a/keras/optimizers/__init__.py b/keras/optimizers/__init__.py index 9b5ecea21..58b342f18 100644 --- a/keras/optimizers/__init__.py +++ b/keras/optimizers/__init__.py @@ -27,6 +27,7 @@ from keras.optimizers.optimizer_experimental import adagrad as adagrad_experimen from keras.optimizers.optimizer_experimental import adam as adam_experimental from keras.optimizers.optimizer_experimental import adamax as adamax_experimental from keras.optimizers.optimizer_experimental import adamw as adamw_experimental +from keras.optimizers.optimizer_experimental import ftrl as ftrl_experimental from keras.optimizers.optimizer_experimental import rmsprop as rmsprop_experimental from keras.optimizers.optimizer_experimental import sgd as sgd_experimental from keras.optimizers.optimizer_v1 import Optimizer diff --git a/keras/optimizers/optimizer_experimental/ftrl.py b/keras/optimizers/optimizer_experimental/ftrl.py index 78adf1a20..1858defdf 100644 --- a/keras/optimizers/optimizer_experimental/ftrl.py +++ b/keras/optimizers/optimizer_experimental/ftrl.py @@ -17,10 +17,13 @@ from keras.optimizers.optimizer_experimental import optimizer from keras.utils import generic_utils import tensorflow.compat.v2 as tf +# pylint: disable=g-direct-tensorflow-import +from tensorflow.python.util.tf_export import keras_export # pylint: disable=g-classes-have-attributes @generic_utils.register_keras_serializable() +@keras_export('keras.optimizers.experimental.Ftrl', v1=[]) class Ftrl(optimizer.Optimizer): r"""Optimizer that implements the FTRL algorithm.