tf.constant_initializer
Инициализатор, который генерирует тензоры с постоянными значениями.
tf.constant_initializer(
value=0
)
Инициализаторы позволяют вам заранее указать стратегию инициализации, закодированную в объекте Initializer, не зная формы и типа переменной, которую вы инициализируете.
tf.constant_initializer возвращает объект, который, когда вызывается, возвращает тензор, заполненный значениями, указанными в конструкторе. Это значение value должно быть преобразуемо в требуемый dtype.
Аргумент value может быть скалярным константным значением или списком значений. Скаляры распространяются на ту форму, которая запрашивается от инициализатора.
Если value является списком, то длина списка должна быть равна количеству элементов, подразумеваемому желаемой формой тензора. Если общее число элементов в value не равно числу элементов, требуемых формой тензора, инициализатор вызовет TypeError.
Примеры:
def make_variables(k, initializer):
return (tf.Variable(initializer(shape=[k], dtype=tf.float32)),
tf.Variable(initializer(shape=[k, k], dtype=tf.float32)))
v1, v2 = make_variables(3, tf.constant_initializer(2.))
v1
<tf.Variable ... shape=(3,) ... numpy=array([2., 2., 2.], dtype=float32)>
v2
<tf.Variable ... shape=(3, 3) ... numpy=
array([[2., 2., 2.],
[2., 2., 2.],
[2., 2., 2.]], dtype=float32)>
make_variables(4, tf.random_uniform_initializer(minval=-1., maxval=1.))
(<tf.Variable...shape=(4,) dtype=float32...>, <tf.Variable...shape=(4, 4) ...
value = [0, 1, 2, 3, 4, 5, 6, 7]
init = tf.constant_initializer(value)
# Fitting shape
tf.Variable(init(shape=[2, 4], dtype=tf.float32))
<tf.Variable ...
array([[0., 1., 2., 3.],
[4., 5., 6., 7.]], dtype=float32)>
# Larger shape
tf.Variable(init(shape=[3, 4], dtype=tf.float32))
Traceback (most recent call last):
TypeError: ...value has 8 elements, shape is (3, 4) with 12 elements...
# Smaller shape
tf.Variable(init(shape=[2, 3], dtype=tf.float32))
Traceback (most recent call last):
TypeError: ...value has 8 elements, shape is (2, 3) with 6 elements...
| Аргументы | |
|---|---|
value | Скалярное значение Python, список или кортеж значений или N-мерный массив numpy. Все элементы инициализируемой переменной будут установлены в соответствующее значение в аргументе value . |
| Исключения | |
|---|---|
TypeError | Если входной value не является одним из ожидаемых типов. |
Методы
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, **kwargs
)
Возвращает объект тензора, инициализированный в соответствии с инициализатором.
| Аргументы | |
|---|---|
shape | Форма тензора. |
dtype | Необязательный тип тензора. Если не указан, тип созданного тензора будет типом начального значения. |
**kwargs | Дополнительные ключевые аргументы. |
| Исключения | |
|---|---|
TypeError | Если инициализатор не может создать тензор указанного типа. |
© 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/versions/r2.9/api_docs/python/tf/constant_initializer