How we did it.

A test model trained on 500 cats and 500 dogs, then run in the browser so an uploaded photo can be labeled on the spot.

  1. The network

    We started from MobileNetV2, a small image model that already knew how to look at photos. The last layer was replaced so the only answers are Cat and Dog.

  2. The photos

    Training used the Cats vs Dogs folders on the computer: one folder of cats, one folder of dogs. Those pictures stay on the machine. They are not stored in this website.

  3. The test run

    This published model used the first 500 readable images of each class, 1,000 in total. They were shuffled, then split 80/20: 800 photos updated the model, and 200 were held out so the accuracy number was not just memorization.

  4. The training

    It ran for 3 epochs. An epoch is one pass through the 800 training photos, in batches of 32. Validation accuracy was 86% after epoch 1 and 94% after epochs 2 and 3. The saved file is that 94% version.

  5. A new photo

    The picture you upload is resized to 224 by 224 pixels and scaled the same way as in training. The network returns a score for Cat and a score for Dog, and those percentages are calculated in the browser. A smaller copy of the photo is then sent to Claude Haiku 4.5, which writes the two or three sentence report under the bars.

This is the 500-image test model, so a strange photo or a picture of neither animal can still get a confident wrong answer. The full 12,500-per-class set was not used for this file.