Replacing indexing assigment with scatter for 5D tensor

I want to convert a model that uses in-place index assignment to an onnx model. According to the docs, the conversion doesn’t support in-place index assignment (https://pytorch.org/docs/stable/onnx.html#limitations), so I’m trying to rewrite the operation to a scatter operation, but I’m having difficulties doing this.

The current implementation looks something like this:

    for i in range(1, max_dimension):
            combined_tensor[:, num_channels:, i, :, i:] = right_tensor[:, :, :, :-i]

combined_tensor is of shape : (batch_size, num_channels*2, max_dimension, width, height) and right_tensor is of shape (batch_size, num_channels, width, height).

I want to build the indices to supply to the scatter operation, so I’m utilizing meshgrid in this way:

    idx = torch.meshrid(
            range(batch_size),
            range(num_channels, num_channels*2),
            range(max_dimension),
            range(width),
            range(height)[::-1]
        )

But I am unsure if this is the correct approach. Any guidance would be appreciated.