Image classifier built with Convolutional Neural Networks (CNN) and Class Activation Map (CAM) support — a project for classifying radio-signal-style images and visualizing model interpretation during training.
Live demo: https://huggingface.co/spaces/Esabelle/seti_classifier_demo
training notebook: https://www.kaggle.com/code/esabellechen/seti-signal-classifier-vgg16-pytorch https://www.kaggle.com/code/esabellechen/seti-signal-classifier-googlene-pytorch
This project implements a deep learning-based image classification pipeline using CNNs to classify images and interpret model decisions through Class Activation Maps (CAMs).
It is especially suited for visualizing how the network focuses on areas of the image during training and inference. The notebook and code include:
✔️ CNN model training
✔️ Image preprocessing
✔️ CAM visualization
✔️ Evaluation and plotting
| Folder / File | Description |
|---|---|
app/ |
Source for model training and classification logic |
images/test/ |
Example test images |
model/ |
Saved model checkpoints |
seti-image-classification-notebook.ipynb |
Notebook for exploration & training |
requirements.txt |
Python dependencies |
Dockerfile |
For containerized setup |
docker-compose.yml |
For running with Docker services |
- 📷 Image Classification using Convolutional Neural Networks
- 🧠 Class Activation Maps (CAM) for visual interpretability
- 📊 Training + evaluation workflow
- 🧪 Test images included
- 🐳 Docker support for repeatable environment
- Python 3.11
- Docker & Docker Compose (optional)
- 4GB+ RAM (for transformer models)
-
Clone the repository
git clone https://github.com/Esabelle11/seti_classifier.git cd seti_classifier -
Create and activate virtual environment
python -m venv venv # On Windows venv\Scripts\activate # On Linux/Mac source venv/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Run the application
uvicorn app.main:app --reload
The API will be available at
http://localhost:8000
-
Build and run
docker-compose up -d
-
Access the application
- Frontend:
http://localhost:8000 - API Docs:
http://localhost:8000/docs
- Frontend:
-
Stop the application
docker-compose down
-
Build the image
docker build -t seti-classifier . -
Run the container
docker run -p 8888:8888 seti-classifier
