Spaces:
Runtime error
Runtime error
| # Deploy to Hugging Face Spaces (Gradio) | |
| This project is now ready for Hugging Face Spaces. | |
| ## Option A (recommended): single Space repo with checkpoints | |
| Use this when you want the simplest deployment. | |
| 1. Create a new Hugging Face Space: | |
| - SDK: Gradio | |
| - Hardware: CPU Basic to start, upgrade to GPU for faster inference | |
| 2. Push this project to that Space repo. | |
| 3. Ensure these files are present at the Space repo root: | |
| - app.py | |
| - requirements.txt | |
| - configs/config.yaml | |
| - models/ | |
| - data/ | |
| - utils/ | |
| - checkpoints/changeformer_best.pth (or your preferred model) | |
| 4. In Space Settings, set startup file to `app.py` (default for Gradio Spaces). | |
| 5. Optional: reduce initial footprint by keeping only one checkpoint (for example `changeformer_best.pth`) inside `checkpoints/`. | |
| ## Option B: Space app + separate model repo | |
| Use this when you want a smaller Space repo and keep large checkpoints elsewhere. | |
| 1. Upload checkpoint files to a separate Hugging Face model repo. | |
| 2. In your Space Settings -> Variables, set: | |
| - `HF_MODEL_REPO`: owner/repo-name | |
| - `HF_MODEL_REVISION`: optional branch/tag/commit (for reproducible deployment) | |
| 3. On startup, `app.py` will auto-download expected checkpoint filenames into `checkpoints/`. | |
| Expected checkpoint names: | |
| - siamese_cnn_best.pth | |
| - unet_pp_best.pth | |
| - changeformer_best.pth | |
| ## Space README metadata (required in Space repo) | |
| In the Space repository README.md, include this at the top: | |
| ```yaml | |
| --- | |
| title: Military Base Change Detection | |
| emoji: satellite | |
| colorFrom: blue | |
| colorTo: red | |
| sdk: gradio | |
| sdk_version: 4.44.1 | |
| app_file: app.py | |
| pinned: false | |
| python_version: 3.10 | |
| --- | |
| ``` | |
| ## Notes | |
| - CPU hardware works, but inference can be slow for larger images. | |
| - For better latency, choose a GPU Space. | |
| - `app.py` now detects Spaces automatically and binds to `0.0.0.0`. | |
| - If no local checkpoints are found, it will try `HF_MODEL_REPO`. | |
| ## Quick local validation before push | |
| ```bash | |
| pip install -r requirements.txt | |
| python app.py | |
| ``` | |
| Then open the local Gradio URL and test one sample pair. | |