Open leolln opened 7 months ago
Detailed résults :
Freeze_encoder = False :
encoder_weights='imagenet' Last Train IOU : 0.26 Last Val IOU : 0.08 Mean Test IOU : 0.15
encoder_weights=None Last Train IOU : 0.31 Last Val IOU : 0.09 Mean Test IOU : 0.27
Encoder_freeze = True,
encoder_weights='imagenet'
Train IOU : 0.11
Val IOU : 0.04
Test : 0.08
encoder_weights='None'
Train : 0.3
Val : 0.05
Test : 0.14
when making encoder_freezes
= True , it freezes the weights from being changed any further (its static)
when making encoder_weights
= "None" it does random initialisation , so randomly setting the weights , which can range either in the high range or in the lower range
so now when you make encoder_weights
= None and encoder_freeze
= True, it may have freezed the weight values where the Random weights performed better than the imagenet but this random initialisation varies at every run command so yeah.
Hello ! My use case is as follows:
I'm working on images from the Cityscapes dataset that I'm trying to segment.
I have a tensorflow train dataset with around 60 images. Resized to 512 px. I'm trying to compare the performance of my network with and without pre trained weigths and the impact is very limited I'm struggling to understand why.
When I use encoder_weights='imagenet' I got Last Train IOU : 0.15 Last Val IOU : 0.04 Mean Test IOU : 0.15
When I use encoder_weights=None I got Last Train IOU : 0.31 Last Val IOU : 0.09 Mean Test IOU : 0.27
Is there something I am missing ? How can I check that the pre-trained weights are correctly loaded / used ?
Thank you very much !