當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python tf.compat.v1.assign_add用法及代碼示例

通過添加value 來更新ref

用法

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

參數

  • ref 一個可變的 Tensor 。必須是以下類型之一:float32 , float64 , int64 , int32 , uint8 , uint16 , int16 , int8 , complex64 , complex128 , qint8 , quint8 , qint32 , half。應該來自 Variable 節點。
  • value 一個Tensor。必須具有與 ref 相同的形狀和 dtype。要添加到變量的值。
  • use_locking 可選的 bool 。默認為 False 。如果為 True,則添加將受鎖保護;否則行為是未定義的,但可能表現出較少的爭用。
  • name 操作的名稱(可選)。

返回

  • ref 相同。為方便在變量更新後想要使用新值的操作而返回。

遷移到 TF2

警告:這個 API 是為 TensorFlow v1 設計的。繼續閱讀有關如何從該 API 遷移到本機 TensorFlow v2 等效項的詳細信息。見TensorFlow v1 到 TensorFlow v2 遷移指南有關如何遷移其餘代碼的說明。

tf.compat.v1.assign_add 主要與即刻執行和 tf.function 兼容。

要切換到原生 TF2 風格,可以使用 tf.Variable 的 'assign_add' 方法:

如何映射參數

TF1 參數名稱 TF2 參數名稱 注意
ref self assign_add() 方法中
value value assign_add() 方法中
use_locking use_locking assign_add() 方法中
name name assign_add() 方法中
- read_value 設置為 True 以複製行為(True 是默認值)

使用示例之前和之後

前:

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_add(a, 1)
    res_a = sess.run(update_op)
    res_a
1

後:

b = tf.Variable(0, dtype=tf.int64)
res_b = b.assign_add(1)
res_b.numpy()
1

此操作在更新完成後輸出ref。這使得鏈接需要使用重置值的操作更容易。與 tf.math.add 不同,此操​​作不廣播。 refvalue 必須具有相同的形狀。

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.compat.v1.assign_add。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。