Skip to content

Is it a rabbit or a hare? The lepus-classifier predicts what is it.

Notifications You must be signed in to change notification settings

urmzd/lepus-classifier

Repository files navigation

Lepus Classifier

mascot

State-of-the-art image classifiers are typically training on hundreds of thousands of images and require extensive computing power. In this report, we examine methods to improve performance of a CNN without the need for large data sets and specialized hardware. Using 85 images of two species from the Lepus genus, we demonstrate that optimal image classifier architectures are still limited by the quantity of data they are trained with, especially when images have highly complex feature sets.

Table of Contents

Quickstart

  1. Install dependencies.
  pip install -r requirements.txt
  1. Login to your Weights and Biases account using your API key.
  wandb login
  1. Use the bootstrap function to start training your custom model.
import src.bootstrap import bootstrap

class CustomModel(BaseModel):
  def __init__(self):
    super().__init__()
    self.layers = torch.nn.Sequential(
      ...
    )
    super().__post_init__()

  def forward(self, x)

bootstrap(model=CustomModel())

Google Collab

Take a look at notebooks/example_bootstrap.ipynb

Proposals

All the initial proposals can be found under resources/proposals.

Report

The final report can be found under docs/report-docs/lepus-classifier.pdf

Poster

The final project poster can be found under docs/poster.pdf

Data

Data was retrieved and can be found under resources/data.txt

Interactive Notebooks

All interactive notebooks, including experiments done can be found under the notebooks folder.

Experiment Tracking and Logs

Our experimental logs can be found at our Weights & Biases project.

Dependencies

All dependencies can be installed using the following snippet:

pip install -r requirements.txt