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


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


在此程序的生命周期內啟用即刻執行。

用法

tf.compat.v1.enable_eager_execution(
    config=None, device_policy=None, execution_mode=None
)

參數

  • config (可選。)tf.compat.v1.ConfigProto 用於配置執行操作的環境。請注意,tf.compat.v1.ConfigProto 還用於配置圖形執行(通過 tf.compat.v1.Session ),當啟用即刻執行時,tf.compat.v1.ConfigProto 中的許多選項都沒有實現(或不相關)。
  • device_policy (可選。)控製需要特定設備(例如 GPU 0)上的輸入的操作如何處理不同設備(例如 GPU 1 或 CPU)上的輸入的策略。當設置為無時,將自動選擇適當的值。選擇的值可能會在 TensorFlow 版本之間發生變化。有效值:
    • tf.contrib.eager.DEVICE_PLACEMENT_EXPLICIT:如果放置不正確,則會引發錯誤。
    • tf.contrib.eager.DEVICE_PLACEMENT_WARN:複製不在正確設備上但記錄警告的張量。
    • tf.contrib.eager.DEVICE_PLACEMENT_SILENT: 默默地複製張量。請注意,這可能會隱藏性能問題,因為當在設備之間複製的張量上的操作被阻止時不會提供通知。
    • tf.contrib.eager.DEVICE_PLACEMENT_SILENT_FOR_INT32:默默地複製 int32 張量,在其他張量上引發錯誤。
  • execution_mode (可選。)控製調度操作如何實際執行的策略。當設置為無時,將自動選擇適當的值。選擇的值可能會在 TensorFlow 版本之間發生變化。有效值:
    • tf.contrib.eager.SYNC:同步執行每個操作。
    • tf.contrib.eager.ASYNC:異步執行每個操作。這些操作可能會返回 "non-ready" 句柄。

拋出

  • ValueError 如果在創建/執行 TensorFlow 圖後啟用了即刻執行,或者如果提供的選項與之前對該函數的調用發生衝突。

遷移到 TF2

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

如果您使用的是 TF2,則不需要此函數。默認情況下啟用即刻執行。

Eager execution 為 TensorFlow 提供了一個命令式接口。啟用即刻執行後,TensorFlow 函數會立即執行操作(而不是添加到稍後在 tf.compat.v1.Session 中執行的圖形)並返回具體值(而不是對計算圖中節點的符號引用)。

例如:

tf.compat.v1.enable_eager_execution()

# After eager execution is enabled, operations are executed as they are
# defined and Tensor objects hold concrete values, which can be accessed as
# numpy.ndarray`s through the numpy() method.
assert tf.multiply(6, 7).numpy() == 42

使用 TensorFlow API 創建或執行圖表後,無法啟用即刻執行。通常建議在程序啟動時調用此函數,而不是在庫中調用(因為大多數庫在有或沒有即刻執行的情況下都應該可用)。

相關用法


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