I have not start coding yet, I will bring this up when start coding CNN. Thanks
CNN Question
#Input is 130 x 130 x RGB
nn.Conv2d(3, 10, 3) <- line 1
nn.MaxPool2d(4, 4) <- line 2 
nn.Conv2d(10, 20, 5, padding=2) <- line 3
nn.MaxPool2d(2, 2) <- line 4

so basically at line 1 the input depth is 3 and the output is 10
and we use this formula
( input_depth + 2*pad - kernel )/ stride + 1
to determine the image size
example 130 - 3 / 1 + 1 = 128
From what I read the depth will be increasing ( from 3 to 20 ) and the image size will reduce ( divide by 4 and 2 )
Image will reduce due to MaxPool downscaling.
So when we see  nn.MaxPool2d(4, 4) , the image will be divided by 4 . Is there a chance that the tuple of (4,4) will be a different value ?
So at line 2 will shrink by factor of 4 and at line 4 will shrink by a factor 2 .
Side tack
Also, if we want to maintain the image size with known kernel size and use padding to compensate we just use the following formula right?
( input_depth + 2*pad - kernel )/ stride + 1 = input_depth  then re-arrange to find pad unknown