Spec-Zone.ru › TensorFlow

tf.compat.v1.assign

Обновить ref, присвоив ему value.

tf.compat.v1.assign(
    ref, value, validate_shape=None, use_locking=None, name=None
)

Переход к TF2

Внимание: Этот API был разработан для TensorFlow v1. Продолжайте чтение, чтобы узнать, как перейти от этого API к эквиваленту в native TensorFlow v2. Обратитесь к руководству по миграции TensorFlow v1 в TensorFlow v2 (https://www.tensorflow.org/guide/migrate), чтобы получить инструкции по миграции остальной части вашего кода.

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)

Описание

Используется в ноутбуках

Используется в учебниках
  • Учебник по многоруким бандитам в TF-Agents

Данная операция возвращает тензор, содержащий новое значение 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API