Skip to content

Esabelle11/seti_classifier

Repository files navigation

🤖 SETI Signal Classifier

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


🔍 Overview

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

Demo Video

Watch Demo

https://youtu.be/yxtqx7oFAUk


📂 Project Contents

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

🛠️ Features

  • 📷 Image Classification using Convolutional Neural Networks
  • 🧠 Class Activation Maps (CAM) for visual interpretability
  • 📊 Training + evaluation workflow
  • 🧪 Test images included
  • 🐳 Docker support for repeatable environment

🚀 Get Started

Prerequisites

  • Python 3.11
  • Docker & Docker Compose (optional)
  • 4GB+ RAM (for transformer models)

Installation

Local Setup

  1. Clone the repository

     git clone https://github.com/Esabelle11/seti_classifier.git
     cd seti_classifier
  2. Create and activate virtual environment

    python -m venv venv
    
    # On Windows
    venv\Scripts\activate
    
    # On Linux/Mac
    source venv/bin/activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Run the application

    uvicorn app.main:app --reload

    The API will be available at http://localhost:8000

Docker Setup

Using Docker Compose (Recommended)

  1. Build and run

    docker-compose up -d
  2. Access the application

    • Frontend: http://localhost:8000
    • API Docs: http://localhost:8000/docs
  3. Stop the application

    docker-compose down

Using Docker Only

  1. Build the image

    docker build -t seti-classifier .
  2. Run the container

    docker run -p 8888:8888 seti-classifier

About

Image classifier with convolution network and support with Class Activation Map for visualize interpretation on CNN progress

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors