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 в основном совместим с немедленным выполнением и 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])
Чтобы перейти на нативный стиль 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