Advanced CNN models
In this section, we’ll discuss some complex CNN models. They are available in both PyTorch and Keras, with pre-trained weights on the ImageNet dataset. You can import and use them directly, instead of building them from scratch. Still, it’s worth discussing their central ideas as an alternative to using them as black boxes.
Most of these models share a few architectural principles:
- They start with an “entry” phase, which uses a combination of stride convolutions and/or pooling to reduce the input image size at least two to eight times, before propagating it to the rest of the network. This makes a CNN more computationally- and memory-efficient because the deeper layers work with smaller slices.
- The main network body comes after the entry phase. It is composed of multiple repeated composite modules. Each of these modules utilizes padded convolutions in such a way that its input and output slices are the same size. This makes...