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