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.

Christopher Gemperle / synackfinack Chico, CA