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


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


定義variable() 使用的變量創建函數的範圍。

用法

@tf_contextlib.contextmanager
tf.compat.v1.variable_creator_scope(
    variable_creator
)

參數

  • variable_creator 過去的創造者

生成(Yield)

  • 創建者處於活動狀態的範圍

variable_creator 應該是具有以下簽名的函數:

def variable_creator(next_creator, **kwargs)

如果創建者確實想創建變量而不是直接調用 Variable 或 ResourceVariable,則應該最終調用 next_creator 來創建變量。這有助於使創作者可組合。創建者可以選擇創建多個變量,返回已經存在的變量,或者簡單地注冊一個變量被創建並推遲到下一個創建者。創建者還可以修改下一個創建者看到的關鍵字參數。

變量範圍內的自定義 getter 在創建變量時最終將解析為這些自定義創建者。

kwds 中的有效關鍵字參數是:

  • initial_value:A Tensor ,或可轉換為 Tensor 的 Python 對象,這是變量的初始值。除非 validate_shape 設置為 False,否則初始值必須具有指定的形狀。也可以是不帶參數的可調用對象,在調用時返回初始值。在這種情況下,必須指定dtype。 (請注意,init_ops.py 中的初始化函數必須先綁定到形狀,然後才能在此處使用。)
  • 可訓練:如果 True ,默認值,也將變量添加到圖形集合 GraphKeys.TRAINABLE_VARIABLES 。此集合用作Optimizer 類使用的默認變量列表。 trainable 默認為 True ,除非 synchronization 設置為 ON_READ ,在這種情況下它默認為 False
  • 集合:圖形集合鍵的列表。新變量將添加到這些集合中。默認為 [GraphKeys.GLOBAL_VARIABLES]
  • validate_shape:If False ,允許使用未知形狀的值初始化變量。如果 True 是默認值,則必須知道 initial_value 的形狀。
  • caching_device:可選設備字符串,說明應緩存變量以供讀取的位置。默認為變量的設備。如果不是 None ,則緩存在另一台設備上。典型用途是在使用變量的操作所在的設備上進行緩存,通過Switch 和其他條件語句進行重複數據刪除。
  • name:變量的可選名稱。默認為 'Variable' 並自動獲取唯一性。
  • dtype:如果設置,initial_value 將被轉換為給定的類型。如果 None ,或者保留數據類型(如果 initial_value 是張量),或者 convert_to_tensor 將決定。
  • 約束:在某些算法更新後應用於變量的約束函數。
  • use_resource:如果為真,則始終創建 ResourceVariable。
  • 同步:指示何時聚合分布式變量。接受的值是在類 tf.VariableSynchronization 中定義的常量。默認情況下,同步設置為AUTO,當前的DistributionStrategy 選擇何時同步。
  • 聚合:指示如何聚合分布式變量。接受的值是在類 tf.VariableAggregation 中定義的常量。

這個集合可能會隨著時間的推移而增長,因此創作者的簽名如上所述是很重要的。

相關用法


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