How did you calculate the number of patches?
According to the nn.Conv2d docs 10 you should get 18*12*15=3240 patches:
c = 407
h = 301
w = 360
dilation = 1
padding = 0
kernel_size = 64
stride = 20

print((c + 2*padding - dilation * (kernel_size - 1) - 1) / stride + 1)
print((h + 2*padding - dilation * (kernel_size - 1) - 1) / stride + 1)
print((w + 2*padding - dilation * (kernel_size - 1) - 1) / stride + 1)