Archived. This was a group project / final assessment for CSCI 4155/6505 — Machine Learning at Dalhousie University, part of the Artificial Intelligence & Intelligent Systems certificate (undergraduate/graduate mixed course). It is no longer actively maintained. Note: this project was built on PyTorch Lightning, which has since been superseded by Lightning.
Lepus Classifier
A CNN-based image classifier that distinguishes between two rabbit species using only ~85 training images.
Install
·
Report Bug
·
Research Report
Quick Start
- Install dependencies:
pip install -r requirements.txt
- Login to Weights & Biases for experiment tracking:
wandb login
- Train a model:
from src.bootstrap import bootstrap
bootstrap()
Or define a custom architecture:
from src.bootstrap import bootstrap
from src.data.model import BaseModel
import torch
class CustomModel(BaseModel):
def __init__(self):
super().__init__()
self.layers = torch.nn.Sequential(...)
super().__post_init__()
def forward(self, x):
return self.layers(x)
bootstrap(model=CustomModel())
See notebooks/example_bootstrap.ipynb for a Google Colab example.
Project Structure
| Path | Description |
|---|---|
src/ | Training pipeline, data loading, and model definitions |
notebooks/ | Experiment notebooks and usage examples |
resources/data.csv | Dataset manifest (image URLs and labels) |
docs/report-docs/lepus-classifier-report.pdf | Final research report |
docs/poster.pdf | Project poster |
docs/proposals/ | Initial project proposals |
Experiment Logs
Tracked with Weights & Biases: csci-4155-rabbit-classifier
Agent Skill
npx skills add urmzd/lepus-classifier