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.
A CNN-based image classifier that distinguishes between two rabbit species using only ~85 training images.
Install
·
Report Bug
·
Research Report
- 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.
| 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 |
Tracked with Weights & Biases: csci-4155-rabbit-classifier
npx skills add urmzd/lepus-classifier