Homework

Homework — your data, your numbers

What to hand in

A table with your own numbers, a short report and a prepared data/ folder.

1. Reproduce our numbers

Run python make_standin.py, then both commands from step 6 with --data standin_data. Put the training and validation accuracy in a table. The difference from ours (92.5 % / 91.9 %) should be within 1–2 points; if larger, look for what is different (start with python -m unittest test_data).

2. Prepare your own data

  1. Run python prepare.py on your photos/ folder.
  2. Run your own audit (Drill 4) on data/. Fix what it finds.
  3. Separately (e.g. photos_test/ → data_test/) prepare your test folder — at least ~20 pictures per class — and do not touch it until lesson 11.

Write down: how many pictures in each class, and whether any class is markedly smaller than the others.

3. Train on your own data

Two commands on --data data — without augmentation and with it. For at least two different seeds (change make_loaders(..., seed=...) and torch.manual_seed(...) in a script you write, not in train.py).

run seed train val
without augmentation
with augmentation

4. Per class

With your own per_class from Drill 2, write down how each of your classes did. Look with your own eyes at 5 pictures the network confused. Are they hard for you too?

5. A short report

6–8 sentences:

  • Did augmentation help your data? Compare with our "tie".
  • How many validation pictures does your smallest class have, and how many points is one picture worth?
  • One sentence: what these numbers do not prove.
  • How will you know you have not touched the test folder?