Construire un artifact
- Créer un objet Python d’artifact avec
wandb.Artifact() - Ajouter un ou plusieurs fichiers à l’artifact
- Enregistrer votre artifact sur le serveur W&B
Créez un objet artifact Python avec wandb.Artifact()
wandb.Artifact() pour créer un objet artifact. Spécifiez les paramètres suivants :
- Nom : le nom de votre artifact. Il doit être unique, descriptif et mémorable.
- Type : le type de l’artifact. Il doit être simple, descriptif et correspondre à une seule étape de votre pipeline de machine learning. Parmi les types d’artifact courants, on trouve
'dataset'ou'model'.
W&B utilise le “nom” et le “type” que vous fournissez pour créer un graphe orienté acyclique dans l’application W&B. Voir Explore and traverse artifact graphs pour plus
d’informations.
wandb.Artifact dans le guide de Référence du SDK Python.
Copiez-collez l’extrait de code suivant pour créer un objet artifact. Remplacez les espaces réservés <name> et <type> par vos propres valeurs :
Ajoutez un ou plusieurs fichiers à l’artifact
Artifact.add_file() de l’objet artifact :
Artifact.add_dir() :
Enregistrez votre artifact sur le serveur W&B
wandb.Run.log_artifact() de l’objet run pour enregistrer l’artifact.
Ajouter des fichiers à un artifact
Ajouter un seul fichier
wandb.Artifact.add_file() pour ajouter un fichier local à un artifact. Indiquez le chemin local du fichier dans le paramètre local_path :
'hello.txt' dans votre répertoire de travail local.
name pour renommer le fichier au sein de l’objet artifact lui-même. En reprenant l’exemple précédent :
| Appel d’API | artifact obtenu |
|---|---|
artifact.new_file('hello.txt') | hello.txt |
artifact.add_file('model.h5') | model.h5 |
artifact.add_file('checkpoints/model.h5') | model.h5 |
artifact.add_file('model.h5', name='models/mymodel.h5') | models/mymodel.h5 |
Ajouter plusieurs fichiers
wandb.Artifact.add_dir() pour ajouter plusieurs fichiers d’un répertoire local à un artifact. Spécifiez le chemin local du répertoire à l’aide du paramètre local_path.
| Appel d’API | artifact obtenu |
|---|---|
artifact.add_dir('images') |
|
artifact.add_dir('images', name='images') |
|
Ajouter une référence URI
wandb.Artifact.add_reference(). Remplacez la chaîne 'uri' par votre propre URI. Vous pouvez également indiquer, pour le paramètre nom, le chemin souhaité dans l’artifact.
http(s)://: chemin d’accès vers un fichier accessible via HTTP. L’artifact suit les sommes de contrôle sous forme d’ETags et les métadonnées de taille si le serveur HTTP prend en charge les en-têtes de réponseETagetContent-Length.s3://: chemin d’accès vers un objet ou un préfixe d’objet dans S3. L’artifact suit les sommes de contrôle et les informations de gestion des versions (si la gestion des versions des objets est activée pour le bucket) des objets référencés. Les préfixes d’objet sont étendus pour inclure les objets qu’ils contiennent, dans la limite de 10 000 objets.gs://: chemin d’accès vers un objet ou un préfixe d’objet dans GCS. L’artifact suit les sommes de contrôle et les informations de gestion des versions (si la gestion des versions des objets est activée pour le bucket) des objets référencés. Les préfixes d’objet sont étendus pour inclure les objets qu’ils contiennent, dans la limite de 10 000 objets.
| Appel d’API | Contenu de l’artifact obtenu |
|---|---|
artifact.add_reference('s3://my-bucket/model.h5') | model.h5 |
artifact.add_reference('s3://my-bucket/checkpoints/model.h5') | model.h5 |
artifact.add_reference('s3://my-bucket/model.h5', name='models/mymodel.h5') | models/mymodel.h5 |
artifact.add_reference('s3://my-bucket/images') |
|
artifact.add_reference('s3://my-bucket/images', name='images') |
|
Ajouter des fichiers à des artefacts depuis des exécutions parallèles
Trouver le chemin d’accès des Artifacts enregistrés et d’autres métadonnées
<entity/project/run-id> par vos propres valeurs :