This lesson teaches the smallest runnable image-text alignment loop:
- render synthetic images from simple attributes
- encode image and text separately
- project both into one shared embedding space
- train with a symmetric contrastive loss
- inspect retrieval accuracy directly
python -m tracks.multimodal.lesson_01_clip_toy_retrieval.train --epochs 1 --max-train-batches 2 --max-eval-batches 1 --device cpuoutputs/multimodal/lesson_01_clip_toy_retrieval/<run_name>/
config.jsonvocab.jsonmetrics.jsonlsamples.jsonllogs/train.logcheckpoints/checkpoint.pt
- Replace mean-pooled text features with a tiny GRU encoder.
- Add harder negatives by allowing two captions to share color and shape.
- Visualize the learned embedding space with two-dimensional projections.