Loading ONNX and changing the input layout

I’m trying to load and process an ONNX model. My processing supports NHWC inputs and operations, however, the model input, and operations are all in NCHW.

I know I can use ConvertLayout pass to change the data layout and kernel layout of certain operations, but that doesn’t change the input layout.

This is how I do that: model_obj = onnx.load(model_path) relay_module, params = tvm.relay.frontend.from_onnx(model_obj)

and this is the input shape of the main function: def @main(%Input3: Tensor[(1, 1, 28, 28), float32])

and I would like to have it like this: def @main(%Input3: Tensor[(1, 28, 28, 1), float32])

Can anyone help me with that?