tf.keras.layers.SpectralNormalization
Выполняет спектральную нормализацию весов целевого слоя.
Наследует от: Wrapper, Layer, Operation
tf.keras.layers.SpectralNormalization(
layer, power_iterations=1, **kwargs
)
Эта обёртка ограничивает константу Липшица весов слоя, ограничивая их спектральную норму, что может стабилизировать обучение GAN.
| Аргументы | |
|---|---|
layer | Экземпляр keras.layers.Layer, имеющий атрибут kernel (например, Conv2D, Dense...) или атрибут embeddings (слой Embedding). |
power_iterations | int, количество итераций при нормализации. |
**kwargs | Аргументы-ключевые слова базовой обёртки. |
Примеры:
Обёртка для 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)
Обёртка для 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)
Ссылка:
| Атрибуты | |
|---|---|
input | Возвращает входной тензор (тензоры) символьной операции. Возвращает только тензор (тензоры), соответствующий первому вызову операции. |
output | Возвращает выходной тензор (тензоры) слоя. Возвращает только тензор (тензоры), соответствующий первому вызову операции. |
Методы
from_config
@classmethod
from_config(
config, custom_objects=None
)
Создаёт слой на основе его конфигурации.
Этот метод является обратным по отношению к get_config и позволяет создать экземпляр того же слоя из словаря конфигурации. Он не обрабатывает связи между слоями (этим занимается Network) и веса (этим занимается set_weights).
| Аргументы | |
|---|---|
config | Словарь Python, обычно являющийся результатом вызова get_config. |
| Возвращает | |
|---|---|
| Экземпляр слоя. |
normalized_weights
normalized_weights()
Вычисляет веса со спектральной нормализацией.
Этот метод возвращает обновлённое значение для self.kernel со спектрально нормализованными весами, чтобы слой был готов к call().
symbolic_call
symbolic_call(
*args, **kwargs
)
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/keras/layers/SpectralNormalization