In CNN, the way we reduce the feature map size at layers is we use pooling. Pooling makes feature map size into half.
For the following network, if I want a new layer with feature map size somewhere around the middle between 30 and 15, what could be the way I can make changes of the network?
{'l_struct': [-1, -1, -1], 'grid_size': -1, 'l_name': 'data', 'rf_size': -1, 'stride': -1, 'n_channels': 3, 'Featuremap_size': 480}
{'l_struct': [3, 1, 1], 'grid_size': 1, 'l_name': 'conv_1', 'rf_size': 3, 'stride': 1, 'n_channels': 8, 'Featuremap_size': 480}
{'l_struct': [1, 1, 0], 'grid_size': 1, 'l_name': 'relu_1', 'rf_size': 3, 'stride': 1, 'n_channels': 8, 'Featuremap_size': 480}
{'l_struct': [2, 2, 0], 'grid_size': 2, 'l_name': 'pool_1', 'rf_size': 4, 'stride': 2, 'n_channels': 8, 'Featuremap_size': 240}
{'l_struct': [3, 1, 1], 'grid_size': 2, 'l_name': 'conv_2', 'rf_size': 8, 'stride': 2, 'n_channels': 8, 'Featuremap_size': 240}
{'l_struct': [1, 1, 0], 'grid_size': 2, 'l_name': 'relu_2', 'rf_size': 8, 'stride': 2, 'n_channels': 8, 'Featuremap_size': 240}
{'l_struct': [2, 2, 0], 'grid_size': 4, 'l_name': 'pool_2', 'rf_size': 10, 'stride': 4, 'n_channels': 8, 'Featuremap_size': 120}
{'l_struct': [3, 1, 1], 'grid_size': 4, 'l_name': 'conv_3', 'rf_size': 18, 'stride': 4, 'n_channels': 16, 'Featuremap_size': 120}
{'l_struct': [1, 1, 0], 'grid_size': 4, 'l_name': 'relu_3', 'rf_size': 18, 'stride': 4, 'n_channels': 16, 'Featuremap_size': 120}
{'l_struct': [2, 2, 0], 'grid_size': 8, 'l_name': 'pool_3', 'rf_size': 22, 'stride': 8, 'n_channels': 16, 'Featuremap_size': 60}
{'l_struct': [3, 1, 1], 'grid_size': 8, 'l_name': 'conv_4', 'rf_size': 38, 'stride': 8, 'n_channels': 16, 'Featuremap_size': 60}
{'l_struct': [1, 1, 0], 'grid_size': 8, 'l_name': 'relu_4', 'rf_size': 38, 'stride': 8, 'n_channels': 16, 'Featuremap_size': 60}
{'l_struct': [2, 2, 0], 'grid_size': 16, 'l_name': 'pool_4', 'rf_size': 46, 'stride': 16, 'n_channels': 16, 'Featuremap_size': 30}
{'l_struct': [3, 1, 1], 'grid_size': 16, 'l_name': 'conv_5', 'rf_size': 78, 'stride': 16, 'n_channels': 32, 'Featuremap_size': 30}
{'l_struct': [1, 1, 0], 'grid_size': 16, 'l_name': 'relu_5', 'rf_size': 78, 'stride': 16, 'n_channels': 32, 'Featuremap_size': 30}
{'l_struct': [2, 2, 0], 'grid_size': 32, 'l_name': 'pool_5', 'rf_size': 94, 'stride': 32, 'n_channels': 32, 'Featuremap_size': 15}
{'l_struct': [3, 1, 1], 'grid_size': 32, 'l_name': 'conv_6', 'rf_size': 158, 'stride': 32, 'n_channels': 32, 'Featuremap_size': 15}
{'l_struct': [1, 1, 0], 'grid_size': 32, 'l_name': 'relu_6', 'rf_size': 158, 'stride': 32, 'n_channels': 32, 'Featuremap_size': 15}