You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Torch Profiler生成的JSON文件各字段含义咨询

Torch Profiler Chrome Trace字段详解

你使用Torch Profiler做模型性能分析的代码如下:

from torch.profiler import profile, record_function, ProfilerActivity
import torch
with profile(activities=[
    ProfilerActivity.CPU, ProfilerActivity.CUDA], record_shapes=True) as prof:
    with record_function("model_inference"):
        model(input)
profiling_results.export_chrome_trace("resnet18_trace_cuda.json")

针对你给出的Chrome Trace JSON片段,以下是每个字段的具体含义:

"traceEvents": [
  {
    "ph": "X", "cat": "cpu_op", 
    "name": "aten::zeros", "pid": 867040, "tid": 867040,
    "ts": 1668551166936236, "dur": 23,
    "args": {
      "Trace name": "PyTorch Profiler", "Trace iteration": 0,
      "External id": 376,
      "Input Dims": [[], [], [], [], []], "Input type": ["", "Scalar", "", "", "Scalar"]
    }
  },...
]
  • ph:事件类型,X代表完整持续事件,用于记录有明确开始、结束时间的操作,是Chrome Trace的核心事件类型之一。
  • cat:事件类别,cpu_op说明该操作是在CPU上执行的PyTorch算子,若为CUDA操作则会显示cuda_op类别的标识。
  • name:具体操作名称,aten::zeros指PyTorch底层ATen库中的zeros算子,功能是创建全零张量。
  • pid:进程ID,867040是运行当前模型的进程编号。
  • tid:线程ID,867040是执行该算子的线程编号,此处与进程ID一致,说明是主线程执行的操作。
  • ts:事件开始时间戳,单位为微秒,数值对应具体的时间点,用于梳理操作的执行时序。
  • dur:事件持续时长,单位为微秒,23表示这个aten::zeros操作总共耗时23微秒。
  • args:事件附加参数集合,包含更多细节:
    • Trace name:生成追踪数据的工具名称,这里是PyTorch Profiler。
    • Trace iteration:当前追踪的迭代次数,0表示这是第一次迭代的记录。
    • External id:事件的外部唯一标识,用于和其他工具或系统的数据做关联。
    • Input Dims:算子输入的维度信息,空数组对应无维度的输入(比如标量)。
    • Input type:算子输入的数据类型,Scalar表示对应输入是标量,空字符串代表未记录或无类型信息。

内容的提问来源于stack exchange,提问作者Maryam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 18:50:26