Well, when I finally upgraded my final project codes, I found a very interesting thing that I tried to reduce the feature dimensions after each conv layers. I had 3 conv layers and the input image have 3 dimensions and 28X28 size. The size would not change because I used padding to keep size the same. After the first conv layer the dimension became 16. And after the last layer the feature dimensions became 128. However, I wanted to use pooling layer to reduce the feature dimensions. I want to reduce it to 16 so that I can connect another layer after it without calculating the dimensions or input channels. Because if I do not do that the dimension might increase to 1000 or more.