A newer version of the Gradio SDK is available:
6.1.0
📦 Guide de Déploiement sur Hugging Face Spaces
🚀 Étapes de déploiement
1. Créer un compte Hugging Face
- Allez sur https://huggingface.co
- Créez un compte si vous n'en avez pas
2. Créer un nouveau Space
- Cliquez sur votre profil → "New Space"
- Donnez un nom à votre Space (ex: "courtside-cv-tennis")
- Choisissez Gradio comme SDK
- Choisissez la visibilité (Public ou Private)
- Cliquez sur "Create Space"
3. Uploader les fichiers
Vous avez deux options :
Option A : Via l'interface web
- Dans votre Space, cliquez sur "Files" → "Add file" → "Upload files"
- Uploadez les fichiers suivants :
app.pyrequirements.txtREADME.md.gitignore
Option B : Via Git (recommandé)
# Cloner votre Space
git clone https://huggingface.co/spaces/VOTRE_USERNAME/VOTRE_SPACE_NAME
cd VOTRE_SPACE_NAME
# Copier vos fichiers
cp /chemin/vers/app.py .
cp /chemin/vers/requirements.txt .
cp /chemin/vers/README.md .
# Commit et push
git add .
git commit -m "Initial commit: CourtSide-CV Tennis Analysis"
git push
4. Configuration du Space
Le Space va automatiquement :
- Installer les dépendances depuis
requirements.txt - Lancer
app.py - Démarrer l'interface Gradio
⏱️ Le premier déploiement peut prendre 5-10 minutes.
5. Ajouter votre modèle custom (optionnel)
Si vous avez un modèle YOLO custom pour les balles de tennis :
- Uploadez votre fichier
best.ptdans l'onglet "Files" - Modifiez dans
app.pyligne 328 :
ball_model_path = 'best.pt' # Au lieu de 'yolov8m.pt'
6. Configuration avancée (optionnel)
Pour des performances optimales, vous pouvez configurer :
Augmenter les ressources
- Dans les paramètres du Space, passez à un hardware plus puissant (GPU si disponible)
Ajouter des secrets
Si vous avez des clés API ou tokens :
- Allez dans "Settings" → "Repository secrets"
- Ajoutez vos secrets
🔧 Personnalisation
Modifier les paramètres par défaut
Dans app.py, vous pouvez ajuster :
# Ligne 41-44 : Seuils de détection
self.conf_thresh = 0.05 # Confiance minimale
self.smooth_window = 5 # Fenêtre de lissage
self.max_interpolate_gap = 30 # Gap max pour interpolation
Changer l'apparence
Modifiez le thème Gradio ligne 325 :
theme=gr.themes.Soft() # Essayez aussi: Base(), Default(), Glass()
🐛 Dépannage
Le Space ne démarre pas
- Vérifiez les logs dans l'onglet "Logs"
- Assurez-vous que tous les packages dans
requirements.txtsont compatibles - Vérifiez qu'il n'y a pas d'erreurs de syntaxe dans
app.py
Out of memory
- Réduisez
max_durationpar défaut (ligne 317) - Réduisez
imgszdans les détections YOLO (lignes 54, 131, 223) - Demandez un hardware plus puissant dans les settings
Détection de balle faible
- Ajustez
conf_thresh(ligne 41) - Utilisez un modèle YOLO custom entraîné sur des balles de tennis
- Assurez-vous que vos vidéos sont de bonne qualité
📊 Limitations
- Durée : Pour éviter les timeouts, limitez les vidéos à 60 secondes
- Résolution : Les vidéos très haute résolution (4K) peuvent être lentes
- Gratuit : Les Spaces gratuits ont des limitations de CPU/RAM
🎯 Prochaines étapes
- Modèle custom : Entraînez un modèle YOLO spécifiquement sur des balles de tennis
- Statistiques avancées : Ajoutez le comptage de coups, vitesse de balle, etc.
- Multi-caméras : Supportez plusieurs angles de vue
- Export des données : Exportez les trajectoires en JSON/CSV
📞 Support
Si vous avez des questions :
- 💬 Créez une Discussion sur votre Space Hugging Face
- 🐛 Ouvrez une Issue sur GitHub
- 📧 Contactez-moi directement
Bon déploiement ! 🚀