tf.keras.Variable
Представляет переменную, не зависящую от бэкенда, в Keras.
tf.keras.Variable(
initializer,
shape=None,
dtype=None,
trainable=True,
autocast=True,
aggregation='mean',
name=None
)
Переменная Variable действует как контейнер для состояния. Она хранит значение тензора и может быть обновлена. В бэкенде JAX переменные используются для реализации «функционализации», шаблона, при котором выполнимые операции состояния извлекаются из части вычисления, чтобы преобразовать его в бессостоятельную функцию.
| Аргументы | |
|---|---|
initializer | Начальное значение или вызываемый объект для инициализации. Если используется вызываемый объект, он должен принимать аргументы shape и dtype. |
shape | Необязательно. Кортеж для формы переменной. Требуется, если initializer является вызываемым объектом. |
dtype | Необязательно. Тип данных переменной. По умолчанию, тип данных глобального плавающего типа ("float32" если никогда не настраивался). |
trainable | Необязательно. Булево значение, указывающее, является ли переменная обучаемой. По умолчанию True. |
name | Необязательно. Уникальное имя для переменной. Автоматически генерируется, если не задано. |
Примеры:
Инициализация Variable с массивом NumPy:
import numpy as np import keras initial_array = np.ones((3, 3)) variable_from_array = keras.Variable(initializer=initial_array)
Использование инициализатора Keras для создания Variable:
from keras.src.initializers import Ones
variable_from_initializer = keras.Variable(
initializer=Ones(), shape=(3, 3), dtype="float32"
)
Обновление значения Variable:
new_value = np.zeros((3, 3), dtype="float32") variable_from_array.assign(new_value)
Отметить Variable как не подлежащую обучению:
non_trainable_variable = keras.Variable(
initializer=np.ones((3, 3), dtype="float32"), trainable=False
)
| Атрибуты | |
|---|---|
name | Имя переменной (строка). |
path | Путь переменной в модели или слое Keras (строка). |
dtype | Тип данных переменной (строка). |
shape | Форма переменной (кортеж целых чисел). |
ndim | Количество измерений переменной (целое число). |
trainable | Является ли переменная обучаемой (булево значение). |
value | Текущее значение переменной (массив NumPy или тензор). |
aggregation | |
constraint | |
handle | |
overwrite_with_gradient | Следует ли перезаписывать эту переменную вычисленным градиентом. Этот атрибут предназначен для специального случая, когда мы хотим напрямую перезаписать переменную вычисленным градиентом. Например, при обучении с плавающей точкой 8 новые |
regularizer | |
Методы
assign
assign(
value
)
assign_add
assign_add(
value
)
assign_sub
assign_sub(
value
)
numpy
numpy()
__abs__
__abs__()
__add__
__add__(
other
)
__and__
__and__(
other
)
__array__
__array__(
dtype=None
)
__bool__
__bool__()
__eq__
__eq__(
other
)
Возвращает self==value.
__floordiv__
__floordiv__(
other
)
__ge__
__ge__(
other
)
Возвращает self>=value.
__getitem__
__getitem__(
idx
)
__gt__
__gt__(
other
)
Возвращает self>value.
__invert__
__invert__()
__le__
__le__(
other
)
Возвращает self<=value.
__lt__
__lt__(
other
)
Возвращает self<value.
END_OF_DOCUMENT_MARKER ```__matmul__
__matmul__(
other
)
__mod__
__mod__(
other
)
__mul__
__mul__(
other
)
__ne__
__ne__(
other
)
Возвращает self!=value.
__neg__
__neg__()
__or__
__or__(
other
)
__pos__
__pos__()
__pow__
__pow__(
other
)
__radd__
__radd__(
other
)
__rand__
__rand__(
other
)
__rfloordiv__
__rfloordiv__(
other
)
__rmatmul__
__rmatmul__(
other
)
__rmod__
__rmod__(
other
)
__rmul__
__rmul__(
other
)
__ror__
__ror__(
other
)
__rpow__
__rpow__(
other
)
__rsub__
__rsub__(
other
)
__rtruediv__
__rtruediv__(
other
)
__rxor__
__rxor__(
other
)
__sub__
__sub__(
other
)
__truediv__
__truediv__(
other
)
__xor__
__xor__(
other
)
© 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/api_docs/python/tf/keras/Variable