Dear All,

I am wondering how can I write a Relay pass that tiles conv2d by the output 
channels (data partitioning)  in Relay graph level? 

For example, let us assume that I have some relay program like below, and I 
want to able to traverse the relay graph that contains this conv2d, and able to 
re-write it to one below **with two conv2d**? 

```
kernel_size = 3
# N, C, H, W
input_shape = (1, 4, 10, 10)

# OIHW 
out_channels = 6
weight_shape = (**out_channels**, 4, kernel_size, kernel_size)

conv2d  = relay.nn.conv2d(
input,
weight,
channels = **out_channels **,
kernel_size = 3
)
```

Translate this into 

```
conv2d_1  = relay.nn.conv2d(
input,
weight,
channels = **out_channels/2 **,
kernel_size = 3
)

conv2d_2  = relay.nn.conv2d(
input,
weight,
channels = **out_channels/2 **,
kernel_size = 3
)

conv2d_final = tvm.relay.concatenate (conv2d_1, conv2d_2 )

```





---
[Visit 
Topic](https://discuss.tvm.ai/t/relay-level-tiling-of-conv2d-or-any-operator/6621/1)
 to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.ai/email/unsubscribe/7af26b012424c3213cc80f49e2ae4fee054f4566e0d340450cc865d7218a03fb).

Reply via email to