@giuseros I doesn't run it, but according to my understanding, these two
functions's inputs should be the same type (tvm.relay.expr). For example,
inside the alter_op_layout function we have logic:
```
# HWIO -> OIHW
kernel_transform = relay.transpose(inputs[1], axes=[3, 2, 0, 1])
# alpha, alpha, CO, CI
weight = relay.nn.contrib_conv2d_winograd_weight_transform(kernel_transform,
tile_size=tile_size)
```
relay.transpose requires its input's type is tvm.relay.expr.
For the doc of `conv2d_alter_layout`, it says we require tvm.relay.expr too:
```
@tvm.target.generic_func
def conv2d_alter_layout(attrs, inputs, tinfos, out_type):
"""Change Conv2D layout.
Parameters
----------
attrs : tvm.ir.Attrs
Attributes of current convolution
inputs : tvm.relay.Expr
Grouped input symbols
```
---
[Visit
Topic](https://discuss.tvm.apache.org/t/quantized-models-and-legalization-pass/8253/5)
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/ddfb664ef724a61ef67e877b792a612e48a0096dc3c4abe67c5e7d5257ee5709).