Front minimal servi par l'API : conformité aux consignes du module
rima ouchefoune
72d7c87
Les consignes exigent la chaîne complète déployée : modèle servi (FastAPI)
+ petit front, et le sujet C précise « colle un avis -> positif/négatif +
confiance ». Ajouts :
- frontend/ : page statique minimale (textarea + bouton + label coloré +
barre de confiance), commentée, sans framework ni dépendance
- api/main.py : StaticFiles monté en dernier -> GET / sert le front, les
infos API passent sur GET /info ; /predict, /health, /docs inchangés
- README : tableau de conformité aux consignes, arborescence et section
lancement mises à jour, livrable = URL racine du Space
Le front complet de l'équipe pourra remplacer frontend/ ou consommer
l'API depuis un autre hébergement (CORS déjà activé).
Commentaires pédagogiques détaillés sur tout le code
rima ouchefoune
762c0d3
Chaque fichier explique maintenant les concepts en plus du code :
- train.py : transfer learning, tokenisation en sous-mots, padding
dynamique, rôle de chaque hyperparamètre (learning rate, warmup,
weight decay, fp16, époques), les 4 métriques, train/val/test
- predict.py : les 4 étapes d'une inférence (tokenisation, forward
pass, softmax, argmax) avec schéma et exemples chiffrés
- evaluate.py : pourquoi prédire par batchs, lecture de la matrice de
confusion, intérêt des erreurs les plus confiantes
- api/main.py : pourquoi FastAPI, lifespan, CORS, validation Pydantic,
codes d'erreur HTTP
- Dockerfile : couches et cache Docker, pourquoi 0.0.0.0, port 7860,
cache HF redirigé vers /tmp
Remplacement du projet : analyse de sentiment DistilCamemBERT complète
rima ouchefoune
ec3da25
Nouveau projet complet en remplacement du squelette initial :
- scripts/train.py : fine-tuning DistilCamemBERT sur Allociné, deux
stratégies implémentées (fine-tuning complet vs backbone gelé
--freeze-backbone) pour trancher la décision architect avec des chiffres
- scripts/predict.py : inférence détaillée (tokenisation -> logits ->
softmax), mode interactif et --verbose
- scripts/evaluate.py : évaluation test set, matrice de confusion, analyse
des erreurs les plus confiantes
- scripts/push_model_to_hub.py : publication des poids sur le HF Hub
- api/main.py : API REST FastAPI (GET /, /health, POST /predict), modèle
chargé au démarrage via lifespan, CORS pour le frontend externe
- Dockerfile : déploiement Hugging Face Spaces (SDK Docker, port 7860)