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


Python tf.estimator.RunConfig用法及代碼示例


此類指定Estimator 運行的配置。

用法

tf.estimator.RunConfig(
    model_dir=None, tf_random_seed=None, save_summary_steps=100,
    save_checkpoints_steps=_USE_DEFAULT, save_checkpoints_secs=_USE_DEFAULT,
    session_config=None, keep_checkpoint_max=5, keep_checkpoint_every_n_hours=10000,
    log_step_count_steps=100, train_distribute=None, device_fn=None, protocol=None,
    eval_distribute=None, experimental_distribute=None,
    experimental_max_worker_delay_secs=None, session_creation_timeout_secs=7200,
    checkpoint_save_graph_def=True
)

參數

  • model_dir 保存模型參數、圖形等的目錄。如果PathLike 對象,路徑將被解析。如果 None ,將使用 Estimator 設置的默認值。
  • tf_random_seed TensorFlow 初始化程序的隨機種子。設置此值允許重新運行之間的一致性。
  • save_summary_steps 每隔這麽多步驟保存摘要。
  • save_checkpoints_steps 每隔這麽多步驟保存檢查點。不能用 save_checkpoints_secs 指定。
  • save_checkpoints_secs 每隔這麽多秒保存檢查點。不能用 save_checkpoints_steps 指定。如果 save_checkpoints_stepssave_checkpoints_secs 均未在構造函數中設置,則默認為 600 秒。如果 save_checkpoints_stepssave_checkpoints_secs 都是 None ,則禁用檢查點。
  • session_config 用於設置會話參數的 ConfigProto,或 None
  • keep_checkpoint_max 要保留的最近檢查點文件的最大數量。創建新文件時,會刪除舊文件。如果None 或 0,則保留所有檢查點文件。默認為 5(即保留 5 個最近的檢查點文件)。如果將保護程序傳遞給估計器,則此參數將被忽略。
  • keep_checkpoint_every_n_hours 要保存的每個檢查點之間的小時數。默認值 10,000 小時有效地禁用了該函數。
  • log_step_count_steps 在訓練期間記錄全局步長和損失的頻率,以全局步數為單位。還控製在訓練期間記錄全局步數(並寫入摘要)的頻率。
  • train_distribute tf.distribute.Strategy 的可選實例。如果指定,則 Estimator 將根據該策略指定的策略在訓練期間分發用戶的模型。首選設置experimental_distribute.train_distribute
  • device_fn 為每個接受 Operation 並返回設備字符串的 Operation 調用的可調用對象。如果 None ,默認為 tf.train.replica_device_setter 返回的設備函數,使用 round-robin 策略。
  • protocol 一個可選參數,它指定啟動服務器時使用的協議。 None 表示默認為 grpc。
  • eval_distribute tf.distribute.Strategy 的可選實例。如果指定,則 Estimator 將根據該策略指定的策略在評估期間分發用戶的模型。首選設置experimental_distribute.eval_distribute
  • experimental_distribute 指定DistributionStrategy-related 配置的可選tf.contrib.distribute.DistributeConfig 對象。 train_distributeeval_distribute 可以作為參數傳遞給 RunConfig 或在 experimental_distribute 中設置,但不能同時設置。
  • experimental_max_worker_delay_secs 一個可選整數,指定工作人員在開始之前應等待的最長時間。默認情況下,worker 是在交錯時間啟動的,每個 worker 最多延遲 60 秒。這是為了降低發散的風險,當許多工作人員同時更新隨機初始化模型的權重時,可能會發生發散的風險。熱啟動模型並進行短時間(幾分鍾或更短時間)訓練的用戶應考慮減少此默認值以縮短訓練時間。
  • session_creation_timeout_secs 工作人員應使用 MonitoredTrainingSession 等待會話可用(在初始化或恢複會話時)的最長時間。默認為 7200 秒,但用戶可能希望設置較低的值以更快地檢測變量/會話(重新)初始化的問題。
  • checkpoint_save_graph_def 是否將 GraphDef 和 MetaGraphDef 保存到 checkpoint_dir 。 GraphDef 在會話創建後保存為 graph.pbtxt 。 MetaGraphDefs 為每個檢查點保存為 model.ckpt-*.meta

拋出

  • ValueError 如果同時設置了save_checkpoints_stepssave_checkpoints_secs

屬性

  • checkpoint_save_graph_def
  • cluster_spec
  • device_fn 返回device_fn。

    如果 device_fn 不是 None ,它將覆蓋 Estimator 中使用的默認設備函數。否則使用默認值。

  • eval_distribute 用於評估的可選tf.distribute.Strategy
  • evaluation_master
  • experimental_max_worker_delay_secs
  • global_id_in_cluster 訓練集群中的全局 id。

    訓練集群中的所有全局 id 都是從一個遞增的連續整數序列中分配的。第一個id是0。

    注意:任務 id(屬性字段 task_id )正在跟蹤具有相同任務類型的所有節點中的節點索引。例如,給定集群定義如下:

    cluster = {'chief':['host0:2222'],
                 'ps':['host1:2222', 'host2:2222'],
                 'worker':['host3:2222', 'host4:2222', 'host5:2222']}

    任務類型 worker 的節點可以有 id 0, 1, 2。任務類型 ps 的節點可以有 id, 0, 1。所以,task_id 不是唯一的,但對 (task_type , task_id) 可以是唯一的確定集群中的一個節點。

    全局id,即該字段,是跟蹤該節點在集群中所有節點中的索引。它是唯一分配的。例如,對於上麵給出的集群規範,全局 id 被分配為:

    task_type  | task_id  |  global_id
      --------------------------------
      chief      | 0        |  0
      worker     | 0        |  1
      worker     | 1        |  2
      worker     | 2        |  3
      ps         | 0        |  4
      ps         | 1        |  5
  • is_chief
  • keep_checkpoint_every_n_hours
  • keep_checkpoint_max
  • log_step_count_steps
  • master
  • model_dir
  • num_ps_replicas
  • num_worker_replicas
  • protocol 返回可選協議值。
  • save_checkpoints_secs
  • save_checkpoints_steps
  • save_summary_steps
  • service 返回定義的平台(在TF_CONFIG中)服務字典。
  • session_config
  • session_creation_timeout_secs
  • task_id
  • task_type
  • tf_random_seed
  • train_distribute 可選的tf.distribute.Strategy 用於訓練。

相關用法


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