Build UNet from scratch in PyTorch — encoder-decoder architecture with skip connections, Dice + CE loss, trained on Oxford-IIIT Pet.