0
$\begingroup$

I am trying to apply a self supervised task as stated in this github repo.The Self-Supervised Sketch Recognition

In this work, authors are using 345.000 image samples to train the model and the dataset is constructed by rotating the images in 0/90/180/270 degrees. So the number of classes is 4.

When I train the model, I can get the best model recorded as the best epoch with the above parameters. (Alexnet is used in training with *.png files)

Then I need to apply this model and weights to downstream tasks, where there are 345 different classes. (But the trained model is with 4 classes) I know they do not need to be the same but I am confused how to make transfer learning..

Should I train the model again with the weights I received in pretext tasks? Or what should I do? Any reference or sample project is greatly welcome.

Thanks in advance...

$\endgroup$

1 Answer 1

0
$\begingroup$

For those who happened to come across my question, I solved my problem.

After training the model, I initiated the network with the trained parameters (weights). Then as I have a loaded model, I removed the last output neurons, which was 4 ea. and I added 345 neurons.

Afterwards, I froze the all neurons's weights except the last last layer of 345 and trained the model again to adjust last added weights.

Then voila!

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .