What is the best way to fine tune?

I want to perform transfer learning on a pre-trained model. First, I am freezing all pre-trained layers, adding last layer and training the last layer. I am training the last layer till accuracy does not improve further. Next, I unfreeze few layers and retrain again.

My question is:

Is it necessary for better accuracy to train the final layer for so long ? (before we unfreeze other layers)