View source on GitHub
|
Performs spectral normalization on the weights of a target layer.
Inherits From: Wrapper, Layer, Operation
tf.keras.layers.SpectralNormalization(
layer, power_iterations=1, **kwargs
)
This wrapper controls the Lipschitz constant of the weights of a layer by constraining their spectral norm, which can stabilize the training of GANs.
Args | |
|---|---|
layer
|
A keras.layers.Layer instance that
has either a kernel (e.g. Conv2D, Dense...)
or an embeddings attribute (Embedding layer).
|
power_iterations
|
int, the number of iterations during normalization. |
**kwargs
|
Base wrapper keyword arguments. |
Examples:
Wrap keras.layers.Conv2D:
>>> x = np.random.rand(1, 10, 10, 1)
>>> conv2d = SpectralNormalization(keras.layers.Conv2D(2, 2))
>>> y = conv2d(x)
>>> y.shape
(1, 9, 9, 2)
Wrap keras.layers.Dense:
>>> x = np.random.rand(1, 10, 10, 1)
>>> dense = SpectralNormalization(keras.layers.Dense(10))
>>> y = dense(x)
>>> y.shape
(1, 10, 10, 10)
Reference:
Methods
from_config
@classmethodfrom_config( config, custom_objects=None )
Creates an operation from its config.
This method is the reverse of get_config, capable of instantiating the
same operation from the config dictionary.
if "dtype" in config and isinstance(config["dtype"], dict):
policy = dtype_policies.deserialize(config["dtype"])
| Args | |
|---|---|
config
|
A Python dictionary, typically the output of get_config.
|
| Returns | |
|---|---|
| An operation instance. |
normalized_weights
normalized_weights()
Generate spectral normalized weights.
This method returns the updated value for self.kernel with the
spectral normalized value, so that the layer is ready for call().
View source on GitHub