请提出你的问题 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在内的所有测试呢?
6条答案
按热度按时间jgwigjjp1#
check_prim等测试与check_grad中的测试过程有何区别呢?该测试的实际意义是什么?
xlpyo6sf2#
您好,请问这是在什么情况下进行的测试,是在提交PR时进行的CI测试吗?还是在您自己的机器上进行的测试,或是其他情况?
bvn4nwqk3#
您好,请问这是在什么情况下进行的测试,是在提交PR时进行的CI测试吗?还是在您自己的机器上进行的测试,或是其他情况?
目前是在我自己的机器上进行的测试,想知道如何跳过某op在fp64类型下的测试
bbmckpt74#
您好,请问这是在什么情况下进行的测试,是在提交PR时进行的CI测试吗?还是在您自己的机器上进行的测试,或是其他情况?
目前是在我自己的机器上进行的测试,想知道如何跳过某op在fp64类型下的测试
以及check_prim的测试意义是什么,可以跳过吗?
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, |
5rgfhyps6#
好的,谢谢