Passer au contenu principal
Utilisez W&B Artifacts pour suivre les données et en gérer les versions comme entrées et sorties de vos W&B Runs. Par exemple, un run d’entraînement de modèle peut prendre un jeu de données en entrée et produire un modèle entraîné en sortie. Vous pouvez journaliser des hyperparamètres, des métadonnées et des métriques dans un run, et utiliser un artifact pour journaliser, suivre et gérer les versions du jeu de données utilisé pour entraîner le modèle en entrée, ainsi qu’un autre artifact pour les points de contrôle du modèle produits en sortie.

Cas d’usage

Vous pouvez utiliser les artifacts tout au long de votre flux de travail ML comme entrées et sorties de runs. Vous pouvez utiliser des jeux de données, des modèles ou même d’autres artifacts comme entrées pour le traitement.
Schéma du flux de travail des Artifacts avec des entrées et des sorties pour l’entraînement du modèle, le traitement des données et l’évaluation du modèle
Cas d’utilisationEntréeSortie
Entraînement du modèleJeu de données (données d’entraînement et de validation)Modèle entraîné
Prétraitement du jeu de donnéesJeu de données (données brutes)Jeu de données (données prétraitées)
Évaluation du modèleModèle + Jeu de données (données de test)tableau W&B
Optimisation du modèleModèleModèle optimisé
Les extraits de code suivants doivent être exécutés dans l’ordre.

Créer un artifact

Créez un artifact en quatre lignes de code :
  1. Créez un run W&B.
  2. Créez un objet artifact avec wandb.Artifact.
  3. Ajoutez un ou plusieurs fichiers, par exemple un fichier de modèle ou un jeu de données, à l’objet artifact avec wandb.Artifact.add_file().
  4. Enregistrez votre artifact dans W&B avec wandb.Run.log_artifact().
Par exemple, l’extrait de code suivant montre comment enregistrer un fichier nommé dataset.h5 dans un artifact nommé example_artifact :
import wandb

with wandb.init(project="artifacts-example", job_type="add-dataset") as run:
    artifact = wandb.Artifact(name="example_artifact", type="dataset")
    artifact.add_file(local_path="./dataset.h5", name="training_dataset")
    run.log_artifact(artifact)
  • Le type de l’artifact détermine la façon dont il apparaît dans la plateforme W&B. Si vous ne spécifiez pas de type, il prend la valeur unspecified par défaut.
  • Chaque libellé de la liste déroulante correspond à une valeur différente du paramètre type. Dans l’extrait de code ci-dessus, le type de l’artifact est dataset.
Voir la page suivi des fichiers externes pour savoir comment ajouter des références à des fichiers ou répertoires stockés dans un stockage d’objets externe, comme un bucket Amazon S3.

Télécharger un artifact

Spécifiez l’artifact que vous souhaitez marquer comme entrée pour votre run à l’aide de la méthode wandb.Run.use_artifact(). À partir de l’extrait de code précédent, l’exemple de code suivant montre comment utiliser l’artifact nommé example_artifact, créé précédemment :
with wandb.init(project="artifacts-example", job_type="add-dataset") as run:
    artifact = run.use_artifact("training_dataset:latest")  # renvoie un objet run utilisant l'artifact "my_data"
Ceci renvoie un objet artifact. Ensuite, utilisez l’objet renvoyé pour télécharger l’intégralité du contenu de l’artifact :
datadir = artifact.download()  # télécharge l'artifact complet `my_data` dans le répertoire par défaut.
Vous pouvez indiquer un chemin personnalisé dans le paramètre root pour télécharger un artifact dans un répertoire précis. Pour découvrir d’autres façons de télécharger des artifacts et consulter des paramètres supplémentaires, voir le guide sur le téléchargement et l’utilisation des artifacts.

Étapes suivantes

  • Découvrez comment créer une version et mettre à jour des artifacts.
  • Découvrez comment déclencher des flux de travail en aval ou notifier un canal Slack en réponse aux modifications de vos artifacts avec automations.
  • Découvrez le registre, un espace qui héberge des modèles entraînés.
  • Explorez les guides de référence du SDK Python et de la CLI.