collect_operator_stats

paddle.amp.debugging. collect_operator_stats ( ) [source]

The context switcher to enable to collect the number of operators for different data types. The statistical data are categorized according to four data types, namely float32, float16, bfloat16 and others, and will be printed when exiting the context.

Examples

>>> import paddle

>>> conv = paddle.nn.Conv2D(3, 2, 3)
>>> x = paddle.rand([10, 3, 32, 32])

>>> with paddle.amp.debugging.collect_operator_stats():
...     # AMP list including conv2d, elementwise_add, reshape2, cast (transfer_dtype)
...     with paddle.amp.auto_cast(enable=True, level='O2'):
...         out = conv(x)
>>> # Print to the standard output.
>>> # <------------------------------------------------------- op list -------------------------------------------------------->
>>> # <--------------- Op Name ---------------- | -- FP16 Calls --- | -- BF16 Calls --- | --- FP32 Calls--- | -- Other Calls -->
>>> #   conv2d                                  |  1                |  0                |  0                |  0
>>> #   elementwise_add                         |  0                |  0                |  1                |  0
>>> #   reshape2                                |  0                |  0                |  1                |  0
>>> #   transfer_dtype                          |  1                |  0                |  2                |  0
>>> # <----------------------------------------------------- op count: 4 ------------------------------------------------------>