Passer au contenu principal
Une collection est un ensemble de versions d’artifact liées au sein d’un registre. Chaque collection représente une tâche ou un cas d’usage distinct. Par exemple, dans un registre, vous pouvez avoir plusieurs collections. Chaque collection contient un jeu de données différent, comme MNIST, CIFAR-10 ou ImageNet. Autre exemple : vous pouvez avoir un registre appelé “chatbot” qui contient une collection pour les artifacts de modèle, une autre pour les artifacts de jeu de données et une autre pour les artifacts de modèle affiné. Vous êtes libre d’organiser un registre et ses collections comme vous le souhaitez.
Si vous connaissez W&B Model Registry, vous connaissez peut-être les Registered Models. Dans le Model Registry, les Registered Models sont désormais appelés collections dans le W&B Registry.

Types de collection

Chaque collection n’accepte qu’un seul type d’artifact. Le type que vous spécifiez détermine quels artifacts vous, ainsi que les autres membres de votre organisation, pouvez lier à cette collection.
Vous pouvez considérer les types d’artifact comme l’équivalent des types de données dans des langages de programmation tels que Python. Dans cette analogie, une collection peut stocker des chaînes de caractères, des entiers ou des nombres à virgule flottante, mais pas un mélange de ces types de données.
Par exemple, supposons que vous créiez une collection qui accepte les artifacts de type “dataset”. Cela signifie que vous ne pouvez lier à cette collection que les futures versions d’artifact de type “dataset”. De même, vous ne pouvez lier des artifacts de type “model” qu’à une collection qui n’accepte que ce type d’artifact.
Vous spécifiez le type d’un artifact lorsque vous créez cet objet. Notez le champ type dans wandb.Artifact() :
import wandb

# Initialiser un run
with wandb.init(
  entity = "<team_entity>",
  project = "<project>"
  ) as run:

  # Créer un objet artifact
  artifact = wandb.Artifact(
      name="<artifact_name>", 
      type="<artifact_type>"
      )
Lorsque vous créez une collection, vous pouvez choisir parmi une liste de types d’artifact prédéfinis. Les types d’artifact disponibles dépendent du registre auquel appartient la collection. Avant de lier un artifact à une collection ou de créer une nouvelle collection, vérifiez les types d’artifact que cette collection accepte.

Vérifier les types d’artifact qu’une collection accepte

Avant de créer un lien vers une collection, vérifiez le type d’artifact qu’elle accepte. Vous pouvez vérifier par programmation les types d’artifact qu’une collection accepte avec le W&B Python SDK, ou de manière interactive avec la W&B App.
Un message d’erreur s’affiche si vous essayez de créer un lien entre un artifact et une collection qui n’accepte pas ce type d’artifact.
Vous pouvez trouver les types d’artifact acceptés sur la carte du registre, sur la page d’accueil, ou dans la page des paramètres d’un registre.Dans les deux cas, accédez d’abord à votre W&B Registry.Sur la page d’accueil du W&B Registry, vous pouvez voir les types d’artifact acceptés en faisant défiler la page jusqu’à la carte du registre concerné. Les ovales horizontaux gris de la carte du registre listent les types d’artifact que ce registre accepte.
Sélection des types d’artifact
Par exemple, l’image suivante montre plusieurs cartes de registre sur la page d’accueil du W&B Registry. Sur la carte du registre Model, vous pouvez voir deux types d’artifact : model et model-new.Pour voir les types d’artifact acceptés dans la page des paramètres d’un registre :
  1. Cliquez sur la carte du registre dont vous voulez afficher les paramètres.
  2. Cliquez sur l’icône d’engrenage dans le coin supérieur droit.
  3. Faites défiler jusqu’au champ Types d’artifact acceptés.
Une fois que vous savez quel type d’artifact une collection accepte, vous pouvez créer une collection.

Créer une collection

Créez une collection de manière interactive ou par programmation dans un registre. Vous ne pouvez pas modifier le type d’artifact accepté par une collection après sa création.

Créer une collection par programmation

Utilisez la méthode wandb.Run.link_artifact() pour lier un artifact à une collection. Indiquez la collection et le registre dans le champ target_path, sous la forme d’un chemin au format suivant :
f"wandb-registry-{registry_name}/{collection_name}"
registry_name est le nom du registre et collection_name est le nom de la collection. Veillez à ajouter le préfixe wandb-registry- au nom du registre.
W&B crée automatiquement une collection pour vous si vous essayez de lier un artifact à une collection qui n’existe pas. Si vous indiquez une collection existante, W&B lie l’artifact à cette collection.
L’extrait de code suivant montre comment créer une collection par programmation. Veillez à remplacer les valeurs entre <> par les vôtres :
import wandb

# Initialiser un run
with wandb.init(entity = "<team_entity>", project = "<project>") as run:

  # Créer un objet artifact
  artifact = wandb.Artifact(
    name = "<artifact_name>",
    type = "<artifact_type>"
    )

  registry_name = "<registry_name>"
  collection_name = "<collection_name>"
  target_path = f"wandb-registry-{registry_name}/{collection_name}"

  # Lier l'artifact à une collection
  run.link_artifact(artifact = artifact, target_path = target_path)

Créer une collection de manière interactive

Les étapes suivantes expliquent comment créer une collection de manière interactive à l’aide du W&B Registry :
  1. Accédez au W&B Registry à l’adresse https://wandb.ai/registry/.
  2. Sélectionnez un registre.
  3. Cliquez sur le bouton Create collection dans le coin supérieur droit.
  4. Saisissez un nom pour votre collection dans le champ Name.
  5. Sélectionnez un type dans la liste déroulante Type. Ou, si le registre autorise des types d’artifact personnalisés, indiquez un ou plusieurs types d’artifact que cette collection accepte.
  6. Si vous le souhaitez, saisissez une description de votre collection dans le champ Description.
  7. Si vous le souhaitez, ajoutez un ou plusieurs tags dans le champ Tags.
  8. Cliquez sur Link version.
  9. Dans la liste déroulante Project, sélectionnez le projet où votre artifact est stocké.
  10. Dans la liste déroulante de la collection Artifact, sélectionnez votre artifact.
  11. Dans la liste déroulante Version, sélectionnez la version d’artifact que vous souhaitez lier à votre collection.
  12. Cliquez sur le bouton Create collection.
Créer une nouvelle collection