tf.keras.initializers.Initializer
| Просмотреть исходный код на GitHub |
Базовый класс инициализатора: все инициализаторы Keras наследуют от этого класса.
Инициализаторы должны реализовывать метод __call__ со следующей подписью:
def __call__(self, shape, dtype=None)`: # returns a tensor of shape `shape` and dtype `dtype` # containing values drawn from a distribution of your choice.
Необязательно, вы также можете реализовать метод get_config и метод класса from_config, чтобы обеспечить поддержку сериализации — точно так же, как и с любым объектом Keras.
Вот простой пример: инициализатор случайного нормального распределения.
import tensorflow as tf
class ExampleRandomNormal(tf.keras.initializers.Initializer):
def __init__(self, mean, stddev):
self.mean = mean
self.stddev = stddev
def __call__(self, shape, dtype=None)`:
return tf.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 работает без проблем.
Методы
from_config
@classmethod
from_config(
config
)
Инициализирует инициализатор из словаря конфигурации.
Пример:
initializer = RandomUniform(-1, 1) config = initializer.get_config() initializer = RandomUniform.from_config(config)
| Аргументы | |
|---|---|
config | Словарь Python, результат работы get_config. |
| Возвращаемое значение | |
|---|---|
Экземпляр tf.keras.initializers.Initializer. |
get_config
get_config()
Возвращает конфигурацию инициализатора в виде сериализуемого в JSON словаря.
| Возвращаемое значение | |
|---|---|
| Сериализуемый в JSON словарь Python. |
__call__
__call__(
shape, dtype=None
)
Возвращает тензор, инициализированный в соответствии со спецификацией инициализатора.
| Аргументы | |
|---|---|
shape | Форма тензора. |
dtype | Необязательный тип данных тензора. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/keras/initializers/Initializer