compare_accuracy

paddle.amp.debugging. compare_accuracy ( dump_path, another_dump_path, output_filename, loss_scale=1, dump_all_tensors=False ) [源代码]

compare_accuracy 是一个精度比对的工具,可以用来比较 float16 和 float32 的 log 数据。

参数

  • dump_path (str): 运行日志的路径,比如数据类型是 float32 的训练日志。

  • another_dump_path (str): 另一份运行日志的路径,比如数据类型是 float16 的训练日志。

  • output_filename (str): 输出 excel 的文件名,用于保存两份日志的比对结果。

  • loss_scale (float, 可选): 训练阶段的 loss_scale,默认是 1。

  • dump_all_tensors (bool, 可选): True 表示 dump 所有的 tensor 数据,False 表示不做处理,当前还不支持这个参数,默认是 False。

返回值

代码示例

>>> import paddle
>>> from paddle.base import core
>>> try:
...     import xlsxwriter as xlw
... except ImportError:
...     import subprocess
...     subprocess.check_call(
...         ['python', '-m', 'pip', 'install', 'xlsxwriter==3.0.9']
...     )
...     import xlsxwriter as xlw
...     if core.is_compiled_with_cuda():
...         paddle.set_flags(
...             {"FLAGS_check_nan_inf": 1, "FLAGS_check_nan_inf_level": 3}
...         )
...         path = "workerlog_log_dir"
...         paddle.base.core.set_nan_inf_debug_path(path)
...         x = paddle.to_tensor(
...             [2, 3, 4, 0], dtype="float32"
...         )
...         y = paddle.to_tensor(
...             [1, 5, 2, 0], dtype="float32"
...         )
...         z1 = x + y
...         out_excel = "compare_accuracy_out_excel.csv"
...         paddle.amp.debugging.compare_accuracy(
...             path, path, out_excel, loss_scale=1, dump_all_tensors=False
...         )