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.3/api_docs/python/tf/compat/v1/keras/initializers/Constant