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


Python tf.profiler.experimental.client.trace用法及代碼示例


將 gRPC 請求發送到一個或多個分析器服務器以執行 on-demand 分析。

用法

tf.profiler.experimental.client.trace(
    service_addr, logdir, duration_ms, worker_list='',
    num_tracing_attempts=3, options=None
)

參數

  • service_addr 要分析的工作人員的 gRPC 地址的逗號分隔字符串。例如service_addr='grpc://localhost:6009' service_addr='grpc://10.0.0.2:8466,grpc://10.0.0.3:8466' service_addr='grpc://localhost:12345,grpc://localhost :23456'
  • logdir 將配置文件數據保存到的路徑,通常是 TensorBoard 日誌目錄。客戶端和服務器都必須可以訪問此路徑。例如logdir='gs://your_tb_dir'
  • duration_ms 跟蹤或監控的持續時間(以毫秒為單位)。必須大於零。
  • worker_list 可選的僅 TPU 配置。要在當前會話中分析的工作人員列表。
  • num_tracing_attempts 可選的。沒有收集到跟蹤事件時自動重試 N 次(默認 3)。
  • options profiler.experimental.ProfilerOptions namedtuple 用於各種分析器選項。

拋出

  • InvalidArgumentError 當參數未通過驗證檢查時。
  • UnavailableError 如果沒有收集到跟蹤事件。

此方法將阻塞調用線程,直到它收到來自所有服務器的響應或直到截止日期到期。 CPU、GPU 和 TPU 支持單主機和多主機分析。分析結果將由每個服務器保存到指定的 TensorBoard 日誌目錄(即您保存模型檢查點的目錄)。使用 TensorBoard 配置文件插件查看可視化和分析結果。

使用示例(CPU/GPU):

# Start a profiler server before your model runs.
  tf.profiler.experimental.server.start(6009)
  # (Model code goes here).
  # Send gRPC request to the profiler server to collect a trace of your model.
  tf.profiler.experimental.client.trace('grpc://localhost:6009',
                                        '/nfs/tb_log', 2000)

示例用法(多個 GPU):

# E.g. your worker IP addresses are 10.0.0.2, 10.0.0.3, 10.0.0.4, and you
  # would like to schedule start of profiling 1 second from now, for a
  # duration of 2 seconds.
  options['delay_ms'] = 1000
  tf.profiler.experimental.client.trace(
      'grpc://10.0.0.2:8466,grpc://10.0.0.3:8466,grpc://10.0.0.4:8466',
      'gs://your_tb_dir',
      2000,
      options=options)

示例用法(TPU):

# Send gRPC request to a TPU worker to collect a trace of your model. A
  # profiler service has been started in the TPU worker at port 8466.
  # E.g. your TPU IP address is 10.0.0.2 and you want to profile for 2 seconds
  # .
  tf.profiler.experimental.client.trace('grpc://10.0.0.2:8466',
                                        'gs://your_tb_dir', 2000)

示例用法(多個 TPU):

# Send gRPC request to a TPU pod to collect a trace of your model on
  # multiple TPUs. A profiler service has been started in all the TPU workers
  # at the port 8466.
  # E.g. your TPU IP addresses are 10.0.0.2, 10.0.0.3, 10.0.0.4, and you want
  # to profile for 2 seconds.
  tf.profiler.experimental.client.trace(
      'grpc://10.0.0.2:8466',
      'gs://your_tb_dir',
      2000,
      '10.0.0.2:8466,10.0.0.3:8466,10.0.0.4:8466')

啟動 TensorBoard 並將其指向您提供給此 API 的同一 logdir。

# logdir can be gs://your_tb_dir as in the above examples.
  $ tensorboard --logdir=/tmp/tb_log

打開瀏覽器並轉到 localhost:6006/#profile 以查看分析結果。

相關用法


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