--- title: GPT-2 Stackformer Vision V2 emoji: 🖼️ colorFrom: indigo colorTo: pink sdk: gradio sdk_version: 5.49.1 app_file: app.py pinned: false license: mit --- # GPT-2 + Vision (stackformer) — V2 A GPT-2 backbone rebuilt on the [`stackformer`](https://pypi.org/project/stackformer/) library, with a frozen ViT-B/16 vision encoder and sparse cross-attention layers, trained on Flickr8k. Supports two modes: - **Text → Text**: plain GPT-2-style continuation, no image. - **Image → Text**: upload an image to get a caption (optionally steer it with a prompt prefix). Model weights: [`gurumurthy3/gpt2-stackformer-vision_V2`](https://huggingface.co/gurumurthy3/gpt2-stackformer-vision_V2) ## Notes - The GPT-2 backbone was kept frozen during training; only the vision projector, Perceiver resampler, and 3 sparse cross-attention layers were fine-tuned (~16.6M params) on Flickr8k for a few epochs on a single T4 GPU. Expect short, simple captions rather than long fluent prose. - `app.py` includes two patches for known bugs in `stackformer`'s attention implementation (inverted causal masking, and attention dropout not respecting `.eval()`) — both are required for correct inference, not just training, and are applied automatically at startup. - If you change the model repo, set the `MODEL_REPO_ID` environment variable in the Space's settings rather than editing `app.py`.