RecordEvent
- class paddle.profiler. RecordEvent ( name: str, event_type: TracerEventType = TracerEventType.UserDefined ) [源代码]
用于用户自定义打点,记录某一段代码运行的时间。
参数
name (str) - 记录打点的名字。
event_type (TracerEventType,可选) - 可选参数,默认值为 TracerEventType.UserDefined。该参数预留为内部使用,最好不要指定该参数。
代码示例
>>> import paddle
>>> import paddle.profiler as profiler
>>> # method1: using context manager
>>> paddle.seed(2023)
>>> with profiler.RecordEvent("record_add"):
... data1 = paddle.randn(shape=[3])
... data2 = paddle.randn(shape=[3])
... result = data1 + data2
>>> # method2: call begin() and end()
>>> record_event = profiler.RecordEvent("record_add")
>>> record_event.begin()
>>> data1 = paddle.randn(shape=[3])
>>> data2 = paddle.randn(shape=[3])
>>> result = data1 + data2
>>> record_event.end()
备注
RecordEvent 只有在 性能分析器 处于 RECORD 状态才会生效。
方法
begin()
记录开始的时间。
代码示例
>>> import paddle
>>> import paddle.profiler as profiler
>>> record_event = profiler.RecordEvent("record_sub")
>>> record_event.begin()
>>> paddle.seed(2023)
>>> data1 = paddle.randn(shape=[3])
>>> data2 = paddle.randn(shape=[3])
>>> result = data1 - data2
>>> record_event.end()
end()
记录结束的时间。
代码示例
>>> import paddle
>>> import paddle.profiler as profiler
>>> record_event = profiler.RecordEvent("record_mul")
>>> record_event.begin()
>>> paddle.seed(2023)
>>> data1 = paddle.randn(shape=[3])
>>> data2 = paddle.randn(shape=[3])
>>> result = data1 * data2
>>> record_event.end()