This repository provides an implementation of the U-Net architecture for semantic segmentation, specifically focusing on road detection in satellite imagery. The U-Net model is enhanced with modifications for Distributed Data Parallel (DDP) training, enabling faster training across multiple GPUs.
The dataset used in this project is based on road detection and includes satellite images paired with their corresponding segmentation masks.
The dataset used in this project is available on Kaggle. It contains high-resolution satellite images and their respective binary masks indicating road regions.
- Input Images: High-resolution satellite images.
- Masks: Binary masks where roads are labeled with
1and the background is labeled with0.
The dataset is split into:
- Training: 80% of the data
- Validation: 15% of the data
- Testing: 5% of the data
This implementation uses PyTorch's Distributed Data Parallel (DDP) to accelerate training across multiple GPUs. DDP ensures efficient gradient computation and synchronization, enabling faster convergence.
python main.py --data_path "/path/to/dataset" \
--total_epochs 100 \
--save_every 10 \
--batch_size_train 25 \
--batch_size_val 8 \
--checkpoint_path "/path/to/checkpoint.pt"