OP单测的_assert_is_close处理是否有问题?
Created by: heavengate
OP单测中grad的检测函数_assert_is_close
中,对判断相对误差的分母abs_a
做了小于1e-3
时置为1的处理。
由于op单测默认在op后添加mean loss,所以单测中output_grad tensor的梯度数值均为 1/output_size
, output_size
是OP output的元素个数,当output_size
较大时(比如>1000),output_grad
的梯度数值会很小,计算出input_grad
的数值也会很小,就会走到上述abs_a<1e-3
的逻辑,分母被置为1,这时input_grad
即使有较大diff也无法检测出来