Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions engineV2-README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@
| `--random_seed` | int | numpy random的随机种子(默认为0,此时不会显式设置numpy random的seed) |
| `--custom_device_vs_gpu` | bool | 启用自定义设备与GPU的精度对比测试模式(默认 False) |
| `--custom_device_vs_gpu_mode` | str | 自定义设备与GPU对比的模式:`upload` 或 `download`(默认 `upload`) |
| `--bitwise_alignment` | bool | 是否进行诸位对齐对比,开启后所有的api的精度对比都按照atol=0.0,rtol = 0.0的精度对比结果|

| `--bitwise_alignment` | bool | 是否进行诸位对齐对比,开启后所有的api的精度对比都按照atol=0.0,rtol = 0.0的精度对比结果(默认False)|
| `--exit_on_error` | bool | 是否在精度测试出现`paddle_error`或者 `accuracy_error` 错误时立即退出测试进程(exit code 为1)。默认为False,测试进程会继续执行 |

### 示例命令

Expand Down
17 changes: 17 additions & 0 deletions engineV2.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@
"random_seed",
"bos_conf_path",
"bcecmd_path",
"bitwise_alignment",
"exit_on_error",
}

DEVICE_TYPE = None
Expand Down Expand Up @@ -496,6 +498,8 @@ def run_test_case(api_config_str, options):
os._exit(99)
if "CUDA out of memory" in str(err) or "Out of memory error" in str(err):
os._exit(98)
if "AssertionError" in str(err) or "Tensor-likes are not equal" in str(err):
os._exit(1)
# if not fatal error, subprocess will be alive and report error
print(f"[test error] {api_config_str}: {err}", flush=True)
raise
Expand Down Expand Up @@ -680,6 +684,12 @@ def main():
default=False,
help="Whether to using bitwise alignment when run accuracy test",
)
parser.add_argument(
"--exit_on_error",
type=parse_bool,
default=False,
help="Whether to exit the process when a paddle_error occurs.",
)

options = parser.parse_args()
print(f"Options: {vars(options)}", flush=True)
Expand Down Expand Up @@ -821,12 +831,19 @@ def main():
rtol=options.rtol,
test_tol=options.test_tol,
bitwise_alignment=options.bitwise_alignment,
exit_on_error=options.exit_on_error,
)
else:
case = test_class(api_config, test_amp=options.test_amp)
try:
case.test()
except Exception as err:
if (
"Tensor-likes are not equal" in str(err)
or "Mismatched elements" in str(err)
or "Tensor-likes are not equal" in str(err)
):
exit(1)
print(f"[test error] {options.api_config}: {err}", flush=True)
finally:
case.clear_tensor()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -233951,48 +233951,18 @@ paddle.ldexp(Tensor([247],"float64"), Tensor([247],"int32"), )
paddle.ldexp(Tensor([5, 6, 6],"float16"), Tensor([6],"int32"), )
paddle.ldexp(Tensor([5, 6, 6],"float64"), Tensor([6],"int32"), )
paddle.ldexp(Tensor([],"float32"), Tensor([],"float32"), )
paddle.lerp(Tensor([1, 1, 1],"float32"), Tensor([3, 28, 28],"float32"), 0.36, )
paddle.lerp(Tensor([1, 1, 1],"float32"), Tensor([3, 8, 8],"float32"), 0.3, )
paddle.lerp(Tensor([1, 28, 28],"float32"), Tensor([3, 28, 28],"float32"), 1.0, )
paddle.lerp(Tensor([1, 3, 3],"float32"), Tensor([1, 3, 3],"float32"), Tensor([1, 3, 3],"float32"), )
paddle.lerp(Tensor([1, 3, 3],"float64"), Tensor([1, 3, 3],"float64"), Tensor([1, 3, 3],"float64"), )
paddle.lerp(Tensor([1, 3, 4],"float64"), Tensor([1, 3, 4],"float64"), Tensor([1, 3, 4],"float64"), )
paddle.lerp(Tensor([1, 3],"float64"), Tensor([1, 3],"float64"), Tensor([1, 3],"float64"), )
paddle.lerp(Tensor([1, 8, 8],"float32"), Tensor([3, 8, 8],"float32"), 1.1, )
paddle.lerp(Tensor([10, 1, 10, 5, 5],"float32"), Tensor([10, 5, 1, 5, 5],"float32"), Tensor([1],"float32"), )
paddle.lerp(Tensor([10, 10, 5, 5],"float32"), Tensor([10, 10, 5, 5],"float32"), Tensor([5],"float32"), )
paddle.lerp(Tensor([10, 5, 10, 1, 5],"float32"), Tensor([10, 5, 10, 5, 1],"float32"), Tensor([1],"float32"), )
paddle.lerp(Tensor([1],"float32"), Tensor([1],"float32"), Tensor([1],"float32"), )
paddle.lerp(Tensor([1],"float64"), Tensor([1],"float64"), Tensor([1],"float64"), )
paddle.lerp(Tensor([2, 1, 1, 1],"float32"), Tensor([2, 3, 8, 8],"float32"), 0.3, )
paddle.lerp(Tensor([2, 1, 8, 8],"float32"), Tensor([2, 3, 8, 8],"float32"), 1.1, )
paddle.lerp(Tensor([2, 1],"float32"), Tensor([2, 1],"float32"), Tensor([2, 1],"float32"), )
paddle.lerp(Tensor([2, 2, 5],"float32"), Tensor([3, 2, 1, 5],"float32"), 0.5, )
paddle.lerp(Tensor([2, 3, 8, 8],"float32"), Tensor([2, 3, 8, 8],"float32"), 2.1, )
paddle.lerp(Tensor([2, 5],"float32"), Tensor([2, 2, 5],"float32"), Tensor([2, 2, 2, 5],"float32"), )
paddle.lerp(Tensor([3, 28, 28],"float32"), Tensor([3, 28, 28],"float32"), 1.2, )
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"), )
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"), )
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"), )
paddle.lerp(Tensor([3, 8, 8],"float32"), Tensor([3, 8, 8],"float32"), 2.1, )
paddle.lerp(Tensor([300, 2048],"float32"), Tensor([300, 2048],"float32"), Tensor([1],"float32"), )
paddle.lerp(Tensor([4, 1, 6],"float64"), Tensor([4, 1, 6],"float64"), Tensor([4, 1, 6],"float64"), )
paddle.lerp(Tensor([4, 1],"float32"), Tensor([4, 1],"float32"), Tensor([4, 1],"float32"), )
paddle.lerp(Tensor([4, 1],"float64"), Tensor([4, 1],"float64"), Tensor([4, 1],"float64"), )
paddle.lerp(Tensor([4, 7, 1],"float64"), Tensor([4, 7, 1],"float64"), Tensor([4, 7, 1],"float64"), )
paddle.lerp(Tensor([4],"float32"), Tensor([4],"float32"), Tensor([4],"float32"), )
paddle.lerp(Tensor([5, 1, 4],"float64"), Tensor([5, 1, 4],"float64"), Tensor([5, 1, 4],"float64"), )
paddle.lerp(Tensor([5, 1],"float64"), Tensor([5, 1],"float64"), Tensor([5, 1],"float64"), )
paddle.lerp(Tensor([64, 64],"float32"), Tensor([],"float32"), Tensor([],"float32"), )
paddle.lerp(Tensor([7, 1],"float64"), Tensor([7, 1],"float64"), Tensor([7, 1],"float64"), )
paddle.lerp(Tensor([],"float32"), Tensor([64, 64],"float32"), Tensor([],"float32"), )
paddle.lerp(Tensor([],"float32"), Tensor([],"float32"), 0.5, )
paddle.lerp(Tensor([],"float32"), Tensor([],"float32"), Tensor([],"float32"), )
paddle.lerp(x=Tensor([4, 5, 4, 3],"float64"), y=Tensor([4, 5, 4, 3],"float64"), weight=0.0, )
paddle.lerp(x=Tensor([4, 5, 4, 3],"float64"), y=Tensor([4, 5, 4, 3],"float64"), weight=0.5, )
paddle.lerp(x=Tensor([4, 5, 4, 3],"float64"), y=Tensor([4, 5, 4, 3],"float64"), weight=1.0, )
paddle.lerp(x=Tensor([4, 5, 4],"float64"), y=Tensor([4, 5, 4],"float64"), weight=0.5, )
paddle.lerp(x=Tensor([4, 5],"float64"), y=Tensor([1],"float64"), weight=0.2, )
paddle.lerp(x=Tensor([4, 5],"float64"), y=Tensor([4, 5],"float64"), weight=0.5, )
paddle.lerp(x=Tensor([4],"float32"), y=Tensor([4],"float32"), weight=0.5, )
paddle.lerp(x=Tensor([4],"float64"), y=Tensor([4],"float64"), weight=0.5, )
Expand Down