Spaces:
Running
Running
File size: 5,081 Bytes
1924502 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 |
# π Deployment Guide for Smart Object Size Estimator
This guide explains how to deploy the Smart Object Size Estimator to Hugging Face Spaces.
## π Required Files
Make sure you have all these files in your HuggingFace Space:
```
βββ app.py # Main Gradio application
βββ requirements.txt # Python dependencies
βββ config.yaml # HuggingFace Space configuration
βββ README.md # Project documentation
βββ DEPLOYMENT.md # This deployment guide
βββ goal2/ # Source code directory
βββ src/
βββ agent/
βββ __init__.py
βββ models.py # AI model loading
βββ geometry.py # Size calculations
βββ io.py # Image processing utilities
```
## π§ Step-by-Step Deployment
### 1. Create a New HuggingFace Space
1. Go to [huggingface.co/spaces](https://huggingface.co/spaces)
2. Click "Create new Space"
3. Choose:
- **Space name**: `smart-object-size-estimator` (or your preference)
- **License**: MIT
- **SDK**: Gradio
- **Hardware**: CPU Basic (free tier) or GPU if available
### 2. Upload Files
Upload all the files listed above to your Space. You can either:
- Use the web interface to drag & drop files
- Use git to clone and push files
- Use the HuggingFace CLI
### 3. Model Weight Configuration
The app automatically downloads model weights:
- **Depth Anything V2**: Downloaded from HuggingFace Hub
- **SAM**: Downloaded from Facebook's repository
No manual model upload required!
### 4. Environment Configuration
The `config.yaml` file configures:
- Python version: 3.9+
- Gradio SDK version: 4.44.0
- Hardware requirements: CPU (upgradeable to GPU)
### 5. Dependencies Installation
All dependencies are listed in `requirements.txt`:
- Core ML: PyTorch, transformers
- Image processing: OpenCV, PIL, matplotlib
- Web interface: Gradio
- Utilities: NumPy, scikit-image
## π¦ Launch Process
1. **Upload files** β Space shows "Building..."
2. **Install dependencies** β Takes ~2-3 minutes
3. **Download models** β First run takes ~1-2 minutes
4. **Ready!** β App accessible at your Space URL
## π Expected Resource Usage
### CPU Version (Free Tier)
- **RAM**: ~2-4 GB during inference
- **Storage**: ~3 GB (models + dependencies)
- **Speed**: 10-30 seconds per image
### GPU Version (Paid Tier)
- **RAM**: ~4-6 GB during inference
- **Speed**: 3-8 seconds per image
- **Cost**: Variable based on usage
## π Troubleshooting
### Common Issues
1. **"Model download failed"**
- Solution: Check internet connectivity, retry after a few minutes
- Models are large (1-2 GB total)
2. **"Out of memory" errors**
- Solution: Upgrade to GPU hardware or reduce image sizes
- The app automatically resizes very large images
3. **"Import errors"**
- Solution: Check `requirements.txt` versions
- Ensure all dependencies are properly listed
4. **Slow processing**
- Solution: Consider upgrading to GPU hardware
- CPU processing is slower but works fine
### Debug Mode
To enable debugging, set `debug=True` in the `demo.launch()` call:
```python
demo.launch(share=True, debug=True)
```
## π― Performance Optimization
### For Better Speed:
1. Upgrade to GPU hardware
2. Use smaller input images when possible
3. Consider caching models if using persistent storage
### For Better Accuracy:
1. Use camera-specific presets when available
2. Ensure good lighting in input images
3. Choose reference objects with known precise dimensions
## π Privacy & Security
- **No data storage**: Images are processed in memory only
- **No user tracking**: No personal data collected
- **Model privacy**: All processing happens on HuggingFace servers
- **Open source**: All code is publicly available
## π Monitoring & Analytics
HuggingFace Spaces provides built-in analytics:
- Usage statistics
- Performance metrics
- Error logs
- Resource consumption
Access these through your Space settings panel.
## π Support
If you encounter issues:
1. **Check the Space logs** in the HuggingFace interface
2. **Review the README.md** for usage instructions
3. **Test with example images** to isolate problems
4. **Consider hardware upgrades** for performance issues
## π Updates & Maintenance
To update the app:
1. Modify files in your local copy
2. Push changes to the Space repository
3. Space will automatically rebuild
4. Test thoroughly after updates
## π Pre-Launch Checklist
- [ ] All required files uploaded
- [ ] `config.yaml` properly configured
- [ ] `requirements.txt` includes all dependencies
- [ ] Test with sample images
- [ ] Verify camera presets work
- [ ] Check reference object system
- [ ] Ensure error handling works
- [ ] Documentation is complete
## π Launch!
Once everything is set up, your Space will be live at:
`https://huggingface.co/spaces/[your-username]/[space-name]`
Share this URL with users and enjoy your deployed AI-powered size estimation tool!
|