Hub documentation

Utiliser AllenNLP sur Hugging Face

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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

  1. Un onglet des métriques d'entraînement avec des traces TensorBoard hébergées automatiquement.
  2. Balises de métadonnées qui aident à la découvrabilité.
  3. Un widget interactif que vous pouvez utiliser pour tester le modèle directement dans le navigateur.
  4. 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 
ArgumentTypeDescription
--repo_name, -nstr / PathNom du dépôt sur le Hub.
--organization, -ostrNom facultatif de l'organisation vers laquelle le pipeline doit être téléversé.
--serialization-dir, -sstr / PathChemin vers le répertoire contenant le modèle sérialisé.
--archive-path, -astr / PathSi 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, -lstr / PathChemin 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, -cstrMessage 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

Update on GitHub