tvm-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <...@apache.org>
Subject [GitHub] [incubator-tvm] comaniac edited a comment on pull request #5689: [PatternLang] Add ConstantPattern
Date Thu, 28 May 2020 23:11:36 GMT

comaniac edited a comment on pull request #5689:
URL: https://github.com/apache/incubator-tvm/pull/5689#issuecomment-635663626


   OK I can finally reproduce this case:
   
   ```
   fn (%x: Tensor[(1, 3, 224, 224), float32], %b: Tensor[(3), float32]) -> Tensor[(1, 3,
222, 222), float32] {
     %1 = fn (%x1: Tensor[(1, 3, 224, 224), float32], %b1: Tensor[(3), float32], Composite="pat")
-> Tensor[(1, 3, 222, 222), float32] {
       %0 = nn.conv2d(%x1, meta[relay.Constant][0] /* ty=Tensor[(3, 3, 3, 3), float64] */
/* ty=Tensor[(3, 3, 3, 3), float64] */, padding=[0, 0, 0, 0]) /* ty=Tensor[(1, 3, 222, 222),
float32] */;
       nn.bias_add(%0, %b1) /* ty=Tensor[(1, 3, 222, 222), float32] */
     };
     %1(%x, %b) /* ty=Tensor[(1, 3, 222, 222), float32] */
   }
   // meta data omitted. you can use show_meta_data=True to include meta data
   
   ```
   
   Combining wih the previous example, we know that old `MergeComposite` preserves constant
node when the pattern is also a constant; otherwise it will lift constant nodes. In the DNNL
codegen, the patterns are all specified as VarNode, so the case that matches a pattern with
constant nodess never shows up in unit tests and that's why we missed it.
   
   However, I personally think this behavior is weird. General speaking, whatever we specify
`var` or `const` in the pattern, we may need or not need constant lifting. It seems to me
that this partition behavior should not be bind with patterns but should be a partition option.
   
   Anyways, I think the behavior of constant lifting should be discussed in another topic
and does not relate to this PR.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



Mime
View raw message