Calculated padded input size per channel: (254 x 446 x 1). Kernel size: (3 x 3 x 64). Kernel size can't be greater than actual input size

Hi there, I have two problems…
I have a tensor with this shape: [16, 1, 256, 448, 1] , I applied a conv layer {kernel size: 331 and channels: 64} and the output is:[16, 64, 254, 446, 1] .
I wrote this code for the conv layer:
self.conv_1= nn.Sequential( nn.Conv3d(1,64, kernel_size=(3,3)), nn.ReLU() )
How to change it that the output be [16,64, 256, 448, 1]
then, I pass this tensor over a conv layer{kernel size: 3364 and channels: 64} I encountered an error:

RuntimeError: Calculated padded input size per channel: (254 x 446 x 1). Kernel size: (3 x 3 x 64). Kernel size can't be greater than actual input size

I wrote this code for the conv layer:

self.conv_2= nn.Sequential(
            nn.Conv3d(64,64, kernel_size=(3,3,64)),
            nn.ReLU()
        )

Would you mind helping me solve these problems

You can add padding to the convolution to keep the spatial sizes.

The conv_2 layer uses a kernel size of 64 in the last spatial dimension, while the activation input has a size of 1 in this dim. This won’t work, since the (padded) input activation needs to have at least the same size as the kernel.