Hi, I am using TVM to load an MXNet model and saw there is two consecutive 
`add` that do not get constant folded. Below are three screenshots showing 
**(1) the Original MXNet model** **(2) the model without `FoldConstant` and 
`FoldScaleAxis`** **(3) with the relay transforms as below, which has two 
consecutive `add`**

    relay.transform.RemoveUnusedFunctions(),
    relay.transform.CanonicalizeOps(),
    relay.transform.InferType(), 
    relay.transform.SimplifyInference(),
    relay.transform.FoldConstant(),  # Commented out in (2)
    relay.transform.FoldScaleAxis(), # Commented out in (2)
    relay.transform.EliminateCommonSubexpr(),

**(1) the Original MXNet model**
![image|690x201](upload://41C8UlxYu34t45X9Tq4iZbVYsQ4.png) 

**(2) the model without `FoldConstant` and `FoldScaleAxis`**

    relay.transform.RemoveUnusedFunctions(),
    relay.transform.CanonicalizeOps(),
    relay.transform.InferType(), 
    relay.transform.SimplifyInference(),
    relay.transform.EliminateCommonSubexpr(),

![image|690x450](upload://cpmys9m65ENHSkSe4PlBsKhlgDK.png) 

**(3) with the relay transforms as below, which has two consecutive `add`**

    relay.transform.RemoveUnusedFunctions(),
    relay.transform.CanonicalizeOps(),
    relay.transform.InferType(), 
    relay.transform.SimplifyInference(),
    relay.transform.FoldConstant(),  # Commented out in (2)
    relay.transform.FoldScaleAxis(), # Commented out in (2)
    relay.transform.EliminateCommonSubexpr(),

![image|413x500](upload://ekibEK06pMQwESrzBEUz3TjBRKB.png) 


Some suggestions about how to fold two `add` will be awesome!





---
[Visit 
Topic](https://discuss.tvm.apache.org/t/foldconstant-doesnt-fold-two-consecutive-add/8132/1)
 to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.apache.org/email/unsubscribe/53f01310e2f423bf2a7fd57d98606cf5e232e77657b1b4c83466d065b7458db6).

Reply via email to