tf.compat.v1.assign
Обновить ref, присвоив ему value.
tf.compat.v1.assign(
ref, value, validate_shape=None, use_locking=None, name=None
)
Переход к TF2
tf.compat.v1.assign в основном совместим с выполнением в режиме eager и tf.function. Однако аргумент 'validate_shape' будет игнорироваться. Чтобы избежать проверки формы, установите 'shape' в tf.TensorShape(None) при создании переменной:
import tensorflow as tf a = tf.Variable([1], shape=tf.TensorShape(None)) tf.compat.v1.assign(a, [2,3])
Чтобы переключиться на native-стиль TF2, можно использовать метод 'assign' класса tf.Variable:
Как сопоставить аргументы
| Имя аргумента TF1 | Имя аргумента TF2 | Примечание |
|---|---|---|
ref | self | В методе assign() |
value | value | В методе assign() |
validate_shape | Не поддерживается | Укажите shape в конструкторе для воспроизведения поведения |
use_locking | use_locking | В методе assign() |
name | name | В методе assign() |
| - |
read_value | Установите в True для воспроизведения поведения (по умолчанию True) |
Описание
Используется в ноутбуках
| Используется в учебниках |
|---|
Данная операция возвращает тензор, содержащий новое значение ref после присваивания. Это упрощает цепочку операций, которым необходимо использовать обновлённое значение.
| Аргументы | |
|---|---|
ref | Изменяемая Tensor. Должна быть получена из узла Variable. Может быть неинициализирована. |
value | Tensor. Должна иметь такую же форму и тип данных, как и ref. Значение, которое будет присвоено переменной. |
validate_shape | Необязательный bool. По умолчанию True. Если True, операция проверит, что форма 'value' соответствует форме присваиваемого тензора. Если False, 'ref' примет форму 'value'. |
use_locking | Необязательный bool. По умолчанию True. Если True, присвоение будет защищено блокировкой; в противном случае поведение не определено, но может быть меньше конфликтов. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
Tensor, который будет содержать новое значение ref после завершения присвоения. |
Пример использования до и после
До:
with tf.Graph().as_default():
with tf.compat.v1.Session() as sess:
a = tf.compat.v1.Variable(0, dtype=tf.int64)
sess.run(a.initializer)
update_op = tf.compat.v1.assign(a, 2)
res_a = sess.run(update_op)
res_a
2После:
b = tf.Variable(0, dtype=tf.int64) res_b = b.assign(2) res_b.numpy() 2
© 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/compat/v1/assign