标记代码块
msLeaks工具通过增加Python接口,支持用户自行对代码段做描述。
使用方式
在msLeaks工具中,增加Python接口,使用describe标记一个Tensor、一个函数或一段代码,共有3种使用方式。
- 方式一:通过装饰器修饰某个函数,函数内所有内存申请事件的owner属性都会打上标签test1。
1 2 3 4 5
import msleaks.describe as describe @describe.describer(owner="test1") def train1(): pass
- 方式二:通过with语句,对代码块做标记,代码块内所有内存申请事件的owner属性都会打上标签test2。
代码示例2:
1 2 3 4 5
import msleaks.describe as describe describe.describer(owner="test3").__enter__() train3() describe.describer(owner="test3").__exit__()
方式一和方式二最多支持添加3个标签,且不允许重复。
- 方式三:标记Tensor,该Tensor对应的内存申请事件的owner属性会增加用户指定的标记。
1 2 3 4
import msleaks.describe as describe t = torch.randn(10,10).to('npu:0') describe.describer(t, owner="test4")