You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When applying optimization passes in TVM, there is a discrepancy in the results between directly applying opt_a(opt_b(mod)) and using a sequential optimization approach, where seq_ab = tvm.ir.transform.Sequential([opt_a, opt_b]) and seq_ba = tvm.ir.transform.Sequential([opt_b, opt_a]) are used.
Additionally, this issue seems to occur specifically when one of the optimizations is FakeQuantizationToInteger.
Actual behavior
Both structure and inference results of two mods which are applied optimizations by two ways are inconsistent.
Traceback information:
AssertionError:
Not equal to tolerance rtol=0.01, atol=0.01
Mismatched elements: 1 / 18 (5.56%)
Max absolute difference: 1.3370061e+08
Max relative difference: 3.0688565e+10
x: array([[[1.859827e-001]],
[[3.138568e-311]],...
y: array([[[ 1.859827e-001]],
[[ 1.022716e-321]],...
If you call a pass directly (instead of using Sequential, it will bypass the check for opt_level, required_pass, etc.
Thank you for your response. However, I'm curious to understand why executing optimizations in the Sequential manner still results in inconsistency with different orderings.
When applying optimization passes in TVM, there is a discrepancy in the results between directly applying opt_a(opt_b(mod)) and using a sequential optimization approach, where seq_ab = tvm.ir.transform.Sequential([opt_a, opt_b]) and seq_ba = tvm.ir.transform.Sequential([opt_b, opt_a]) are used.
Additionally, this issue seems to occur specifically when one of the optimizations is
FakeQuantizationToInteger
.Actual behavior
Both structure and inference results of two mods which are applied optimizations by two ways are inconsistent.
Traceback information:
Environment
Steps to reproduce
Triage
The text was updated successfully, but these errors were encountered: