Tensorflow 检查TPU工作负载/利用率

Tensorflow 检查TPU工作负载/利用率,tensorflow,google-cloud-platform,google-compute-engine,google-cloud-tpu,Tensorflow,Google Cloud Platform,Google Compute Engine,Google Cloud Tpu,我正在训练一个模型,当我在谷歌云平台控制台中打开TPU时,它会显示CPU利用率(我想是在TPU上)。它真的很低(比如0.07%),所以可能是VM CPU?我想知道训练是否真的合适,或者TPU是否那么强大 是否有其他方法检查TPU的使用情况?可能使用ctpu命令?如果您查看的是GCP->Compute Engine->TPU,那么您看到的是正确的位置。如果您看到关联的计算引擎实例的监控图,您将看到CPU图是不同的 目前,似乎没有任何其他方法可以查找该信息,因为这些选项都不提供该信息: gcloud

我正在训练一个模型,当我在谷歌云平台控制台中打开TPU时,它会显示CPU利用率(我想是在TPU上)。它真的很低(比如0.07%),所以可能是VM CPU?我想知道训练是否真的合适,或者TPU是否那么强大


是否有其他方法检查TPU的使用情况?可能使用
ctpu
命令?

如果您查看的是GCP->Compute Engine->TPU,那么您看到的是正确的位置。如果您看到关联的计算引擎实例的监控图,您将看到CPU图是不同的

目前,似乎没有任何其他方法可以查找该信息,因为这些选项都不提供该信息:

gcloud compute tpus describe <tpu-name> --zone=<zone>

ctpu status --details
gcloud计算TPU描述——区域=
ctpu状态-详细信息
政府也没有


至于你的培训是否恰当,很难说,你可以参考并确保你遵守那里的指导方针。另一个有用的资源是。

我建议使用插入TensorBoard的TPU分析工具。可以找到有关安装和使用这些工具的良好教程

您将在TPU训练时运行探查器。它将为TensorBoard添加一个额外的选项卡,其中包含TPU特定的评测信息。其中最有用的是:

  • 平均步进时间
  • 主机空闲时间(CPU空闲的时间)
  • TPU空闲时间
  • TPU矩阵单元的利用
基于这些指标,探查器将建议如何开始优化您的模型,以便在TPU上进行良好训练。您还可以深入研究更复杂的分析工具,如跟踪查看器或最昂贵的图形操作列表

有关性能调整的一些指导原则(除了已经链接的ch_mike之外),您可以查看

设置监控级别=2将显示更详细的信息:


Ref:

ok看起来我的主机空闲时间是98%,这很糟糕,但是tpu空闲时间是0%,所以听起来很可疑。这实际上指的是什么CPU?VM one?是的,GCP控制台上的“CPU利用率”选项卡实际上是对连接到TPU的VM的CPU利用率的测量。该虚拟机所做的工作通常与准备和从TPU移动内存有关。正如Auberon在回答中所说,TPU分析工具将为您提供TPU实际空闲程度的真实情况。@DerekT.Jones好的,我明白了。现在这更有意义了。尽管现在我在tpu评测工具中显示性能时遇到了问题。看看我的另一条线索。
(vm)$ capture_tpu_profile --tpu=$TPU_NAME  --monitoring_level=2
TPU type: TPU v2
Number of TPU Cores: 8
TPU idle time (lower is better): 0.091%
Utilization of TPU Matrix Units is (higher is better): 10.7%
Step time: 1.95 kms (avg), 1.90kms (minute), 2.00 kms (max)
Infeed percentage: 87.5% (avg). 87.2% (min), 87.8 (max)