I think there is no such thing as ‘SAME’ or ‘VALID’ as in TF/Keras when defining your convolution layer, instead you define your own padding with a tuple, as stated in the docs padding (int or tuple, optional) – Zero-padding added to both sides of the input for torch.nn.Conv2d.