Hub documentation
Utiliser AllenNLP sur Hugging Face
Utiliser AllenNLP sur Hugging Face
allennlp est une bibliothèque de TAL pour développer des modèles de pointe sur différentes tâches linguistiques. Elle fournit des abstractions et des API de haut niveau pour les composants et les modèles courants en TAL moderne. Elle offre également un cadre extensible qui facilite l’exécution et la gestion d’expériences en TAL.
Explorer allennlp dans le Hub
Vous pouvez trouver les modèles allennlp sur le Hub en filtrant à gauche de la page des modèles.
Tous les modèles du Hub sont dotés de fonctionnalités utiles
- Un onglet des métriques d'entraînement avec des traces TensorBoard hébergées automatiquement.
- Balises de métadonnées qui aident à la découvrabilité.
- Un widget interactif que vous pouvez utiliser pour tester le modèle directement dans le navigateur.
- Un widget Inference Providers permettant d’effectuer des requêtes d’inférence.

Utilisation de modèles existants
Vous pouvez utiliser la classe Predictor pour charger des modèles existants sur le Hub. Pour ce faire, utilisez la méthode from_path et le préfixe "hf://" avec l’identifiant du dépôt. Voici un exemple de bout en bout.
import allennlp_models
from allennlp.predictors.predictor import Predictor
predictor = Predictor.from_path("hf://allenai/bidaf-elmo")
predictor_input = {
"passage": "My name is Wolfgang and I live in Berlin",
"question": "Where do I live?"
}
predictions = predictor.predict_json(predictor_input)Pour obtenir un extrait tel que celui-ci, vous pouvez cliquer sur Use in AllenNLP en haut à droite,

Partager vos modèles
La première étape consiste à enregistrer le modèle localement. Par exemple, vous pouvez utiliser la méthode archive_model pour enregistrer le modèle sous forme de fichier model.tar.gz. Vous pouvez ensuite pousser le modèle compressé vers le Hub. Lorsque vous entraînez un modèle avec allennlp, le modèle est automatiquement sérialisé, ce qui en fait une option privilégiée.
Utilisation de l'interface en ligne de commande AllenNLP
Pour pousser via l'interface en ligne de commande, vous pouvez utiliser la commande allennlp push_to_hf comme indiqué ci-dessous.
allennlp push_to_hf --repo_name test_allennlp --archive_path model
| Argument | Type | Description |
|---|---|---|
--repo_name, -n | str / Path | Nom du dépôt sur le Hub. |
--organization, -o | str | Nom facultatif de l'organisation vers laquelle le pipeline doit être téléversé. |
--serialization-dir, -s | str / Path | Chemin vers le répertoire contenant le modèle sérialisé. |
--archive-path, -a | str / Path | Si vous utilisez un modèle compressé (par exemple model/model.tar.gz) au lieu d’un chemin de sérialisation, vous pouvez utiliser ce drapeau. |
--local-repo-path, -l | str / Path | Chemin local du dépôt du modèle (sera créé s’il n’existe pas). Par défaut, hub dans le répertoire de travail actuel. |
--commit-message, -c | str | Message de commit à utiliser pour la mise à jour. Par défaut, "update repository". |
Depuis un script Python
La fonction push_to_hf possède les mêmes paramètres que le script bash.
from allennlp.common.push_to_hf import push_to_hf
serialization_dir = "path/to/serialization/directory"
push_to_hf(
repo_name="my_repo_name",
serialization_dir=serialization_dir,
local_repo_path=self.local_repo_path
)En une minute à peine, vous pouvez mettre votre modèle sur le Hub, l’essayer directement dans le navigateur et le partager avec le reste de la communauté. Toutes les métadonnées requises seront téléversées pour vous !
Ressources supplémentaires
- site web d'AllenNLP.
- Dépôt repository d’AllenNLP.