tf.keras.saving.register_keras_serializable

Registers an object with the Keras serialization framework.

This decorator injects the decorated class or function into the Keras custom object dictionary, so that it can be serialized and deserialized without needing an entry in the user-provided custom object dict. It also injects a function that Keras will call to get the object's serializable string key.

Note that to be serialized and deserialized, classes must implement the get_config() method. Functions do not have this requirement.

The object will be registered under the key 'package>name' where name, defaults to the object name if not passed.

Example:

# Note that `'my_package'` is used as the `package` argument here, and since
# the `name` argument is not provided, `'MyDense'` is used as the `name`.
@keras.saving.register_keras_serializable('my_package')
class MyDense(keras.layers.Dense):
  pass

assert keras.saving.get_registered_object('my_package>MyDense') == MyDense
assert keras.saving.get_registered_name(MyDense) == 'my_package>MyDense'

package The package that this class belongs to. This is used for the key (which is "package>name") to idenfify the class. Note that this is the first argument passed into the decorator.
name The name to serialize this class under in this package. If not provided or None, the class' name will be used (note that this is the case when the decorator is used with only one argument, which becomes the package).

A decorator that registers the decorated class with the passed names.