Complete notebook hosted on kaggle: https://www.kaggle.com/garfieldchh/ssd-notebook?scriptVersionId=22738992
I am trying to modify SSD notebook to work with Pascal VOC dataset.
Basically, I keep all the notebook code. The only modification I made is to define custom data loader that creates the train_iterator.
I am certain that my custom data loader works fine because the bounding box and label are all correct as demonstrated by the screenshot below.
I proceed to train my model. The training loss curve looks good and the loss after 20 epochs is not much worse than the pikachu dataset
However, when I run prediction on random test image. The result is terrible. Class prediction is entirely random and BBOX is not nearly as tight as the pikachu result
Why is the loss so low (close to the Pikachu loss ) and the prediction result so bad ( class prediction seems random ) ? Is the toy model just underfitting?
If there is a bug in my modification, I can’t really see where I made it. After all I copied the entire SSD notebook without zero change except replacing Pikachu dataset with Pascal dataset.
All inputs are appreciated. Thanks