I have a 5D tensor `x`

(frames of a video) and I want to upsample the spatial size (the last two dimensions) of this tensor but when I use upsampling, the last three dimensions of the tensor are upsampled. For upsampling I use the following class:

```
class Upsample(nn.Module):
def __init__(self, scale_factor, mode, align_corners=False):
self.interp = interpolate
self.scale_factor = scale_factor
self.mode = mode
self.align_corners=align_corners
def forward(self, x):
x = self.interp(x, scale_factor=self.scale_factor, mode=self.mode)
return x
```

And for example, the main class that I want to upsample a 5D tensor is as follows (I condensed my code):

```
class Main(nn.Module):
def __init__(self):
super(Main, self).__init__()
self.upsample = Upsample(scale_factor=2, mode='trilinear')
def forward(self, x):
x = self.upsample(x)
return x
```

To be clearer, for example by applying upsampling on a tensor of `x=(2,4,3,10,20)`

, the outcome based on the aforementioned class is `x=(2,4,6,20,40)`

but I need to have `x=(2,4,3,20,40)`

.

What is the problem and how can I solve this?