Satellite Image Classifier (Custom CNN)
This repository contains a custom convolutional neural network trained on satellite imagery for land classification in France. The model is inspired by the foundational book Deep Learning with Pytorch, Eli Stevens, Luca Antiga, Thomas Viehmann
Dataset: hadrilec/satellite-pictures-classification-ign-france
π Model Architecture
class Net(nn.Module):
def __init__(self):
super().__init__()
self.conv1 = nn.Conv2d(3, 16, kernel_size=3, padding=1)
self.conv2 = nn.Conv2d(16, 8, kernel_size=3, padding=1)
self.fc1 = nn.Linear(8 * 64 * 64, 32)
self.fc2 = nn.Linear(32, 4)
def forward(self, x):
out = F.max_pool2d(torch.tanh(self.conv1(x)), 2)
out = F.max_pool2d(torch.tanh(self.conv2(out)), 2)
out = out.view(-1, 8 * 64 * 64)
out = torch.tanh(self.fc1(out))
out = self.fc2(out)
return out
Example Notebook
We provide an example notebook that demonstrates how to train the model:
This notebook is intended as a starting point for experimentation and helps you quickly see how to use the dataset in practice.
Accuracy is 0.9728
IT infrastructure
The model has been trained on Onyxia datalab platform, with an NVIDIA GPU Tesla T4.
π Training & Validation Loss
Below is the training vs. validation loss curve:
πΌ Misclassified Samples
Here is a facet plot showing some misclassified images from the validation set:
πΌ Correctly Classified Samples
Here is a facet plot showing some well-classified images from the validation set:
- Downloads last month
- 15
Dataset used to train hadrilec/satellite-pictures-classification-ign-france-model
Space using hadrilec/satellite-pictures-classification-ign-france-model 1
Evaluation results
- accuracy on hadrilec/satellite-pictures-classification-ign-franceself-reported0.973