Атрибут initial_value класса Variable
Атрибут initial_value класса Variable хранит тензор,
который был передан при создании переменной. Этот тензор
используется для инициализации значения переменной. Атрибут
доступен только для чтения и возвращает объект tf.Tensor.
Его удобно использовать, когда нужно узнать, с какого значения
начиналась переменная, или повторно инициализировать ее тем же
тензором.
Атрибут не принимает параметров, так как является свойством
объекта Variable. Обращение к нему выполняется через
точку от имени переменной.
Синтаксис
variable.initial_value
Пример
Давайте создадим переменную из списка чисел и выведем ее начальное значение:
import tensorflow as tf
v = tf.Variable(tf.constant([1, 2, 3, 4, 5]))
print(v.initial_value)
Результат выполнения кода:
tf.Tensor([1 2 3 4 5], shape=(5,), dtype=int32)
Пример
Давайте изменим значение переменной через метод assign
и убедимся, что атрибут initial_value по-прежнему
возвращает исходный тензор:
Результат выполнения кода:
[10 20 30 40 50]
tf.Tensor([1 2 3 4 5], shape=(5,), dtype=int32)
Пример
Давайте создадим переменную из двумерного тензора с типом
float32 и посмотрим на ее начальное значение:
import tensorflow as tf
v = tf.Variable(
tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32)
)
print(v.initial_value)
Результат выполнения кода:
tf.Tensor(
[[1. 2. 3.]
[4. 5. 6.]], shape=(2, 3), dtype=float32)
Пример
Давайте используем атрибут initial_value, чтобы
восстановить исходное значение переменной после его изменения:
import tensorflow as tf
v = tf.Variable(tf.constant([1, 2, 3, 4, 5]))
initial = v.initial_value
v.assign(tf.constant([0, 0, 0, 0, 0]))
print(v.numpy())
v.assign(initial)
print(v.numpy())
Результат выполнения кода:
[0 0 0 0 0]
[1 2 3 4 5]
Смотрите также
-
класс
Variable,
который создает переменную TensorFlow -
метод
assign,
который присваивает переменной новое значение -
метод
initialized_value,
который возвращает инициализированное значение переменной -
метод
numpy,
который возвращает значение переменной как массив NumPy