Why or When should I use VGG16 in my cnn? what is the pros and cons to use this model?

I search but not found this answer. If you have references, I appreciate


I think you mixed up the terms that you do here. The task is called transfer learning and you FINETUNE the model.

  1. The reasoning is that after experimentation we found that earlylayers of CNN captures the general features of images such as edges,lines, etc, and later layers capture more specific features e.g. faces, shape of object. We only wish to alter the few layers or even only the output classifying layer.

  2. Pretrained model is trained with datasets that are most likely bigger than your dataset. Also because of reason number 1 and we have trained it with bigger dataset, we have first few layers that is able to generalize well and hence helps you combat overfitting.

  3. You save time and resource by doing this. First because you are only backpropagating within last few layers.

  4. Architecture-wise, people spend time researching how every features interact with image and hence it is recommended to use this architecture and published/publicly known result implies that it gives good result.

So in general it is recommended practice to do transfer learning for image classification unless you have a very strong reason not to do so. There are many resources that tells you how to do it.

Imo, VGG16 is outdated, it is also heavy and inefficient. You might want to check efficientnet.

Medium source regarding CNN filter. Medium source

  • $\begingroup$ Ok, but I need argue why I used vgg16 instead of others. There's some pros? $\endgroup$
    – 0nroth1
    Nov 17 '19 at 15:36
  • $\begingroup$ VGG16 is one of the earliest CNN model used for large-scale image recognition, and compared with current models I can tell you many more cons and almost no pros. he only pros of vgg16 is that it is easy to understand and easy to tinker with. You may see some application such as neural style transfer that use vgg16 as its base architecture, but for image classification, I would say please don't use it. $\endgroup$ Nov 18 '19 at 1:39

Not the answer you're looking for? Browse other questions tagged or ask your own question.