Every time you use Maxpool2d with stride 2, it halves your image resolution.
Here, You have used Maxpool2D twice, so your image size before passing it to the linear layer is (3 * 56 * 56),
So considering output channels = 16, size of input tensor to the linear layer should be (16 * 3 * 56 * 56) = 150528.