tf.compat.v1.keras.initializers.Constant
Инициализатор, генерирующий тензоры с постоянными значениями.
tf.compat.v1.keras.initializers.Constant(
value=0, dtype=tf.dtypes.float32, verify_shape=False
)
Полученный тензор заполняется значениями типа dtype, как указано в аргументах value в соответствии с желаемой shape нового тензора (см. примеры ниже).
Аргумент value может быть константным значением или списком значений типа dtype. Если value является списком, то длина списка должна быть меньше или равна количеству элементов, подразумеваемому желаемой формой тензора. В случае, если общее количество элементов в value меньше, чем количество элементов, необходимое для формы тензора, последнее значение в value используется для заполнения оставшихся элементов. Если общее количество элементов в value больше, чем количество элементов, необходимое для формы тензора, инициализатор выдаст ValueError.
| Аргументы | |
|---|---|
value | Скалярное значение Python, список или кортеж значений или N-мерный массив numpy. Все элементы инициализируемой переменной будут установлены в соответствующее значение в аргументе value. |
dtype | Типовое значение по умолчанию, используемое, если аргумент dtype не указан при вызове инициализатора. |
verify_shape | Логическое значение, которое включает проверку формы value. Если True, инициализатор выдаст ошибку, если форма value не совместима с формой инициализируемого тензора. |
| Исключения | |
|---|---|
TypeError | Если вход value не соответствует ожидаемому типу. |
Примеры:
Следующий пример можно переписать с использованием numpy.ndarray вместо value списка, даже с изменением формы, как показано в двух комментариях ниже инициализации value списка.
value = [0, 1, 2, 3, 4, 5, 6, 7]
init = tf.compat.v1.constant_initializer(value)
# fitting shape
with tf.compat.v1.Session():
x = tf.compat.v1.get_variable('x', shape=[2, 4], initializer=init)
x.initializer.run()
print(x.eval())
[[0. 1. 2. 3.]
[4. 5. 6. 7.]]
# Larger shape
with tf.compat.v1.Session():
y = tf.compat.v1.get_variable('y', shape=[3, 4], initializer=init)
y.initializer.run()
print(y.eval())
[[0. 1. 2. 3.]
[4. 5. 6. 7.]
[7. 7. 7. 7.]]
# Smaller shape
with tf.compat.v1.Session():
z = tf.compat.v1.get_variable('z', shape=[2, 3], initializer=init)
Traceback (most recent call last):
ValueError: Too many elements provided. Needed at most 6, but received 8
# Shape verification
init_verify = tf.compat.v1.constant_initializer(value, verify_shape=True)
with tf.compat.v1.Session():
u = tf.compat.v1.get_variable('u', shape=[3, 4],
initializer=init_verify)
Traceback (most recent call last):
TypeError: Expected Tensor's shape: (3, 4), got (8,).
Методы
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, partition_info=None, verify_shape=None
)
Возвращает объект тензора, инициализированный в соответствии с указаниями инициализатора.
| Аргументы | |
|---|---|
shape | Форма тензора. |
dtype | Необязательный тип данных тензора. Если не указан, используется тип данных инициализатора. |
partition_info | Необязательная информация о возможном разбиении тензора. |
© 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.4/api_docs/python/tf/compat/v1/keras/initializers/Constant