I have tensor `[1, 3, 256, 256, 3]`

. I want to reduce it to `[1, 3, 256, 256]`

. How can i do this ?

Thanks!

How would you like to reduce the last dimension?

In a simple way you could just call `x.mean(4)`

or another arithmetic operation.

I could bring the tensor to the form [1, 3, 1, 256, 256], in numpy I would be able to reduce the dimension of np.squeeze and add another axis to the 0 position, but can I do it in pytorch?

Iām not sure, which dimension you would like to squeeze or add, but PyTorch has also the method `squeeze()`

and `unsqueeze()`

to remove and add dimensions, respectively.

is there any way to reduce [1, 3, 256, 256, 3] to [1, 3, 256, 128, 3] ?

How would you like to reduce this dimension? Would you like to calculate the sum (or mean) of two neighboring values or just slice the tensor?

I solved it by using mean.

[1, 3, 256, 256, 3].view(1, 3, 2, 256*128, 3)

and then apply mean on third dimension.

I have lowered torch dimension of shape` torch.zeros([16, 3, 32, 32])`

into` [32,32,3]`

numpy array by

```
img = image.squeeze(0).detach().cpu().numpy()
print(img.shape) #(16, 3, 32, 32)
img = img[0, :,:,:].transpose(1,2,0)
print(img.shape # (32, 32, 3)
```