Your activation is just too small for the current model architecture.
Each conv layer uses a kernel size of 5 without padding, i.e. your activation will lose 4 pixel in its width and height.
After each conv you are halving the activation using pooling.
For an input of size [50, 70] you  will run into this error, since the sizes would be:
...
x = F.relu(self.pool(self.conv1(x))) # [23, 33]
x = F.relu(self.pool(self.conv2(x))) # [9, 14]
x = F.relu(self.pool(self.conv3(x))) # [2, 5]
# output is too small for conv4 with kernel_size=5
x = F.relu(self.pool(self.conv4(x)))

Try to use padding=2 to keep the shape or modify your model architecture.