With requires_grad=True , the weight values of the convolutional layers 1-5 change in each epoch.
With requires_grad=False , the weight values of the convolutional layers remaine the same in each epoch. The fully connected layers (fc6, fc7 and classification) weights changed in each epoch.
Is this a proof, that the loading and freezing the conv-net layer is correct?

Yes.

If I understood you correctly, you worked on a similar transfer learning task and observed, that with pretraining the performance was worse than training with fully manually annoted data, correct? Do you mean the “accuracy” if you mention performance? In my case, the accuracy is in general also lower than training with manually annotated data from scratch. But depending on the filter sizes in the convolutional layers, classification with very little data (e.g. 15-20 per class) seem to be slightly better when the pretrained model is used. But I have to verify it more in detail.

Well, I worked on a NLP task but the idea was similar, yes. I pretrained my model M1 with automatically annotated data, then froze it, added a dense layer at the end and finetuned this new model M2 (read: I finetuned the new dense layer) with manually annotated data. Dev and test sets were always manually annotated data. With this model M2 I achieved around 42% F1-Score. M1 achieved 17% F1-Score. The model M1 trained on manually annotated data instead of automatically annotated data achived 65%.
It was a bit more complicated than that, but that’s the idea.