sithu31296 / semantic-segmentation

SOTA Semantic Segmentation Models in PyTorch
MIT License
850 stars 151 forks source link

Questions about model training. #4

Closed MsWik closed 3 years ago

MsWik commented 3 years ago

I have a task to train a model for segmentation of satellite images. Initially I used tf because I know it better. I use iou_score from segmentation_models as an error. By training classic Unet + Adam I get iou_score > 0.9, for 256256 and a significant drop in iou_score for 512512. However, Unet is too slow. I tried training ddrnet_23_slim however iou_score was in the 0.7 range which is not satisfactory to me. Usually an acceptable result could be achieved in 20-30 epochs (within 2 hours on V100) for a dataset of about 10000-15000 images.

The question is how many epochs are usually needed for relatively small sets to get acceptable results using the segformer b0-b3 example.

What other models besides segformer can you recommend for real time applications on jetson type devices.

Thank you.

sithu31296 commented 3 years ago

For real-time applications in transformer models, only segformer-b0 or b1 can be used. In my testing, HarDNet performs better than DDRNet. BiSeNetv2 is also good for real-time (check here https://github.com/CoinCheung/BiSeNet).

Your dataset of size 10k images is relatively large compared to cityscapes. So try tuning hyperparameters and see the tensorboard graphs to get an idea.

sithu31296 commented 3 years ago

I'm now closing this issue. If you have any questions, re-open this issue.