guest@BipbopPC:~/projects$ cat not-a-real-dog.md
That's Not a Real Dog
A YOLOv8n classifier that sorts images into real dog, fake dog, and not-dog.
Python · PyTorch · YOLOv8 · Streamlit · ROCm · 2025
SPECS
- Precision / Recall
- 0.96 / 0.96
- F1
- 0.96
- Data split
- 80/10/10 train-val-test
- Fake-dog data
- 5,000+ scraped images
- Training
- ROCm on AMD 6800 XT, tmpfs-staged dataset
guest@BipbopPC:~/projects/not-a-real-dog$ cat NOTES
A YOLOv8n CNN fine-tuned by transfer learning to sort images into real dog, fake dog, and not-dog. It hit 0.96 precision and recall on the held-out test split.
Most of the work was the pipeline around the model: API scrapers that pulled over 5,000 fake-dog images, Pillow preprocessing down to 256x256, randomized renaming so alphabetical ordering couldn't bias the splits, and ROCm-accelerated training on an AMD 6800 XT with the dataset staged in tmpfs to speed up reads. The whole thing runs behind a Streamlit app, so you can feed it a photo of your dog and find out whether your dog is real.