Spaces:
Sleeping
Sleeping
| # Deployment Guide for CaptionIQ | |
| This document explains how to deploy your Image Captioning application to the public. | |
| ## 1. Hugging Face Spaces (Streamlit SDK) | |
| Hugging Face Spaces allows you to quickly host Machine Learning demos. I have prepared an automated script to deploy it. | |
| ### Automatic Method (Recommended) | |
| You can deploy directly from your local terminal using the script provided: | |
| ```bash | |
| python3 deploy_hf.py --token YOUR_HUGGING_FACE_TOKEN --repo-name CaptionIQ | |
| ``` | |
| *Note: Make sure your token has **Write** permissions. You can generate one at [huggingface.co/settings/tokens](https://huggingface.co/settings/tokens).* | |
| The script will: | |
| 1. Automatically create a Streamlit Space named `CaptionIQ` on your Hugging Face account. | |
| 2. Filter out unnecessary large files (like dataset images in `data/Images`). | |
| 3. Upload your models and code. | |
| 4. Set up Git LFS (Large File Storage) for your `.h5` model files automatically. | |
| ## 2. Streamlit Community Cloud | |
| Streamlit provides a free community cloud that integrates directly with GitHub. If you prefer to deploy there: | |
| 1. **Push your code to GitHub**: | |
| - Create a GitHub repository for your project. | |
| - Commit and push your code. Because the `.h5` models are large, ensure you have Git LFS installed (`git lfs install`) before pushing, or exclude them and load models from an external URL. I have added `.gitattributes` to track `.h5` files with LFS. | |
| 2. **Deploy via Streamlit Cloud**: | |
| - Go to [share.streamlit.io](https://share.streamlit.io/). | |
| - Click "New app". | |
| - Select your GitHub repository, choose the main branch, and specify `app.py` as your Main file path. | |
| - Click **Deploy**. | |
| > **Note on Free Tiers**: Streamlit Community Cloud has a 1GB memory limit which might be tight when loading two large VGG models simultaneously. Hugging Face Spaces (Free Tier) typically offers 16GB of RAM, making it a better fit for this project! | |