# Cow Breed Classifier (Roboflow -> Hugging Face Space) ## What to upload to the Space - `dataset.zip` : export zip from Roboflow (pick YOLOv5 PyTorch or Pascal VOC when downloading). - Place `dataset.zip` in the Space root (where `app.py` sits) before committing. OR - `model.pth` : If you already trained a model elsewhere, upload `model.pth` (the saved dict with keys `model_state` and `classes`) to skip training. ## How it works - On first start: - If `model.pth` exists: the app loads it and serves predictions. - Else if `dataset.zip` exists: app extracts it, converts detection labels -> classification folders, and trains a small ResNet18 model for a few epochs, then saves `model.pth`. - Use the UI to upload images and see top-3 breed predictions. ## Notes & tips - Training on CPU (Hugging Face free Spaces) can be slow. Keep `NUM_EPOCHS=3` (default) small. You can increase by setting an environment variable in the Space settings. - If training fails due to PyTorch issues in the Space build, train locally (or on Colab) and upload `model.pth`.