RuntimeError: sizes must be non-negative

Input is 32x32x3 image.
How can I fix this error?
RuntimeError: sizes must be non-negative

        self.network = nn.Sequential(
            nn.Conv2d(in_channels=3, out_channels=64, kernel_size=5, stride=1, padding=0),
            nn.ReLU(True),
            nn.MaxPool2d(kernel_size=3, stride=2),

            nn.Conv2d(in_channels=64, out_channels=64, kernel_size=5, stride=1, padding=0),
            nn.ReLU(True),
            nn.MaxPool2d(kernel_size=3, stride=2),

            nn.Conv2d(in_channels=64, out_channels=128, kernel_size=5, stride=1, padding=0),
            nn.ReLU(True)
        )

You can calculate the output size of each layer and see that when it reaches the last conv layer, the feature map gets smaller than the receptive field (5x5).

1x3x32x32 --> 1x3x28x28 #after conv1
1x3x28x28 --> 1x3x13x13 #after maxpool1 (use padding=1, if you want 14x14)

1x3x13x13 --> 1x3x9x9 # after conv2
1x3x9x9   --> 1x3x4x4 # after maxpool2

1x3x4xx   --> ?? (not enough size to perform convolution)