hello!
when i have a graph like below
> %0 = nn.conv2d(%data, %conv1_1_weight, padding=[1, 1], channels=64, kernel_size=[3, 3]) /* ty=Tensor[(1, 64, 224, 224), float32] */;
> %1 = nn.bias_add(%0, %conv1_1_bias) /* ty=Tensor[(1, 64, 224, 224), float32] */;
> %2 = nn.relu(%1) /* ty=Tensor[(1, 64, 224, 224), float32] */;
> %3 = nn.conv2d(%2, %conv1_2_weight, padding=[1, 1], channels=64, kernel_size=[3, 3]) /* ty=Tensor[(1, 64, 224, 224), float32] */;
> %4 = nn.bias_add(%3, %conv1_2_bias) /* ty=Tensor[(1, 64, 224, 224), float32] */;
> %5 = nn.relu(%4) /* ty=Tensor[(1, 64, 224, 224), float32] */;
> %6 = nn.max_pool2d(%5, pool_size=[2, 2], strides=[2, 2]) /* ty=Tensor[(1, 64, 112, 112), float32] */;
the Conv2d %0 and %3 has same feature ( filter and kernel size… ) and when i lower them into halide IR, they gnerate one Halide IR code because there are no need to make same conv2d function.
but i want to split them into a different Halide IR. because i want to modify %3 conv2d’s Halide IR. is there any solution that split halide ir from same conv2d graph???