tf.keras.Initializer
Базовый класс инициализаторов: все инициализаторы Keras наследуются от этого класса.
Инициализаторы должны реализовывать метод __call__() со следующей сигнатурой:
def __call__(self, shape, dtype=None, **kwargs):
# returns a tensor of shape `shape` and dtype `dtype`
# containing values drawn from a distribution of your choice.
При желании вы также можете реализовать метод get_config() и метод класса from_config для поддержки сериализации — так же, как и для любого объекта Keras.
Вот простой пример: инициализатор со случайным нормальным распределением.
class ExampleRandomNormal(Initializer):
def __init__(self, mean, stddev):
self.mean = mean
self.stddev = stddev
def __call__(self, shape, dtype=None, **kwargs):
return keras.random.normal(
shape, mean=self.mean, stddev=self.stddev, dtype=dtype
)
def get_config(self): # To support serialization
return {"mean": self.mean, "stddev": self.stddev}
Обратите внимание, что в приведенном выше примере нам не нужно реализовывать from_config(), поскольку аргументы конструктора класса совпадают с ключами конфигурации, возвращаемой методом get_config(). В этом случае стандартная реализация from_config() работает корректно.
Методы
clone
clone()
from_config
@classmethod
from_config(
config
)
Создает экземпляр инициализатора на основе словаря конфигурации.
Пример:
initializer = RandomUniform(-1, 1) config = initializer.get_config() initializer = RandomUniform.from_config(config)
| Аргументы | |
|---|---|
config | Словарь Python — результат вызова get_config(). |
| Возвращает | |
|---|---|
Экземпляр Initializer. |
get_config
get_config()
Возвращает конфигурацию инициализатора в виде словаря, сериализуемого в JSON.
| Возвращает | |
|---|---|
| Словарь Python, сериализуемый в JSON. |
__call__
__call__(
shape, dtype=None
)
Возвращает тензор, инициализированный указанным инициализатором.
| Аргументы | |
|---|---|
shape | Форма тензора. |
dtype | Необязательный тип данных тензора. |
© 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/Initializer