tf.compat.v2.keras.initializers.Constant
Инициализатор, генерирующий тензоры с постоянными значениями.
Наследуется от: Initializer
tf.compat.v2.keras.initializers.Constant(
value=0
)
Полученный тензор заполняется значениями типа dtype, как указано в аргументах value в соответствии с желаемой shape нового тензора (см. примеры ниже).
Аргумент value может быть константным значением или списком значений типа dtype. Если value является списком, то длина списка должна быть меньше или равна количеству элементов, подразумеваемому желаемой формой тензора. В случае, когда общее количество элементов в value меньше, чем количество элементов, требуемое формой тензора, последнее значение в value будет использоваться для заполнения оставшихся элементов. Если общее количество элементов в value больше, чем количество элементов, требуемое формой тензора, инициализатор выведет ValueError.
| Аргументы | |
|---|---|
value | Скалярное значение Python, список или кортеж значений или N-мерный массив numpy. Все элементы инициализируемой переменной будут установлены в соответствующее значение в аргументе value . |
| Исключения | |
|---|---|
TypeError | Если входной value не является одним из ожидаемых типов. |
Примеры:
Следующий пример можно переписать, используя numpy.ndarray вместо value списка, даже с изменением формы, как показано в двух закомментированных строках ниже инициализации value списка.
import numpy as np import tensorflow as tf
value = [0, 1, 2, 3, 4, 5, 6, 7]
value = np.array(value)
value = value.reshape([2, 4])
init = tf.compat.v1.constant_initializer(value)
<pre class="devsite-click-to-copy prettyprint lang-py"> <code class="devsite-terminal" data-terminal-prefix=">>>">print('fitting shape:')</code> <code class="devsite-terminal" data-terminal-prefix=">>>">with tf.compat.v1.Session():</code> <code class="devsite-terminal" data-terminal-prefix=">>>"> x = tf.compat.v1.get_variable('x', shape=[2, 4], initializer=init)</code> <code class="devsite-terminal" data-terminal-prefix=">>>"> x.initializer.run()</code> <code class="devsite-terminal" data-terminal-prefix=">>>"> print(x.eval())</code> <code class="no-select nocode"> </code> </pre> fitting shape: [[ 0. 1. 2. 3.] [ 4. 5. 6. 7.]] <pre class="devsite-click-to-copy prettyprint lang-py"> <code class="devsite-terminal" data-terminal-prefix=">>>">print('larger shape:')</code> <code class="devsite-terminal" data-terminal-prefix=">>>">with tf.compat.v1.Session():</code> <code class="devsite-terminal" data-terminal-prefix=">>>"> x = tf.compat.v1.get_variable('x', shape=[3, 4], initializer=init)</code> <code class="devsite-terminal" data-terminal-prefix=">>>"> x.initializer.run()</code> <code class="devsite-terminal" data-terminal-prefix=">>>"> print(x.eval())</code> <code class="no-select nocode"> </code> </pre> larger shape: [[ 0. 1. 2. 3.] [ 4. 5. 6. 7.] [ 7. 7. 7. 7.]] <pre class="devsite-click-to-copy prettyprint lang-py"> <code class="devsite-terminal" data-terminal-prefix=">>>">print('smaller shape:')</code> <code class="devsite-terminal" data-terminal-prefix=">>>">with tf.compat.v1.Session():</code> <code class="devsite-terminal" data-terminal-prefix=">>>"> x = tf.compat.v1.get_variable('x', shape=[2, 3], initializer=init)</code> <code class="no-select nocode"> </code> </pre> ValueError: Too many elements provided. Needed at most 6, but received 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
)
Возвращает объект тензора, инициализированный в соответствии с заданным инициализатором.
| Аргументы | |
|---|---|
shape | Форма тензора. |
dtype | Необязательный тип dtype тензора. Если не указан, тип созданного тензора будет типом начального значения. |
| Исключения | |
|---|---|
TypeError | Если инициализатор не может создать тензор заданного типа 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/r1.15/api_docs/python/tf/compat/v2/keras/initializers/Constant