Paddle 如果我想跳过单元测试中,关于fp64的所有测试,应该如何做

jyztefdp  于 5个月前  发布在  其他
关注(0)|答案(6)|浏览(50)

请提出你的问题 Please ask your question

在特殊情况下,我们的设备在fp64下的精度等价于fp32,因此无法通过低阈值的fp64测试。
在paddle/test路径下进行测试,我发现大部分集成自OpTest的测试用例,都以fp64为默认数据类型,并会进行check_prim,check_prim_pir等多种测试。
我想在某个op中放宽fp64的相关测试条件,首先我将op加入了NEED_FIX_FP64_CHECK_GRAD_THRESHOLD_OP_LIST中,这能让op在更高的错误阈值下通过测试,如elementwise_add等。
但某些op,如elementwise_div,无法通过check_prim测试(不明白该测试的具体含义),因为该测试中的rtol=1e-15。
那么我该如何做,才能在尽量不修改测试用例的情况下,让op顺利通过包括fp64在内的所有测试呢?

jgwigjjp

jgwigjjp1#

check_prim等测试与check_grad中的测试过程有何区别呢?该测试的实际意义是什么?

xlpyo6sf

xlpyo6sf2#

您好,请问这是在什么情况下进行的测试,是在提交PR时进行的CI测试吗?还是在您自己的机器上进行的测试,或是其他情况?

bvn4nwqk

bvn4nwqk3#

您好,请问这是在什么情况下进行的测试,是在提交PR时进行的CI测试吗?还是在您自己的机器上进行的测试,或是其他情况?

目前是在我自己的机器上进行的测试,想知道如何跳过某op在fp64类型下的测试

bbmckpt7

bbmckpt74#

您好,请问这是在什么情况下进行的测试,是在提交PR时进行的CI测试吗?还是在您自己的机器上进行的测试,或是其他情况?

目前是在我自己的机器上进行的测试,想知道如何跳过某op在fp64类型下的测试

以及check_prim的测试意义是什么,可以跳过吗?

exdqitrt

exdqitrt5#

您好,请问这是在什么情况下进行的测试,是在提交PR时进行的CI测试吗?还是在您自己的机器上进行的测试,或是其他情况?

目前是在我自己的机器上进行的测试,想知道如何跳过某op在fp64类型下的测试

以及check_prim的测试意义是什么,可以跳过吗?

check_prim是组合算子相关的测试,可以将check_prim改成False试试
以elementwise_add为例,需要设置这里第87行:

Paddle/test/legacy_test/test_elementwise_add_op.py

Line 87 in 5430186

| | check_prim=self.check_prim, |

相关问题