--- license: mit language: - en library_name: pytorch pipeline_tag: image-to-text tags: - image-captioning - show-attend-and-tell - visual-attention datasets: - flickr8k metrics: - bleu - cider --- # capit-sat Show, Attend and Tell image captioner, trained from scratch on Flickr8k (Karpathy split). The glass-box half of [capit](https://github.com/Bukunmi2108/capit) — exposes per-word attention, beam candidates, and word-by-word playback. ## Test-set scores (pycocoevalcap, Karpathy test = 1000 images) | beam | BLEU-1 | BLEU-2 | BLEU-3 | BLEU-4 | CIDEr | |-----:|-------:|-------:|-------:|-------:|------:| | 1 | 61.99 | 44.37 | 30.23 | 20.05 | 55.51 | | 3 | 64.77 | 47.34 | 33.68 | 23.45 | 62.20 | | 5 | 65.54 | 47.84 | 34.08 | 23.63 | 62.80 | ## Training - Backbone: frozen ResNet-50 (ImageNet). Decoder trained from scratch. - Best val BLEU-4 19.62 at epoch 7 (early-stopped); Colab T4. - Splits: train 6000, val 1000, test 1000. ## Known limitation Attention is effectively 7x7: ResNet-50 at 224px is natively 7x7 and the encoder upsamples to 14x14, so heatmaps are coarse (~32px blocks). Captions are grounded; the spots are region-level, not pixel-level. ## Use `huggingface_hub.hf_hub_download("Bukunmi2108/capit-sat", "capit-sat.pt")` + `vocab.json`, then `capit.serving.load_artifact(...)`.