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()