Classe wandb.Artifact
Élément de base flexible et léger pour la gestion des versions des jeux de données et des modèles. Construit un artifact W&B vide. Remplissez le contenu d’un artifact à l’aide des méthodes dont le nom commence paradd. Une fois que l’artifact contient tous les fichiers souhaités, vous pouvez appeler
run.log_artifact() pour le journaliser.
Arguments
str
Nom lisible de l’artifact. Utilisez ce nom pour identifier un artifact précis dans l’interface de l’application W&B ou par programmation. Vous pouvez référencer un artifact de manière interactive avec l’API publique
use_artifact. Un nom peut contenir des lettres, des chiffres, des caractères de soulignement, des traits d’union et des points. Le nom doit être unique au sein d’un projet.str
Type de l’artifact. Le type d’un artifact permet à la fois d’organiser et de différencier les artifacts. Vous pouvez utiliser n’importe quelle chaîne contenant des lettres, des chiffres, des caractères de soulignement, des traits d’union et des points. Les types courants sont notamment
dataset ou model. Incluez model dans votre chaîne de type si vous souhaitez lier l’artifact au W&B Model Registry. Notez que certains types sont réservés à un usage interne et ne peuvent pas être définis par les utilisateurs. C’est le cas de job et des types commençant par wandb-.str | None
Description de l’artifact. Pour les artifacts de modèle ou de jeu de données, ajoutez la documentation de la fiche standardisée de modèle ou de jeu de données de votre équipe. Consultez la description d’un artifact par programmation avec l’attribut
Artifact.description, ou via l’interface de l’application W&B. W&B affiche la description au format Markdown dans la W&B App.dict[str, Any] | None
Informations supplémentaires sur un artifact. Spécifiez les métadonnées sous forme de dictionnaire de paires clé-valeur. Vous pouvez spécifier 100 clés au maximum au total.
bool
Pour modifier un artifact existant, utilisez plutôt la méthode
Artifact.new_draft().str | None
Obsolète.
str | None
Aucune description fournie.
Literal['MD5', 'XXH128']
Algorithme de digest à utiliser pour l’artifact. Valeur par défaut : MD5. Si la valeur XXH128 est définie, l’artifact est haché avec l’algorithme XXH128, sauf s’il fait partie d’une collection qui utilise déjà MD5. Les appels à
artifact.verify() avec les versions du SDK antérieures à 0.29.0 échouent systématiquement sur les artifacts XXH128.Propriétés
list[str]
Liste d’une ou plusieurs références sémantiquement explicites ou« surnoms » d’identification attribués à une version d’artifact.Les alias sont des références modifiables que vous pouvez utiliser par programmation.
Modifiez l’alias d’un artifact via l’interface de l’application W&B ou par programmation.
Pour plus d’informations, voir Créer de nouvelles versions d’artifact.
ArtifactCollection
La collection à partir de laquelle cet artifact est récupéré.Une collection est un groupe ordonné de versions d’artifact.
Si cet artifact est récupéré à partir d’une collection à laquelle il est lié,
cette collection est renvoyée. Sinon, c’est la collection
dont provient la version d’artifact qui est renvoyée.La collection dont provient un artifact est appelée
séquence source.
str
Le hash renvoyé lors du commit de cet artifact.
str
Horodatage de la création de l’artifact.
str | None
Une description de l’artifact.
str
Le digest logique de l’artifact.Le digest est la somme de contrôle du contenu de l’artifact. Si un artifact a le
même digest que la version
latest actuelle, log_artifact n’a aucun effet (no-op).ArtifactDigestAlgorithm
L’algorithme utilisé pour calculer le digest de l’artifact.
str
Le nom de l’entity à laquelle appartient la collection d’artifacts.Si l’artifact est un lien, l’entity est celle de l’artifact lié.
int
Le nombre de fichiers (références incluses).
int | None
Le step le plus proche ayant journalisé des métriques d’historique pour le run source de cet artifact.
str | None
L’ID de l’artifact.
bool
Indicateur booléen précisant si l’artifact est un artifact de lien.True : l’artifact est un artifact de lien vers un artifact source.
False : l’artifact est un artifact source.
list[Artifact]
Renvoie la liste de tous les artifacts liés d’un artifact source.Si cet artifact est un artifact de lien (
artifact.is_link == True),
une liste vide est renvoyée.Limité à 500 résultats.str | None
Date et heure auxquelles cet artifact a été lié à sa collection actuelle.Valide uniquement pour les artifacts liés ; renvoie
None dans les autres cas.ArtifactManifest
Le manifeste de l’artifact.Le manifeste répertorie l’ensemble de son contenu et ne peut plus être modifié une fois l’artifact
journalisé.
dict
Métadonnées de l’artifact définies par l’utilisateur.Données structurées associées à l’artifact.
str
Le nom et la version de l’artifact.Une chaîne au format
{collection}:{alias}. Si le nom est récupéré avant que l’artifact ne soit
journalisé ou enregistré, il ne contient pas l’alias.
Si l’artifact est un lien, le nom est celui de l’artifact lié.str
Le nom du projet auquel appartient la collection d’artifacts.Si l’artifact est un lien, le projet est celui de l’artifact lié.
str
L’entity/projet/nom de l’artifact.Si l’artifact est un lien, le nom qualifié est celui du
chemin de l’artifact lié.
int
La taille totale de l’artifact, en octets.Inclut toutes les références suivies par cet artifact.
Artifact
Renvoie l’artifact source, c’est-à-dire l’artifact journalisé d’origine.Si cet artifact est un artifact source (
artifact.is_link == False),
il se renvoie lui-même.ArtifactCollection
La collection source de l’artifact.La collection source est la collection à partir de laquelle l’artifact a été journalisé.
str
Le nom de l’entity de l’artifact source.
str
Le nom et la version de l’artifact source.Une chaîne au format
{source_collection}:{alias}. Avant l’enregistrement de l’artifact,
elle ne contient que le nom, car la version n’est pas encore connue.str
Le nom du projet de l’artifact source.
str
Le chemin source_entity/source_project/source_name de l’artifact source.
str
La version de l’artifact source.Une chaîne de caractères au format
v{number}.str
Le statut de l’artifact. L’une des valeurs suivantes : « PENDING », « COMMITTED » ou « DELETED ».
list[str]
Liste d’un ou plusieurs tags attribués à cette version de l’artifact.
timedelta | None
La politique de durée de vie (TTL) d’un artifact.Les artifacts sont supprimés peu après l’expiration de la durée définie par une politique TTL.
Si la valeur est
None, l’artifact désactive les politiques TTL et sa suppression ne sera pas
planifiée, même si une politique TTL par défaut est définie pour l’équipe.
Un artifact hérite de la politique TTL par défaut de
l’équipe si l’administrateur d’équipe en a défini une
et qu’aucune politique personnalisée n’est définie sur l’artifact.str
Le type de l’artifact. Les types courants sont
dataset ou model.str
La date et l’heure de la dernière mise à jour de l’artifact.
The URL of the artifact.
Construit l’URL de l’artifact.
str | None
Obsolète.
str
La version de l’artifact.Une chaîne de caractères au format
v{number}.
S’il s’agit d’un artifact de type lien, la version provient de la collection liée.Méthodes
méthode Artifact.add()
obj à l’artifact.
WBValue
L’objet à ajouter. Les types actuellement pris en charge sont les suivants : Bokeh, JoinedTable, PartitionedTable, Table, Classes, ImageMask, BoundingBoxes2D, Audio, Image, Video, Html, Object3D
StrPath
Le chemin, dans l’artifact, auquel ajouter l’objet.
bool
Si True, écrase, le cas échéant, les objets existants qui ont le même chemin de fichier.
ArtifactFinalizedError: vous ne pouvez pas modifier la version actuelle de l’artifact, car elle est finalisée. Journalisez plutôt une nouvelle version de l’artifact.
méthode Artifact.add_dir()
str
Le chemin du répertoire local.
str | None
Le nom du sous-répertoire au sein d’un artifact. Le nom que vous indiquez apparaît dans l’interface de l’application W&B, imbriqué sous le
type de l’artifact. Par défaut, la racine de l’artifact.bool | None
Si la valeur est
True, W&B ne copie ni ne déplace les fichiers vers le cache lors du téléversementLiteral['mutable', 'immutable'] | None
Par défaut, « mutable ».
- mutable : crée une copie temporaire du fichier afin d’éviter toute corruption pendant le téléversement.
- immutable : désactive la protection ; il revient à l’utilisateur de ne pas supprimer ni modifier le fichier.
bool
Si
False (par défaut), lève une ValueError si un fichier a déjà été ajouté lors d’un appel add_dir précédent et que son contenu a changé depuis. Si True, écrase les fichiers existants dont le contenu a changé. Les nouveaux fichiers sont toujours ajoutés et aucun fichier n’est jamais supprimé. Pour remplacer un répertoire entier, indiquez un nom lors de l’ajout du répertoire avec add_dir(local_path, name=my_prefix), puis appelez remove(my_prefix) pour supprimer le répertoire avant de l’ajouter à nouveau.ArtifactFinalizedError: vous ne pouvez pas modifier la version actuelle de l’artifact, car elle est finalisée. Journalisez plutôt une nouvelle version de l’artifact.ValueError: la politique doit être “mutable” ou “immutable”
méthode Artifact.add_file()
str
Le chemin du fichier à ajouter.
str | None
Le chemin, dans l’artifact, à utiliser pour le fichier ajouté. Par défaut, il s’agit du nom de base du fichier.
bool | None
Si la valeur est true, le fichier est renommé de manière déterministe afin d’éviter les collisions.
bool | None
Si la valeur est
True, les fichiers ne sont pas copiés dans le cache après leur téléversement.Literal['mutable', 'immutable'] | None
La valeur par défaut est « mutable ». Si la valeur est « mutable », une copie temporaire du fichier est créée pour éviter toute corruption pendant le téléversement. Si la valeur est « immutable », la protection est désactivée et l’on part du principe que l’utilisateur ne supprimera ni ne modifiera le fichier.
bool
Si la valeur est
True, le fichier est écrasé s’il existe déjà.ArtifactFinalizedError: vous ne pouvez pas modifier la version actuelle de l’artifact, car elle est finalisée. Journalisez plutôt une nouvelle version de l’artifact.ValueError: la politique doit être “mutable” ou “immutable”
méthode Artifact.add_reference()
- http(s) : la taille et le digest du fichier sont déduits des
en-têtes de réponse
Content-LengthetETagrenvoyés par le serveur. - s3 : la somme de contrôle et la taille sont extraites des métadonnées de l’objet. Si la gestion des versions du bucket est activée, l’ID de version est également suivi.
- gs : la somme de contrôle et la taille sont extraites des métadonnées de l’objet. Si la gestion des versions du bucket est activée, l’ID de version est également suivi.
- https, domaine correspondant à
*.blob.core.windows.net - Azure : la somme de contrôle et la taille sont extraites des métadonnées du blob. Si la gestion des versions du compte de stockage est activée, l’ID de version est également suivi.
- file : la somme de contrôle et la taille sont extraites du système de fichiers. Ce schéma est utile si vous disposez d’un partage NFS ou d’un autre volume monté en externe contenant des fichiers que vous souhaitez suivre sans forcément les téléverser.
ArtifactManifestEntry | str
Le chemin URI de la référence à ajouter. Le chemin URI peut être un objet renvoyé par
Artifact.get_entry afin de stocker une référence vers l’entrée d’un autre artifact.StrPath | None
Le chemin, dans l’artifact, où placer le contenu de cette référence.
bool
Indique s’il faut calculer la somme de contrôle de la ou des ressources situées à l’URI de la référence. Le calcul de la somme de contrôle est fortement recommandé, car il permet de valider automatiquement l’intégrité. Le désactiver accélère la création de l’artifact, mais les répertoires de référence ne sont alors pas parcourus : les objets qu’ils contiennent ne sont donc pas enregistrés dans l’artifact. Nous recommandons de définir
checksum=False lors de l’ajout d’objets de référence ; dans ce cas, une nouvelle version n’est créée que si l’URI de la référence change.int | None
Le nombre maximal d’objets à prendre en compte lors de l’ajout d’une référence pointant vers un répertoire ou un préfixe de stockage de bucket. Par défaut, le nombre maximal d’objets autorisé pour Amazon S3, GCS, Azure et les fichiers locaux est de 10 000 000. Les autres schémas d’URI n’ont pas de limite.
ArtifactFinalizedError: vous ne pouvez pas modifier la version actuelle de l’artifact, car elle est finalisée. Journalisez plutôt une nouvelle version de l’artifact.
méthode Artifact.checkout()
root qui ne figurent pas dans
l’artifact.
str | None
Le répertoire à remplacer par les fichiers de cet artifact.
ArtifactNotLoggedError: si l’artifact n’est pas journalisé.
méthode Artifact.delete()
Artifact.unlink() plutôt que Artifact.delete().
bool
Si la valeur est
True, supprime tous les alias associés à l’artifact. Si la valeur est False, lève une exception si l’artifact possède déjà des alias. Ce paramètre est ignoré si l’artifact est récupéré depuis une collection à laquelle il est lié.ArtifactNotLoggedError: si l’artifact n’est pas journalisé.
méthode Artifact.download()
root ne sont pas modifiés. Supprimez explicitement root
avant d’appeler download si vous souhaitez que le contenu de root corresponde exactement
à l’artifact.
StrPath | None
Répertoire dans lequel W&B stocke les fichiers de l’artifact.
bool
Si la valeur est
True, les chemins de référence non valides sont ignorés lors du téléchargement des fichiers référencés.bool | None
Si la valeur est
True, le cache d’artifacts n’est pas utilisé lors du téléchargement et W&B télécharge chaque fichier dans la racine par défaut ou dans le répertoire de téléchargement spécifié.StrPath | None
Si ce paramètre est spécifié, seuls les fichiers dont le chemin commence par le préfixe indiqué sont téléchargés. Utilise le format Unix (barres obliques).
bool | None
Si la valeur est
None (par défaut), l’artifact est téléchargé en parallèle en mode multipart lorsque la taille d’un fichier dépasse 2 Go. Si la valeur est True ou False, l’artifact est téléchargé respectivement en parallèle ou en série, quelle que soit la taille des fichiers.ArtifactNotLoggedError: si l’artifact n’est pas journalisé.
méthode Artifact.file()
root.
str | None
Répertoire racine dans lequel stocker le fichier. Valeur par défaut :
./artifacts/self.name/.ArtifactNotLoggedError: si l’artifact n’est pas journalisé.ValueError: si l’artifact contient plus d’un fichier.
méthode Artifact.files()
list[str] | None
Les chemins des fichiers à lister, relatifs à la racine de l’artifact.
int
Le nombre de fichiers à renvoyer par requête.
str | None
Curseur de pagination permettant de reprendre une requête antérieure, récupéré depuis l’attribut
.cursor d’un paginateur précédent.ArtifactNotLoggedError: si l’artifact n’est pas journalisé.
méthode Artifact.finalize()
log_artifact.
méthode Artifact.get()
name, relatif à l’artifact.
str
Nom relatif de l’artifact à récupérer.
ArtifactNotLoggedError: si l’artifact n’est pas journalisé ou si le run est hors ligne.
méthode Artifact.get_added_local_path_name()
str
Le chemin local à convertir en nom relatif au sein de l’artifact.
méthode Artifact.get_entry()
StrPath
Le nom relatif, au sein de l’artifact, de l’entrée à obtenir
ArtifactNotLoggedError: si l’artifact n’est pas journalisé ou si le run est hors ligne.KeyError: si l’artifact ne contient aucune entrée portant le nom indiqué.
méthode Artifact.get_path()
get_entry(name).
StrPath
Aucune description fournie.
méthode Artifact.is_draft()
méthode Artifact.json_encode()
méthode Artifact.link()
str
Le chemin de la collection. Il se compose du préfixe « wandb-registry- », suivi du nom du registre et du nom de la collection, soit
wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}.Iterable[str] | None
Ajoutez un ou plusieurs alias à l’artifact lié. L’alias « latest » est automatiquement attribué au dernier artifact que vous liez.
ArtifactNotLoggedError: si l’artifact n’est pas journalisé.
méthode Artifact.logged_by()
ArtifactNotLoggedError: si l’artifact n’est pas journalisé.
méthode Artifact.new_draft()
ArtifactNotLoggedError: si l’artifact n’est pas journalisé.
méthode Artifact.new_file()
str
Le nom du nouveau fichier à ajouter à l’artifact.
str
Le mode d’accès à utiliser pour ouvrir le nouveau fichier.
str | None
L’encodage utilisé pour ouvrir le nouveau fichier.
Literal['mutable', 'immutable']
Par défaut, la valeur est « mutable ». Avec « mutable », une copie temporaire du fichier est créée afin d’éviter toute corruption pendant le téléversement. Avec « immutable », cette protection est désactivée et il incombe à l’utilisateur de ne ni supprimer ni modifier le fichier.
ArtifactFinalizedError: Vous ne pouvez pas modifier la version actuelle de l’artifact, car elle est finalisée. Journalisez plutôt une nouvelle version de l’artifact.
méthode Artifact.remove()
StrPath | ArtifactManifestEntry
L’élément à supprimer. Il peut s’agir d’une entrée de manifeste précise ou du nom d’un chemin relatif à l’artifact. Si l’élément correspond à un répertoire, tous les éléments de ce répertoire sont supprimés.
ArtifactFinalizedError: vous ne pouvez pas modifier la version actuelle de l’artifact, car elle est finalisée. Journalisez plutôt une nouvelle version de l’artifact.FileNotFoundError: si l’élément est introuvable dans l’artifact.
méthode Artifact.save()
str | None
Projet à utiliser pour l’artifact si aucun run n’est déjà présent dans le contexte.
wandb.Settings | None
Objet de paramètres à utiliser lors de l’initialisation d’un run automatique. Principalement utilisé dans les harness de test.
méthode Artifact.unlink()
ArtifactNotLoggedError: si l’artifact n’est pas journalisé.ValueError: si l’artifact n’est lié à aucune collection.
méthode Artifact.used_by()
ArtifactNotLoggedError: si l’artifact n’est pas journalisé.
méthode Artifact.verify()
str | None
Le répertoire à vérifier. Si la valeur est None, l’artifact sera téléchargé dans ’./artifacts/self.name/’.
ArtifactNotLoggedError: si l’artifact n’est pas journalisé.ValueError: si la vérification échoue.
méthode Artifact.wait()
int | None
Durée d’attente, en secondes.