block _conv (convolution (none block _conv (convolution (none block _conv (convolution (none block _pool (maxpooling (none ===============================================================total params you'll fine-tune the last three convolutional layerswhich means all layers up to block _pool should be frozenand the layers block _conv block _conv and block _conv should be trainable why not fine-tune more layerswhy not fine-tune the entire convolutional baseyou could but you need to consider the followingearlier layers in the convolutional base encode more-genericreusable featureswhereas layers higher up encode more-specialized features it' more useful to fine-tune the more specialized featuresbecause these are the ones that need to be repurposed on your new problem there would be fast-decreasing returns in fine-tuning lower layers the more parameters you're trainingthe more you're at risk of overfitting the convolutional base has million parametersso it would be risky to attempt to train it on your small dataset thusin this situationit' good strategy to fine-tune only the top two or three layers in the convolutional base let' set this upstarting from where you left off in the previous example listing freezing all layers up to specific one conv_base trainable true set_trainable false for layer in conv_base layersif layer name ='block _conv 'set_trainable true if set_trainablelayer trainable true elselayer trainable false now you can begin fine-tuning the network you'll do this with the rmsprop optimizerusing very low learning rate the reason for using low learning rate is that you want to limit the magnitude of the modifications you make to the representations of the three layers you're fine-tuning updates that are too large may harm these representations licensed to