Zen的小站

小舟从此逝,江海寄余生

0%

【cProfile】【torch Profiler】代码运行性能测试

文章概览

cProfile

简介

  • cprofile 可以输出看到每个函数运行时间、运行次数

  • 一般用于检测这一句话 output = model(input)

使用

  1. cprofile生成分析文件

    1
    2
    3
    import cProfile
    import re
    cProfile.run('re.compile("foo|bar")', 'restats')

    会执行re.compile("foo|bar")语句,保存在restats(无后缀)中

  2. snakeviz可视化

    cmd里直接snakeviz restats

    会弹出一个网页

torch Profiler

使用

  1. 直接包裹

    1
    2
    3
    with torch.autograd.profiler.profile(enabled=True, use_cuda=True, record_shapes=False, profile_memory=False) as prof:
    output = model(input)
    print(prof.table())
  2. 可视化

    先保存在json文件里

    1
    2
    3
    4
    with torch.autograd.profiler.profile(enabled=True, use_cuda=True, record_shapes=False, profile_memory=False) as prof:
    output = model(input)
    print(prof.table())
    prof.export_chrome_trace('./resnet_profile.json')

    网页地址栏输入 edge://tracing/,选择导入json文件

    • wasd操作

多想多做,发篇一作

-------------本文结束感谢您的阅读-------------
// 在最后添加