BAKOUAN/t5-small-finetuned-summary
By BAKOUAN · ↓ 0 · ♥ 0 · Updated 2026-01-27
What's in this repo
This page lists the files in BAKOUAN/t5-small-finetuned-summary, including model.onnx.
- 1 ONNX models (.onnx files)
- 16 files, including 6 .json, 2 .py, 2 .bin, 1 .md, 1 .pyc, 1 .onnx
- Last updated 2026-01-27
ONNX files
| File | Size | Download |
|---|---|---|
| model.onnx | — | Download |
How to use
These ONNX files can be loaded with ONNX Runtime. To inspect a model graph, upload the file to the Netron viewer. Download links point to the original files on Hugging Face.
README
T5 Small Fine-tuned for Summarization
Ce modèle est une version fine-tunée de T5 Small pour la génération automatique de résumés de texte, optimisée pour le français. Il a été entraîné sur des données personnalisées et exporté en format ONNX pour une inférence rapide sur CPU.
Description du modèle
- Modèle de base : T5 Small (t5-small)
- Tâche : Résumé automatique (summarization)
- Format : ONNX quantifié INT8 (logits-only pour compatibilité)
- Langue : Français
- Taille : ~59 MB
- Latence : ~60 ms par forward pass sur CPU
Métriques d'évaluation
- Loss d'évaluation : 0.547
- Temps d'évaluation : 161 secondes
- Échantillons/seconde : 0.671
(Ajoutez ici des métriques BLEU/ROUGE si vous les avez calculées)
Utilisation
Avec Hugging Face Transformers (pour tests rapides)
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
# Charger le tokenizer et le modèle depuis Hugging Face
tokenizer = AutoTokenizer.from_pretrained("votre-username/t5-small-finetuned-summary")
model = AutoModelForSeq2SeqLM.from_pretrained("votre-username/t5-small-finetuned-summary")
# Préparer l'entrée
input_text = "Votre article à résumer ici..."
inputs = tokenizer(input_text, return_tensors="pt", max_length=512, truncation=True)
# Générer le résumé
outputs = model.generate(
**inputs,
max_length=150,
num_beams=4,
early_stopping=True,
do_sample=False
)
summary = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(summary)
API REST (pour intégration mobile/web)
Une API REST Flask est disponible pour intégrer le modèle dans des applications mobiles ou web.
Lancement de l'API
python app.py
L'API sera disponible sur http://localhost:5000 et l'interface Gradio sur http://localhost:7860.
Endpoint de résumé
POST /summarize
Corps de la requête (JSON) :
{
"text": "Votre texte à résumer ici...",
"max_length": 150
}
Réponse (JSON) :
{
"summary": "Résumé généré..."
}
Exemple d'utilisation avec curl :
curl -X POST http://localhost:5000/summarize \
-H "Content-Type: application/json" \
-d '{"text": "Le texte à résumer", "max_length": 100}'
Exemple en Python :
import requests
response = requests.post('http://localhost:5000/summarize', json={
'text': 'Votre article complet...',
'max_length': 150
})
summary = response.json()['summary']
print(summary)
Test de l'API
Utilisez le script test_api.py pour tester l'API :
python test_api.py
Avec ONNX Runtime (pour production/déploiement local)
import onnxruntime as ort
from transformers import AutoTokenizer
import numpy as np
# Charger le tokenizer
tokenizer = AutoTokenizer.from_pretrained("votre-username/t5-small-finetuned-summary")
# Charger le modèle ONNX
session = ort.InferenceSession("model.onnx")
# Fonction de génération autoregressive
def generate_summary(input_text, max_length=150):
# Tokeniser l'entrée
inputs = tokenizer(input_text, return_tensors="np", max_length=512, truncation=True)
# Initialiser le decoder avec le token de padding
decoder_input_ids = np.array([[tokenizer.pad_token_id]])
for _ in range(max_length):
# Forward pass ONNX
outputs = session.run(None, {
"input_ids": inputs["input_ids"],
"attention_mask": inputs["attention_mask"],
"decoder_input_ids": decoder_input_ids
})
logits = outputs[0]
# Sélectionner le token suivant (greedy decoding)
next_token = np.argmax(logits[:, -1, :], axis=-1)
# Ajouter au decoder
decoder_input_ids = np.append(decoder_input_ids, next_token.reshape(1, -1), axis=1)
# Arrêter si EOS
if next_token == tokenizer.eos_token_id:
break
# Décoder le résumé
summary = tokenizer.decode(decoder_input_ids[0], skip_special_tokens=True)
return summary
# Exemple d'utilisation
article = "Votre article complet ici..."
summary = generate_summary(article)
print(summary)
Installation des dépendances
pip install -r requirements.txt
Dépendances principales :
- onnxruntime
- transformers
- torch (pour tests avec Transformers)
Structure des fichiers
model.onnx: Modèle ONNX quantifié INT8tokenizer/: Fichiers du tokenizer T5tokenizer.jsontokenizer_config.jsonspecial_tokens_map.jsonspiece.model
config.json: Configuration du modèlegeneration_config.json: Configuration de générationrequirements.txt: Dépendances Pythondocs/README.md: Cette documentationtests/: Scripts de test
Méthodes utilisées
- Téléchargement : Modèle et tokenizer récupérés depuis Hugging Face
- Fine-tuning : Entraînement supervisé avec
Seq2SeqTrainer - Export ONNX : Export logits-only via wrapper PyTorch
- Quantification : INT8 avec ONNX Runtime pour optimisation CPU
Limitations
- Le modèle ONNX exporté est "logits-only", nécessitant une boucle de génération côté application
- Optimisé pour CPU ; pour GPU, utilisez la version PyTorch originale
- Testé principalement sur du français
Contribution
Pour des améliorations ou modifications (LoRA, export autoregressive complet, etc.), contactez l'auteur.
Modèle déployé sur Hugging Face pour faciliter l'accès et l'utilisation communautaire.
Model info
Created: 2026-01-27
Updated: 2026-01-27
View on Hugging FaceFiles (16)
Related models
More from BAKOUAN
No other models by this author.
More models
No task type declared.