Questions about appending layers

Hi, guys.
When I add more layers, How can I decide in_channels and out_channels?
Is there any rules for deciding channel size ? or any tips?

Should channel of appending convolution layer is bigger than first in_channels in network
and smaller than out_channels of network ?

            nn.Conv2d(in_channels=3, out_channels=32, kernel_size=3),
            nn.ReLU(),
            nn.MaxPool2d(kernel_size=2),

            nn.Conv2d(in_channels=32, out_channels=????, kernel_size=3),
            ...
            nn.Conv2d(in_channels=????, out_channels=48, kernel_size=3),


            nn.Conv2d(in_channels=32, out_channels=48, kernel_size=3),
            nn.ReLU(),
            nn.MaxPool2d(kernel_size=2)