SpectralNormalization classkeras.layers.SpectralNormalization(layer, power_iterations=1, **kwargs) Performs spectral normalization on the weights of a target layer.
This wrapper controls the Lipschitz constant of the weights of a layer by constraining their spectral norm, which can stabilize the training of GANs.
Arguments
keras.layers.Layer instance that has either a kernel (e.g. Conv2D, Dense...) or an embeddings attribute (Embedding layer).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