Skip to content

Commit 6c66b6e

Browse files
authored
Fix accuracy bitwise_alignment bug (#600)
1 parent c5f7fdf commit 6c66b6e

File tree

3 files changed

+19
-32
lines changed

3 files changed

+19
-32
lines changed

engineV2-README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@
8888
| `--random_seed` | int | numpy random的随机种子(默认为0,此时不会显式设置numpy random的seed) |
8989
| `--custom_device_vs_gpu` | bool | 启用自定义设备与GPU的精度对比测试模式(默认 False) |
9090
| `--custom_device_vs_gpu_mode` | str | 自定义设备与GPU对比的模式:`upload``download`(默认 `upload`|
91-
| `--bitwise_alignment` | bool | 是否进行诸位对齐对比,开启后所有的api的精度对比都按照atol=0.0,rtol = 0.0的精度对比结果|
92-
91+
| `--bitwise_alignment` | bool | 是否进行诸位对齐对比,开启后所有的api的精度对比都按照atol=0.0,rtol = 0.0的精度对比结果(默认False)|
92+
| `--exit_on_error` | bool | 是否在精度测试出现`paddle_error`或者 `accuracy_error` 错误时立即退出测试进程(exit code 为1)。默认为False,测试进程会继续执行 |
9393
9494
### 示例命令
9595

engineV2.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@
5353
"random_seed",
5454
"bos_conf_path",
5555
"bcecmd_path",
56+
"bitwise_alignment",
57+
"exit_on_error",
5658
}
5759

5860
DEVICE_TYPE = None
@@ -496,6 +498,8 @@ def run_test_case(api_config_str, options):
496498
os._exit(99)
497499
if "CUDA out of memory" in str(err) or "Out of memory error" in str(err):
498500
os._exit(98)
501+
if "AssertionError" in str(err) or "Tensor-likes are not equal" in str(err):
502+
os._exit(1)
499503
# if not fatal error, subprocess will be alive and report error
500504
print(f"[test error] {api_config_str}: {err}", flush=True)
501505
raise
@@ -680,6 +684,12 @@ def main():
680684
default=False,
681685
help="Whether to using bitwise alignment when run accuracy test",
682686
)
687+
parser.add_argument(
688+
"--exit_on_error",
689+
type=parse_bool,
690+
default=False,
691+
help="Whether to exit the process when a paddle_error occurs.",
692+
)
683693

684694
options = parser.parse_args()
685695
print(f"Options: {vars(options)}", flush=True)
@@ -821,12 +831,19 @@ def main():
821831
rtol=options.rtol,
822832
test_tol=options.test_tol,
823833
bitwise_alignment=options.bitwise_alignment,
834+
exit_on_error=options.exit_on_error,
824835
)
825836
else:
826837
case = test_class(api_config, test_amp=options.test_amp)
827838
try:
828839
case.test()
829840
except Exception as err:
841+
if (
842+
"Tensor-likes are not equal" in str(err)
843+
or "Mismatched elements" in str(err)
844+
or "Tensor-likes are not equal" in str(err)
845+
):
846+
exit(1)
830847
print(f"[test error] {options.api_config}: {err}", flush=True)
831848
finally:
832849
case.clear_tensor()

tester/api_config/monitor_config/accuracy/GPU/monitoring_configs_4.txt

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -233951,48 +233951,18 @@ paddle.ldexp(Tensor([247],"float64"), Tensor([247],"int32"), )
233951233951
paddle.ldexp(Tensor([5, 6, 6],"float16"), Tensor([6],"int32"), )
233952233952
paddle.ldexp(Tensor([5, 6, 6],"float64"), Tensor([6],"int32"), )
233953233953
paddle.ldexp(Tensor([],"float32"), Tensor([],"float32"), )
233954-
paddle.lerp(Tensor([1, 1, 1],"float32"), Tensor([3, 28, 28],"float32"), 0.36, )
233955233954
paddle.lerp(Tensor([1, 1, 1],"float32"), Tensor([3, 8, 8],"float32"), 0.3, )
233956233955
paddle.lerp(Tensor([1, 28, 28],"float32"), Tensor([3, 28, 28],"float32"), 1.0, )
233957-
paddle.lerp(Tensor([1, 3, 3],"float32"), Tensor([1, 3, 3],"float32"), Tensor([1, 3, 3],"float32"), )
233958-
paddle.lerp(Tensor([1, 3, 3],"float64"), Tensor([1, 3, 3],"float64"), Tensor([1, 3, 3],"float64"), )
233959-
paddle.lerp(Tensor([1, 3, 4],"float64"), Tensor([1, 3, 4],"float64"), Tensor([1, 3, 4],"float64"), )
233960233956
paddle.lerp(Tensor([1, 3],"float64"), Tensor([1, 3],"float64"), Tensor([1, 3],"float64"), )
233961-
paddle.lerp(Tensor([1, 8, 8],"float32"), Tensor([3, 8, 8],"float32"), 1.1, )
233962-
paddle.lerp(Tensor([10, 1, 10, 5, 5],"float32"), Tensor([10, 5, 1, 5, 5],"float32"), Tensor([1],"float32"), )
233963-
paddle.lerp(Tensor([10, 10, 5, 5],"float32"), Tensor([10, 10, 5, 5],"float32"), Tensor([5],"float32"), )
233964-
paddle.lerp(Tensor([10, 5, 10, 1, 5],"float32"), Tensor([10, 5, 10, 5, 1],"float32"), Tensor([1],"float32"), )
233965233957
paddle.lerp(Tensor([1],"float32"), Tensor([1],"float32"), Tensor([1],"float32"), )
233966-
paddle.lerp(Tensor([1],"float64"), Tensor([1],"float64"), Tensor([1],"float64"), )
233967-
paddle.lerp(Tensor([2, 1, 1, 1],"float32"), Tensor([2, 3, 8, 8],"float32"), 0.3, )
233968-
paddle.lerp(Tensor([2, 1, 8, 8],"float32"), Tensor([2, 3, 8, 8],"float32"), 1.1, )
233969-
paddle.lerp(Tensor([2, 1],"float32"), Tensor([2, 1],"float32"), Tensor([2, 1],"float32"), )
233970233958
paddle.lerp(Tensor([2, 2, 5],"float32"), Tensor([3, 2, 1, 5],"float32"), 0.5, )
233971-
paddle.lerp(Tensor([2, 3, 8, 8],"float32"), Tensor([2, 3, 8, 8],"float32"), 2.1, )
233972-
paddle.lerp(Tensor([2, 5],"float32"), Tensor([2, 2, 5],"float32"), Tensor([2, 2, 2, 5],"float32"), )
233973-
paddle.lerp(Tensor([3, 28, 28],"float32"), Tensor([3, 28, 28],"float32"), 1.2, )
233974-
paddle.lerp(Tensor([3, 6, 3, 1, 2, 5],"float64"), Tensor([3, 6, 3, 1, 2, 5],"float64"), Tensor([3, 6, 3, 1, 2, 5],"float64"), )
233975-
paddle.lerp(Tensor([3, 6, 3, 4, 1, 5],"float64"), Tensor([3, 6, 3, 4, 1, 5],"float64"), Tensor([3, 6, 3, 4, 1, 5],"float64"), )
233976-
paddle.lerp(Tensor([3, 6, 3, 4, 2, 1],"float64"), Tensor([3, 6, 3, 4, 2, 1],"float64"), Tensor([3, 6, 3, 4, 2, 1],"float64"), )
233977-
paddle.lerp(Tensor([3, 8, 8],"float32"), Tensor([3, 8, 8],"float32"), 2.1, )
233978-
paddle.lerp(Tensor([300, 2048],"float32"), Tensor([300, 2048],"float32"), Tensor([1],"float32"), )
233979-
paddle.lerp(Tensor([4, 1, 6],"float64"), Tensor([4, 1, 6],"float64"), Tensor([4, 1, 6],"float64"), )
233980-
paddle.lerp(Tensor([4, 1],"float32"), Tensor([4, 1],"float32"), Tensor([4, 1],"float32"), )
233981-
paddle.lerp(Tensor([4, 1],"float64"), Tensor([4, 1],"float64"), Tensor([4, 1],"float64"), )
233982-
paddle.lerp(Tensor([4, 7, 1],"float64"), Tensor([4, 7, 1],"float64"), Tensor([4, 7, 1],"float64"), )
233983233959
paddle.lerp(Tensor([4],"float32"), Tensor([4],"float32"), Tensor([4],"float32"), )
233984-
paddle.lerp(Tensor([5, 1, 4],"float64"), Tensor([5, 1, 4],"float64"), Tensor([5, 1, 4],"float64"), )
233985-
paddle.lerp(Tensor([5, 1],"float64"), Tensor([5, 1],"float64"), Tensor([5, 1],"float64"), )
233986-
paddle.lerp(Tensor([64, 64],"float32"), Tensor([],"float32"), Tensor([],"float32"), )
233987-
paddle.lerp(Tensor([7, 1],"float64"), Tensor([7, 1],"float64"), Tensor([7, 1],"float64"), )
233988233960
paddle.lerp(Tensor([],"float32"), Tensor([64, 64],"float32"), Tensor([],"float32"), )
233989233961
paddle.lerp(Tensor([],"float32"), Tensor([],"float32"), 0.5, )
233990-
paddle.lerp(Tensor([],"float32"), Tensor([],"float32"), Tensor([],"float32"), )
233991233962
paddle.lerp(x=Tensor([4, 5, 4, 3],"float64"), y=Tensor([4, 5, 4, 3],"float64"), weight=0.0, )
233992233963
paddle.lerp(x=Tensor([4, 5, 4, 3],"float64"), y=Tensor([4, 5, 4, 3],"float64"), weight=0.5, )
233993233964
paddle.lerp(x=Tensor([4, 5, 4, 3],"float64"), y=Tensor([4, 5, 4, 3],"float64"), weight=1.0, )
233994233965
paddle.lerp(x=Tensor([4, 5, 4],"float64"), y=Tensor([4, 5, 4],"float64"), weight=0.5, )
233995-
paddle.lerp(x=Tensor([4, 5],"float64"), y=Tensor([1],"float64"), weight=0.2, )
233996233966
paddle.lerp(x=Tensor([4, 5],"float64"), y=Tensor([4, 5],"float64"), weight=0.5, )
233997233967
paddle.lerp(x=Tensor([4],"float32"), y=Tensor([4],"float32"), weight=0.5, )
233998233968
paddle.lerp(x=Tensor([4],"float64"), y=Tensor([4],"float64"), weight=0.5, )

0 commit comments

Comments
 (0)