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.fluid 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.fluid.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 = "compary_accuracy_out_excel.csv"
paddle.amp.debugging.compare_accuracy(
path, path, out_excel, loss_scale=1, dump_all_tensors=False
)