Hello! I'm trying to figure out the problem as said in the title. For example, 
when a module is built like:

```
with autotvm.apply_graph_best(graph_opt_sch_file):
  with tvm.transform.PassContext(opt_level=3):
    graph_factory = relay.build_module.build(mod, target=target, params=params)
```
the function `CallWithNewLayouts` in `alter_op_layout.cc` will be called, and 
it calls a series of functions all the way until
```
@conv2d_alter_layout.register("cpu")
def _alter_conv2d_layout(attrs, inputs, tinfos, out_type):
  ...
```
supposing the target is an x86 cpu. However, I only see this function changing 
the layout info in `attrs`, yet to see any change of the actual layout of 
tensors in the graph. If I debug this process and print the IR right after the 
`AlterOpLayout` pass I can see the shapes of tensors changed accordingly from 
4D to 5D/6D, and the `layout_transform` nodes are inserted. So my question here 
is when does this happen? Can anyone give me a pointer to the code?

Many thanks!





---
[Visit 
Topic](https://discuss.tvm.apache.org/t/where-does-the-layout-transform-of-each-op-happen-during-alter-op-layout-pass/8380/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/61e3d22ff8a6f5cfe3478e4b613aaebc0ffe52b7d294860a0012706d9928d6d5).

Reply via email to