Passer au contenu principal
Utilisez le W&B Python SDK pour télécharger un artifact lié à un registre. Pour télécharger et utiliser un artifact, vous devez connaître le nom du registre, le nom de la collection, ainsi que l’alias ou l’index de la version de l’artifact que vous souhaitez télécharger. Une fois que vous connaissez les propriétés de l’artifact, vous pouvez construire le chemin vers l’artifact lié et télécharger l’artifact. Vous pouvez également copier-coller un extrait de code pré-généré depuis le W&B App UI pour télécharger un artifact lié à un registre.

Construire le chemin vers l’artifact lié

Pour télécharger un artifact lié à un registre, vous devez connaître le chemin de cet artifact lié. Ce chemin se compose du nom du registre, du nom de la collection, ainsi que de l’alias ou de l’index de la version de l’artifact à laquelle vous souhaitez accéder. Une fois que vous disposez du registre, de la collection et de l’alias ou de l’index de la version de l’artifact, vous pouvez construire le chemin vers l’artifact lié à l’aide du modèle de chaîne ci-dessous :
# Nom de l'artifact avec l'index de version spécifié
f"wandb-registry-{REGISTRY}/{COLLECTION}:v{INDEX}"

# Nom de l'artifact avec l'alias spécifié
f"wandb-registry-{REGISTRY}/{COLLECTION}:{ALIAS}"
Remplacez les valeurs entre accolades {} par le nom du registre, de la collection et de l’alias ou de l’index de la version de l’artifact à laquelle vous souhaitez accéder. Utilisez la méthode wandb.Run.use_artifact() pour accéder à l’artifact et en télécharger le contenu une fois que vous disposez du chemin de l’artifact lié. L’extrait de code suivant montre comment utiliser et télécharger un artifact lié à W&B Registry. Veillez à remplacer les valeurs entre <> par les vôtres :
import wandb

REGISTRY = '<registry_name>'
COLLECTION = '<collection_name>'
ALIAS = '<artifact_alias>'

with wandb.init(entity = '<team_name>', project = '<project_name>')  as run:
    artifact_name = f"wandb-registry-{REGISTRY}/{COLLECTION}:{ALIAS}"
    # artifact_name = '<artifact_name>' # Copier-coller le nom complet spécifié dans l'interface utilisateur W&B Registry
    fetched_artifact = run.use_artifact(artifact_or_name = artifact_name)  
    download_path = fetched_artifact.download()  
La méthode wandb.Run.use_artifact() crée à la fois un run et marque l’artifact que vous téléchargez comme entrée de ce run. Le fait de marquer un artifact comme entrée d’un run permet à W&B de suivre la traçabilité de cet artifact. Si vous ne souhaitez pas créer de run, vous pouvez utiliser l’objet wandb.Api() pour accéder à l’artifact :
import wandb

REGISTRY = "<registry_name>"
COLLECTION = "<collection_name>"
VERSION = "<version>"

api = wandb.Api()
artifact_name = f"wandb-registry-{REGISTRY}/{COLLECTION}:{VERSION}"
artifact = api.artifact(name = artifact_name)
Voir wandb.Run.use_artifact() et Artifact.download() dans la Référence de l’API pour les paramètres et le type de retour.
Users avec une entité personnelle appartenant à plusieurs organisationsLes Users disposant d’une entité personnelle et appartenant à plusieurs organisations doivent également spécifier soit le nom de leur organisation, soit utiliser une entité d’équipe lorsqu’ils accèdent à des artifacts liés à un registre.
import wandb

REGISTRY = "<registry_name>"
COLLECTION = "<collection_name>"
VERSION = "<version>"

# Assurez-vous d’utiliser votre entité d’équipe pour instancier l’API
api = wandb.Api(overrides={"entity": "<team-entity>"})
artifact_name = f"wandb-registry-{REGISTRY}/{COLLECTION}:{VERSION}"
artifact = api.artifact(name = artifact_name)

# Construire le chemin
api = wandb.Api()
artifact_name = f"wandb-registry-{REGISTRY}/{COLLECTION}:{VERSION}"
artifact = api.artifact(name = artifact_name)

Copier-coller l’extrait de code pré-généré

W&B génère un extrait de code que vous pouvez copier-coller dans votre script Python, notebook ou terminal pour télécharger un artifact associé à un registre.
  1. Accédez à W&B Registry.
  2. Sélectionnez le nom du registre qui contient votre artifact.
  3. Sélectionnez le nom de la collection.
  4. Dans la liste des versions d’artifact, sélectionnez la version à laquelle vous souhaitez accéder.
  5. Sélectionnez l’onglet Utilisation.
  6. Copiez l’extrait de code affiché dans la section API d’utilisation.
  7. Collez l’extrait de code dans votre script Python, notebook ou terminal.
Processus étape par étape pour localiser et copier l’extrait de code d’utilisation depuis l’interface du registre