class Artifact
Composant flexible et léger pour la gestion des versions des jeux de données et des modèles.
Créez un W&B Artifact vide. Remplissez le contenu d’un Artifact avec des méthodes commençant par add. Une fois que l’Artifact contient tous les fichiers souhaités, vous pouvez appeler run.log_artifact() pour l’enregistrer.
méthode Artifact.__init__
name(str): Un nom facile à lire pour l’artifact. Utilisez ce nom pour identifier un artifact spécifique 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 publiqueuse_artifact. Un nom peut contenir des lettres, des chiffres, des traits de soulignement, des traits d’union et des points. Le nom doit être unique dans un projet.type(str): Le type de l’artifact. Utilisez le type d’un artifact pour organiser et différencier les Artifacts. Vous pouvez utiliser n’importe quelle chaîne contenant des lettres, des chiffres, des traits de soulignement, des traits d’union et des points. Les types courants incluentdatasetoumodel. Incluezmodeldans votre chaîne de type si vous souhaitez lier l’artifact au registre de modèles W&B. Notez que certains types sont réservés à un usage interne et ne peuvent pas être définis par les utilisateurs. Ces types incluentjobet les types qui commencent parwandb-.description (str | None) = None: Une description de l’artifact. Pour les Artifacts de type Model ou Dataset, ajoutez la documentation de votre carte de modèle ou de jeu de données standardisée pour l’équipe. Consultez la description d’un artifact par programmation avec l’attributArtifact.descriptionou dans l’interface de l’application W&B. W&B affiche la description au format markdown dans l’application W&B.metadata (dict[str, Any] | None) = None: Informations supplémentaires sur un artifact. Spécifiez les métadonnées sous la forme d’un dictionnaire de paires clé-valeur. Vous ne pouvez pas spécifier plus de 100 clés au total.incremental: Utilisez plutôt la méthodeArtifact.new_draft()pour modifier un artifact existant.use_as: Obsolète.
Artifact.
propriété Artifact.aliases
Liste d’une ou plusieurs références explicites sur le plan sémantique, ou de « 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 dans l’interface de l’application W&B ou par programmation. Voir Create new artifact versions pour plus d’informations. Retourne :list[str]: La valeur de la propriété aliases.
propriété Artifact.collection
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 propriété renvoie cette collection. Sinon, elle renvoie la collection d’où provient la version de l’artifact. La collection dont provient un artifact est appelée la séquence source. Retourne :ArtifactCollection: La valeur de la propriété collection.
propriété Artifact.commit_hash
Le hachage renvoyé après l’enregistrement de cet artifact. Retourne :str: La valeur de propriétécommit_hash.
propriété Artifact.created_at
Horodatage indiquant quand l’artifact a été créé. Retourne :str: La valeur de la propriété created_at.
propriété Artifact.description
Description de l’artifact. Retourne :str | None: La valeur de la propriété description.
propriété Artifact.digest
Le digest logique de l’artifact. Le digest correspond à la somme de contrôle du contenu de l’artifact. Si un artifact a le même digest que la versionlatest actuelle, alors log_artifact est sans effet.
Retourne :
str: La valeur de propriété du digest.
propriété Artifact.entity
Le nom de l’entité à laquelle appartient la collection d’artifacts. Si l’artifact est un lien, l’entité sera celle de l’artifact lié. Retourne :str: La valeur de la propriété entité.
propriété Artifact.file_count
Le nombre de fichiers (références comprises). Retourne :int: La valeur de la propriété file_count.
propriété Artifact.history_step
L’étape la plus proche ayant enregistré des métriques dans l’historique du run source de cet artifact. Exemples :int | None: La valeur de la propriété history_step.
propriété Artifact.id
L’ID de l’artifact. Retourne :str | None: La valeur de la propriétéid.
propriété Artifact.is_link
Indicateur booléen indiquant 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. Retourne :bool: la valeur de propriétéis_link.
propriété Artifact.linked_artifacts
Renvoie la liste de tous les artifacts liés à un artifact source. Si cet artifact est un artifact de lien (artifact.is_link == True), cette propriété renvoie une liste vide.
Limité à 500 résultats.
Retourne :
list[Artifact]: la valeur de la propriétélinked_artifacts.
propriété Artifact.manifest
Le manifeste de l’artifact. Le manifeste répertorie l’ensemble de son contenu et ne peut plus être modifié une fois l’artifact enregistré. Retourne :ArtifactManifest: La valeur de la propriété manifeste.
propriété Artifact.metadata
Métadonnées de l’Artifact définies par l’utilisateur. Données structurées associées à l’Artifact. Retourne :dict: La valeur de la propriété metadata.
propriété Artifact.name
Le nom et la version de l’artifact. Une chaîne au format{collection}:{alias}. Si cette propriété est récupérée avant qu’un artifact ne soit enregistré, le nom ne contiendra pas d’alias. Si l’artifact est un lien, le nom sera celui de l’artifact lié.
Retourne :
str: La valeur de la propriéténame.
propriété Artifact.project
Le nom du projet auquel appartient la collection d’artifacts. Si l’artifact est un lien, le projet sera celui de l’artifact lié. Retourne :str: La valeur de la propriétéproject.
propriété Artifact.qualified_name
L’entité/le projet/le nom de l’artifact. Si l’artifact est un lien, le nom qualifié sera celui du chemin de l’artifact lié. Retourne :str: La valeur de la propriété qualified_name.
propriété Artifact.size
La taille totale de l’artifact, en octets. Inclut toutes les références suivies par cet artifact. Retourne :int: La valeur de la propriétésize.
propriété Artifact.source_artifact
Renvoie l’artifact source, c’est-à-dire l’artifact original enregistré. Si cet artifact est un artifact source (artifact.is_link == False), il se renvoie lui-même.
Retourne :
Artifact: La valeur de propriétésource_artifact.
propriété Artifact.source_collection
La collection d’origine de l’artifact. La collection d’origine est la collection à partir de laquelle l’artifact a été enregistré. Retourne :ArtifactCollection: La valeur de propriété source_collection.
propriété Artifact.source_entity
Le nom de l’entité de l’Artifact source. Retourne :str: La valeur de la propriété source_entity.
propriété Artifact.source_name
Le nom et la version de l’artifact source. Une chaîne au format{source_collection}:{alias}. Avant que l’artifact ne soit enregistré, elle contient uniquement le nom, puisque la version n’est pas encore connue.
Retourne :
str: La valeur de propriété desource_name.
propriété Artifact.source_project
Le nom du projet de l’artifact d’origine. Retourne :str: La valeur de la propriétésource_project.
propriété Artifact.source_qualified_name
Le triplet source_entity/source_project/source_name de l’artifact source. Retourne :str: La valeur de la propriété source_qualified_name.
propriété Artifact.source_version
La version de l’artifact source. Une chaîne au formatv{number}.
Retourne :
str: La valeur de la propriété source_version.
propriété Artifact.state
Le statut de l’artifact. L’une des valeurs suivantes : “PENDING”, “COMMITTED” ou “DELETED”. Retourne :str: La valeur de la propriété state.
propriété Artifact.tags
Liste d’un ou de plusieurs tags attribués à cette version d’artifact. Retourne :list[str]: La valeur de la propriété tags.
propriété Artifact.ttl
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 elle est définie surNone, l’artifact désactive les politiques TTL et ne sera pas planifié pour être supprimé, même s’il existe une valeur TTL par défaut pour l’équipe. Un artifact hérite de la politique TTL par défaut de l’équipe si l’administrateur de l’équipe définit une valeur TTL par défaut et qu’aucune politique personnalisée n’est définie sur l’artifact.
Exceptions levées :
ArtifactNotLoggedError: Impossible de récupérer la TTL héritée si l’artifact n’a pas été enregistré ou sauvegardé.
timedelta | None: La valeur de propriététtl.
propriété Artifact.type
Le type de l’artifact. Les types courants sont notammentdataset ou model.
Retourne :
str: La valeur de la propriété type.
propriété Artifact.updated_at
L’heure à laquelle l’artifact a été mis à jour pour la dernière fois. Retourne :str: La valeur de propriétéupdated_at.
propriété Artifact.url
Construit l’URL de l’artifact. Retourne :str: L’URL de l’artifact.
str: La valeur de la propriétéurl.
propriété Artifact.use_as
Obsolète. Retourne :str | None: La valeur de la propriétéuse_as.
propriété Artifact.version
La version de l’artifact. Une chaîne au formatv{number}. S’il s’agit d’un artifact de type lien, la version proviendra de la collection liée.
Retourne :
str: La valeur de la propriété version.
méthode Artifact.add
obj de type wandb.WBValue à l’artifact.
Arguments :
obj: L’objet à ajouter. Prend actuellement en charge l’un des types suivants : Bokeh, JoinedTable, PartitionedTable, Table, Classes, ImageMask, BoundingBoxes2D, Audio, Image, Video, Html, Object3Dname: Le chemin dans l’artifact auquel ajouter l’objet.overwrite: Si True, remplace les objets existants ayant le même chemin de fichier, le cas échéant.
ArtifactFinalizedError: Vous ne pouvez pas modifier la version actuelle de l’artifact, car elle est finalisée. Enregistrez plutôt une nouvelle version de l’artifact.
méthode Artifact.add_dir
local_path: Le chemin du répertoire local.name: Le nom du sous-répertoire dans un artifact. Le nom que vous indiquez apparaît dans l’UI de l’application W&B, sous letypede l’artifact. Par défaut, il correspond à la racine de l’artifact.skip_cache: Si défini surTrue, W&B ne copiera ni ne déplacera les fichiers vers le cache pendant l’uploadpolicy: Par défaut, “mutable”.- mutable: Crée une copie temporaire du fichier pour éviter toute corruption pendant l’upload.
- immutable: Désactive la protection et suppose que l’utilisateur ne supprimera ni ne modifiera le fichier.
merge: SiFalse(par défaut), lève une ValueError si un fichier a déjà été ajouté lors d’un précédent appel à add_dir et que son contenu a changé. SiTrue, écrase les fichiers existants dont le contenu a changé. Ajoute toujours les nouveaux fichiers et ne supprime jamais de fichiers. Pour remplacer un répertoire entier, passez un nom lors de l’ajout du répertoire avecadd_dir(local_path, name=my_prefix)et appelezremove(my_prefix)pour supprimer le répertoire, puis ajoutez-le de 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 stratégie doit être “mutable” ou “immutable”
méthode Artifact.add_file
local_path: Le chemin du fichier à ajouter.name: Le chemin à utiliser dans l’artifact pour le fichier ajouté. La valeur par défaut est le nom de base du fichier.is_tmp: Si la valeur est true, le fichier est renommé de manière déterministe pour éviter les collisions.skip_cache: Si la valeur estTrue, ne copiez pas les fichiers dans le cache après le téléversement.policy: Par défaut, la valeur est définie sur “mutable”. Si elle est définie sur “mutable”, créez une copie temporaire du fichier pour éviter toute corruption pendant le téléversement. Si elle est définie sur “immutable”, désactivez la protection et supposez que l’utilisateur ne supprimera pas et ne modifiera pas le fichier.overwrite: Si la valeur estTrue, remplacez le fichier s’il existe déjà.
ArtifactFinalizedError: Vous ne pouvez pas modifier la version actuelle de l’artifact, car elle est finalisée. Créez plutôt une nouvelle version de l’artifact.ValueError: La stratégie doit être “mutable” ou “immutable”
méthode Artifact.add_reference
- http(s) : la taille et l’empreinte du fichier sont déduites des en-têtes de réponse
Content-LengthetETagrenvoyés par le serveur. - s3 : la somme de contrôle et la taille sont récupérées à partir 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 récupérées à partir 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 récupérées à partir 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 récupérées à partir du système de fichiers. Ce schéma est utile si vous avez un partage NFS ou un autre volume monté en externe contenant des fichiers que vous souhaitez suivre sans nécessairement les téléverser.
uri: le chemin URI de la référence à ajouter. Le chemin URI peut être un objet renvoyé parArtifact.get_entrypour stocker une référence vers l’entrée d’un autre artifact.name: le chemin au sein de l’artifact où placer le contenu de cette référence.checksum: indique s’il faut calculer ou non une somme de contrôle pour la ou les ressources situées à l’URI de référence. Le calcul de la somme de contrôle est fortement recommandé, car il permet une validation automatique de l’intégrité. Le désactiver accélère la création de l’artifact, mais les répertoires de référence ne seront pas parcourus, de sorte que les objets du répertoire ne seront pas enregistrés dans l’artifact. Nous vous recommandons de définirchecksum=Falselors de l’ajout d’objets de référence ; dans ce cas, une nouvelle version ne sera créée que si l’URI de référence change.max_objects: 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. Enregistrez plutôt une nouvelle version de l’artifact.
méthode Artifact.checkout
root qui ne sont pas inclus dans l’artifact.
Arguments :
root: le répertoire à remplacer par les fichiers de cet artifact.
ArtifactNotLoggedError: si l’artifact n’est pas enregistré.
méthode Artifact.delete
Artifact.unlink() au lieu de Artifact.delete() pour supprimer le lien entre un artifact source et une collection.
Arguments :
delete_aliases: Si défini surTrue, supprime tous les alias associés à l’artifact. SiFalse, 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 enregistré.
méthode Artifact.download
root ne sont pas modifiés. Supprimez explicitement root avant d’appeler download si vous voulez que son contenu corresponde exactement à celui de l’artifact.
Arguments :
root: Le répertoire dans lequel W&B stocke les fichiers de l’artifact.allow_missing_references: Si défini surTrue, tous les chemins de référence invalides seront ignorés lors du téléchargement des fichiers référencés.skip_cache: Si défini surTrue, le cache de l’artifact sera ignoré lors du téléchargement, et W&B téléchargera chaque fichier dans le répertoire racine par défaut ou dans le répertoire de téléchargement spécifié.path_prefix: Si spécifié, seuls les fichiers dont le chemin commence par le préfixe indiqué seront téléchargés. Utilise le format Unix (barres obliques/).multipart: Si défini surNone(par défaut), l’artifact sera téléchargé en parallèle à l’aide d’un téléchargement multipart si la taille d’un fichier individuel dépasse 2 Go. Si défini surTrueouFalse, l’artifact sera téléchargé en parallèle ou en série, quelle que soit la taille du fichier.
ArtifactNotLoggedError: Si l’artifact n’est pas enregistré.
méthode Artifact.file
root.
Arguments :
root: Le répertoire racine dans lequel stocker le fichier. Valeur par défaut :./artifacts/self.name/.
ArtifactNotLoggedError: Si l’artifact n’est pas enregistré.ValueError: Si l’artifact contient plus d’un fichier.
méthode Artifact.files
names: Les chemins des fichiers, relatifs à la racine de l’artifact, que vous souhaitez lister.per_page: Le nombre de fichiers à renvoyer par requête.
File.
Exceptions levées :
ArtifactNotLoggedError: Si l’artifact n’est pas enregistré.
méthode Artifact.finalize
log_artifact.
méthode Artifact.get
name dans l’artifact.
Arguments :
name: Le nom relatif dans l’artifact à récupérer.
run.log() et visualisé dans l’UI W&B.
Exceptions levées :
ArtifactNotLoggedError: si l’artifact n’est pas enregistré ou si le run est hors ligne.
méthode Artifact.get_added_local_path_name
local_path: Le chemin local à convertir en nom relatif dans l’artifact.
méthode Artifact.get_entry
name: Le nom relatif de l’artifact à récupérer
W&B.
Exceptions levées :
ArtifactNotLoggedError: si l’artifact n’est pas enregistré ou si le run est hors ligne.KeyError: si l’artifact ne contient pas d’entrée portant le nom indiqué.
méthode Artifact.get_path
get_entry(name).
méthode Artifact.is_draft
False si l’artifact est enregistré. True si l’artifact n’est pas enregistré.
méthode Artifact.json_encode
dict avec des clés de type string représentant les attributs de l’artifact.
méthode Artifact.link
target_path: Chemin de la collection. Il se compose du préfixe “wandb-registry-”, ainsi que du nom du registre et du nom de la collection :wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}.aliases: Ajoutez un ou plusieurs alias à l’artifact lié. L’alias “latest” est automatiquement appliqué à l’artifact le plus récent que vous liez.
ArtifactNotLoggedError: Si l’artifact n’est pas enregistré.
méthode Artifact.logged_by
ArtifactNotLoggedError: Si l’artifact n’a pas été enregistré.
méthode Artifact.new_draft
Artifact.
Exceptions levées :
ArtifactNotLoggedError: Si l’artifact n’est pas enregistré.
méthode Artifact.new_file
name: Le nom du nouveau fichier à ajouter à l’artifact.mode: Le mode d’accès à utiliser pour ouvrir le nouveau fichier.encoding: L’encodage utilisé pour ouvrir le nouveau fichier.
ArtifactFinalizedError: Vous ne pouvez pas modifier la version actuelle de l’artifact, car elle est finalisée. Enregistrez plutôt une nouvelle version de l’artifact.
méthode Artifact.remove
item: Élément à supprimer. Il peut s’agir d’une entrée de manifeste spécifique 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 seront supprimés.
ArtifactFinalizedError: Vous ne pouvez pas modifier la version actuelle de l’artifact, car elle est finalisée. Enregistrez plutôt une nouvelle version de l’artifact.FileNotFoundError: Si l’élément est introuvable dans l’artifact.
méthode Artifact.save
project: Projet à utiliser pour l’artifact si aucun run n’est déjà actif dans le contexte.settings: Objet de paramètres à utiliser lors de l’initialisation d’un run automatique. Principalement utilisé dans une infrastructure de test.
méthode Artifact.unlink
ArtifactNotLoggedError: Si l’artifact n’est pas enregistré.ValueError: Si l’artifact n’est lié à aucune collection.
méthode Artifact.used_by
Run.
Exceptions levées :
ArtifactNotLoggedError: Si l’artifact n’est pas enregistré.
méthode Artifact.verify
root: Le répertoire à vérifier. SiNone, l’artifact sera téléchargé dans ’./artifacts/self.name/’.
ArtifactNotLoggedError: Si l’artifact n’est pas enregistré.ValueError: Si la vérification échoue.
méthode Artifact.wait
timeout: le temps d’attente, en secondes.
Artifact.