I am trying to training with a PC using pytorch-ssd , and using model is MobileNet V2 Lite.
The desired labels are person, car and helipad.(total 3 classes)
I tried training using custom data, but the results are not good.
Looking at the model, there are car and person classes, which have quite high APs.
How to train a pre-trained model by adding one label(helipad) without deleting the existing classifier?
The training methods jetson-inference and pytorch-ssd are transfer learning.
However, I would like to do further training while retaining the training memory of the original model.
How can an train new content(helipad) while retaining previously learned content? (The Stability-Plasticity Dilemma)
Hi @3629701, although there may exist research on the topic, I haven’t tested this with pytorch-ssd, and if you add a new object class I would recommend re-training the model over your entire dataset. If you have a previous model, it may help to load that as the pretrained model to start with.
Your helipad class that has a lower mAP - how much training data do you have for that in relation to the other classes? If your dataset is inbalanced, you may want to collect/add more instances of that class to your dataset.
So, I tried training.
The datasets are 245 helipad, 200 Person+helipad, 200 Person, 360 Vehicle, for a total of 1000. (labels = helipad, Person, Vehicle)
Here is the result. (epoch 100, loss 1.19xx )
The images were not used for training.
Hi @3629701, your results look promising, good job! Yes, I would continue adding more data to your dataset. For a robust detector, you will want practically as much data as you can. Your loss seems okay, although you can continue training for more epochs to see if that helps.