| # Local Testing Guide | |
| Before deploying to Hugging Face Spaces, you may want to test the application locally. This guide provides instructions for local testing. | |
| ## Prerequisites | |
| - CUDA-capable GPU with at least 8GB VRAM | |
| - Python 3.8+ | |
| - pip or conda package manager | |
| ## Steps for Local Testing | |
| 1. **Install Dependencies** | |
| ```bash | |
| pip install -r image_descriptor_requirements.txt | |
| ``` | |
| 2. **Run in UI Mode** | |
| ```bash | |
| python app.py | |
| ``` | |
| This will start the Gradio UI on http://localhost:7860. You can upload images and test the model. | |
| 3. **Run in API-only Mode** | |
| ```bash | |
| FLASK_APP=image_descriptor.py flask run --host=0.0.0.0 --port=5000 | |
| ``` | |
| This will start just the Flask API on http://localhost:5000. | |
| 4. **Test the Docker Container** | |
| ```bash | |
| # Build the container | |
| docker build -t image-descriptor . | |
| # Run the container | |
| docker run -p 7860:7860 --gpus all image-descriptor | |
| ``` | |
| The application will be available at http://localhost:7860. | |
| ## Testing the API | |
| You can test the API using curl: | |
| ```bash | |
| # Health check | |
| curl http://localhost:5000/health | |
| # Process an image | |
| curl -X POST -F "image=@data_temp/page_2.png" http://localhost:5000/describe | |
| ``` | |
| ## Troubleshooting | |
| - **GPU Memory Issues**: If you encounter GPU memory errors, try reducing batch sizes or using a smaller model. | |
| - **Model Download Issues**: If the model download fails, try downloading it manually from Hugging Face and place it in the `.cache/huggingface/transformers` directory. | |
| - **Dependencies**: Make sure you have the correct CUDA version installed for your GPU. | |
| ## Next Steps | |
| Once you've confirmed the application works locally, you can deploy it to Hugging Face Spaces following the instructions in the main README.md. |