Nous vous recommandons de créer un artefact incrémentiel lorsque vous devez appliquer des modifications à un sous-ensemble de fichiers d’un artefact, en particulier si l’artefact d’origine est nettement plus volumineux.
Créer de nouvelles versions d’artefact à partir de zéro
- Run unique : un seul run fournit toutes les données d’une nouvelle version. C’est le cas le plus courant, et il convient le mieux lorsque le run recrée entièrement les données nécessaires. Par exemple : générer des modèles enregistrés ou des prédictions de modèle dans un tableau pour analyse.
- Runs distribués : un ensemble de runs fournit collectivement toutes les données d’une nouvelle version. Ce mode convient le mieux aux jobs distribués comportant plusieurs runs qui génèrent des données, souvent en parallèle. Par exemple : évaluer un modèle de manière distribuée et produire les prédictions.
v0 si vous transmettez à l’API wandb.Artifact un nom qui n’existe pas dans votre projet. W&B calcule une somme de contrôle du contenu lorsque vous journalisez de nouveau dans le même artefact. Si l’artefact a été modifié, W&B enregistre une nouvelle version v1.
W&B récupérera un artefact existant si vous transmettez à l’API wandb.Artifact un nom et un type d’artefact qui correspondent à un artefact existant dans votre projet. L’artefact récupéré aura une version supérieure à 1.

Run unique
- Associer comme sortie d’exécution
- Enregistrer directement
Utilisez
wandb.Run.log_artifact() pour associer explicitement l’artefact à une exécution :- Créez une exécution avec
wandb.init(). - Créez un nouvel artefact ou récupérez-en un existant avec
wandb.Artifact. - Ajoutez des fichiers à l’artefact avec
wandb.Artifact.add_file(). - Enregistrez l’artefact dans l’exécution avec
wandb.Run.log_artifact().
Runs distribués
- Chaque run de la collection doit connaître le même ID unique (appelé
distributed_id) afin de collaborer sur la même version. Par défaut, s’il est présent, W&B utilise legroupdu run, tel que défini parwandb.init(group=GROUP), commedistributed_id. - Un run final doit « valider » la version, ce qui verrouille définitivement son état.
- Utilisez
upsert_artifactpour ajouter du contenu à l’artefact collaboratif etfinish_artifactpour finaliser la validation.
upsert_artifact.
Run 1
Run 2
Run 3
wandb.Run.finish_artifact() peut inclure des fichiers dans l’artefact, mais ce n’est pas obligatoire.
Créer une nouvelle version d’artefact à partir d’une version existante

Artifact.add_file(), Artifact.add_dir() et Artifact.remove(). Pour obtenir la liste complète des méthodes, voir la documentation de référence de Artifact.
Une fois le brouillon modifié, consignez-le ou enregistrez-le pour créer une nouvelle version d’artefact.
Vous pouvez créer un nouvel artefact à partir de zéro au lieu de créer un artefact incrémentiel. Toutefois, cette approche exige que tous les fichiers de l’artefact soient disponibles sur votre disque local. Avec un artefact incrémentiel, vous pouvez ajouter, supprimer ou modifier des fichiers individuels tout en réutilisant les fichiers inchangés de la version précédente de l’artefact.
Run unique
- Suivre comme entrée du run
- Récupérer directement
Utilisez
wandb.Run.use_artifact() lorsque le run en cours consomme l’artefact. W&B enregistre l’artefact comme entrée du run.- Récupérez la version de l’artefact avec
wandb.Run.use_artifact(). - Créez un brouillon avec
Artifact.new_draft(). - Ajoutez, supprimez ou modifiez des entrées dans le brouillon.
- Consignez le brouillon avec
wandb.Run.log_artifact()pour créer une nouvelle version d’artefact.
Runs distribués
Artifact.upsert_artifact() et Artifact.finish_artifact() lorsque plusieurs exécutions ajoutent des fichiers à une même version d’artefact.
L’exemple suivant montre comment créer une nouvelle version d’artefact à partir d’exécutions distribuées lorsque l’artefact est utilisé comme entrée pour les exécutions. La même approche s’applique lorsque l’artefact est récupéré directement avec l’API publique.