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 словаря.
| Возвращаемое значение | |
|---|---|
| Сериализуемый в JSON словарь Python. |
__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