我正在尝试学习如何使用Pytorch profiler API来测量使用不同方法训练模型时的性能差异。在专用的tutorial中,有一个部分展示了如何使用分析器的“schedule”参数来执行此操作。
我的问题是,当我想在代码中使用它时,第一次调用step“wait”时会打印一条消息
[W kineto_shim.cpp:337]分析器未初始化:跳过step()调用
由于我希望我的分析器在大部分时间都处于睡眠状态,所以我的“等待”值相当高,所以它会用一堆这样的行污染我的终端,直到分析器第一次真正执行
我怎么才能摆脱它?
下面是重现该问题的最小代码示例
import torch
from torch.profiler import profile, record_function, ProfilerActivity
with profile(
activities=[torch.profiler.ProfilerActivity.CUDA],
schedule=torch.profiler.schedule(wait=15, warmup=1, active=4),
profile_memory=False,
record_shapes=True,
with_stack=True,
) as prof:
for _ in range(20):
y = torch.randn(1).cuda() + torch.randn(1).cuda()
prof.step()
print(prof.key_averages())
1条答案
按热度按时间b4lqfgs41#
这是最近在pull request中修复/添加的
现在你可以设置环境变量
KINETO_LOG_LEVEL
。例如在bash脚本中:export KINETO_LOG_LEVEL=3
根据源代码的级别是:
这至少是它应该如何工作的,根据this issue,日志级别的更改尚未合并。