Hi, I have met one scenario as bellow:
%60 = fn (%p08: Tensor[(1, 1280, 720, 20), float32], %p17: Tensor[(3, 3, 20, 20), float32], %p27: Tensor[(1, 1, 1, 20), float32], %p34: Tensor[(1, 1), float32], %p42: Tensor[(1, 1280, 720, 20), float32], hash=“ef71cf679b24179e”, data_layout=“NHWC”, kernel_layout=“HWIO”, Primitive=1, out_layout="") → Tensor[(1, 1280, 720, 20), float32] {
%11 = nn.conv2d(%p08, %p17, padding=[1, 1, 1, 1], kernel_size=[3, 3], data_layout=“NHWC”, kernel_layout=“HWIO”) /* ty=Tensor[(1, 1280, 720, 20), float32] */;
%12 = add(%11, %p27) /* ty=Tensor[(1, 1280, 720, 20), float32] */;
%13 = multiply(%12, %p34) /* ty=Tensor[(1, 1280, 720, 20), float32] */;
add(%13, %p42) /* ty=Tensor[(1, 1280, 720, 20), float32] */
};
%61 = %60(%59, meta[relay.Constant][31] /* ty=Tensor[(3, 3, 20, 20), float32] /, meta[relay.Constant][32] / ty=Tensor[(1, 1, 1, 20), float32] /, meta[relay.Constant][33] / ty=Tensor[(1, 1), float32] */, %57);
after playing around the passes, I found that multiply can not be folded in to conv and add. Is there any possibility that this mul can be folded?
thank you