Classe wandb.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 qui commencent paradd. Une fois que l’Artifact contient tous les fichiers souhaités, vous pouvez appeler
run.log_artifact() pour le journaliser.
Arguments
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 publique
use_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.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 incluent
dataset ou model. Incluez model dans 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 incluent job et les types qui commencent par wandb-.str | 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’attribut
Artifact.description ou dans l’interface de l’application W&B. W&B affiche la description au format markdown dans l’application W&B.dict[str, Any] | 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.
bool
Utilisez plutôt la méthode
Artifact.new_draft() pour modifier un artifact existant.str | None
Obsolète.
str | None
Aucune description fournie.
Literal['MD5', 'XXH128']
L’algorithme de digest à utiliser pour l’artifact. La valeur par défaut est MD5. S’il est défini sur XXH128, l’artifact sera haché à l’aide de l’algorithme XXH128, sauf s’il fait partie d’une collection qui utilise déjà MD5. Les appels à
artifact.verify() sur des versions du SDK antérieures à 0.29.0 échoueront toujours pour les artifacts XXH128.Propriétés
list[str]
Liste d’une ou plusieurs références explicites sur le plan sémantique ou de« surnoms » d’identification attribués à une version d’artefact.Les alias sont des références modifiables auxquelles vous pouvez faire référence par programmation.
Modifiez l’alias d’un artefact dans l’interface de l’application W&B ou par programmation.
Voir Créer de nouvelles versions d’artefact
pour plus d’informations.
ArtifactCollection
La collection dont cet artefact est issu.Une collection est un groupe ordonné de versions d’artefact.
Si cet artefact est récupéré depuis une collection à laquelle il est lié,
renvoyer cette collection. Sinon, renvoyer la collection
dont est issue la version d’artefact.La collection dont est issu un artefact est appelée
séquence source.
str
Le hachage renvoyé lors de la validation de cet artefact.
str
Horodatage de création de l’artefact.
str | None
Une description de l’artefact.
str
L’empreinte logique de l’artefact.L’empreinte est la somme de contrôle du contenu de l’artefact. Si un artefact possède la
même empreinte que la version actuelle
latest, alors log_artifact n’effectue aucune opération.ArtifactDigestAlgorithm
L’algorithme d’empreinte utilisé pour calculer l’empreinte de l’artefact.
str
Le nom de l’entité à laquelle appartient la collection d’artefacts.Si l’artefact est un lien, l’entité sera celle de l’artefact lié.
int
Le nombre de fichiers, y compris les références.
int | None
L’étape la plus proche ayant enregistré des métriques d’historique pour le run source de cet artefact.
str | None
L’ID de l’artefact.
bool
Indicateur booléen précisant si l’artefact est un artefact de lien.True : l’artefact est un artefact de lien vers un artefact source.
False : l’artefact est un artefact source.
list[Artifact]
Renvoie la liste de tous les artefacts liés à un artefact source.Si cet artefact est un artefact de lien (
artifact.is_link == True),
il renvoie une liste vide.Limité à 500 résultats.str | None
L’heure à laquelle cet artefact a été lié à sa collection actuelle.Valide uniquement pour les artefacts liés ; renvoie sinon
None.ArtifactManifest
Le manifeste de l’artefact.Le manifeste répertorie tout son contenu et ne peut pas être modifié une fois que l’artefact
a été enregistré.
dict
Métadonnées d’artefact définies par l’utilisateur.Données structurées associées à l’artefact.
str
Le nom et la version de l’artefact.Chaîne au format
{collection}:{alias}. Si l’artefact est récupéré avant d’être
enregistré/sauvegardé, le nom ne contient pas l’alias.
Si l’artefact est un lien, le nom est celui de l’artefact lié.str
Le nom du projet auquel appartient la collection d’artefacts.Si l’artefact est un lien, le projet est celui de l’artefact lié.
str
L’entité/le projet/le nom de l’artefact.Si l’artefact est un lien, le nom qualifié est le nom qualifié du
chemin de l’artefact lié.
int
La taille totale de l’artefact en octets.Inclut toutes les références suivies par cet artefact.
Artifact
Renvoie l’artefact source, c’est-à-dire l’artefact d’origine enregistré.Si cet artefact est un artefact source (
artifact.is_link == False),
il se renvoie lui-même.ArtifactCollection
La collection source de l’artefact.La collection source est la collection depuis laquelle l’artefact a été enregistré.
str
Le nom de l’entité de l’artefact source.
str
Le nom et la version de l’artefact source.Chaîne au format
{source_collection}:{alias}. Avant que l’artefact
soit sauvegardé, elle contient uniquement le nom, car la version n’est pas encore connue.str
Le nom du projet de l’artifact source.
str
L’entité source/le projet source/le nom source de l’artifact source.
str
La version de l’artifact source.Une chaîne au format
v{number}.str
Le statut de l’artifact. L’un des suivants : “PENDING”, “COMMITTED” ou “DELETED”.
list[str]
Liste d’un ou plusieurs tags attribués à cette version d’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 elle est définie sur
None, 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.str
Le type de l’artifact. Les types courants incluent
dataset ou model.str
L’heure à laquelle l’artifact a été mis à jour pour la dernière fois.
The URL of the artifact.
Construit l’URL de l’artifact.
str | None
Obsolète.
str
La version de l’artifact.Une chaîne au format
v{number}.
S’il s’agit d’un artifact de lien, la version proviendra de la collection liée.Méthodes
méthode Artifact.add()
obj de type wandb.WBValue à l’artifact.
Arguments
WBValue
L’objet à ajouter. Prend actuellement en charge l’un des types 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, remplace les objets existants ayant le même chemin de fichier, le cas échéant.
Exceptions levées
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()
Arguments
str
Le chemin du répertoire local.
str | None
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 le
type de l’artifact. Par défaut, il correspond à la racine de l’artifact.bool | None
Si défini sur
True, W&B ne copiera ni ne déplacera les fichiers vers le cache pendant l’uploadLiteral['mutable', 'immutable'] | None
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.
bool
Si
False (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é. Si True, é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 avec add_dir(local_path, name=my_prefix) et appelez remove(my_prefix) pour supprimer le répertoire, puis ajoutez-le de nouveau.Exceptions levées
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_file()
Arguments
str
Le chemin du fichier à ajouter.
str | None
Le chemin à utiliser dans l’artifact pour le fichier ajouté. La valeur par défaut est le nom de base du fichier.
bool | None
Si la valeur est true, le fichier est renommé de manière déterministe pour éviter les collisions.
bool | None
Si la valeur est
True, ne copiez pas les fichiers dans le cache après le téléversement.Literal['mutable', 'immutable'] | None
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.
bool
Si la valeur est
True, remplacez le fichier s’il existe déjà.Exceptions levées
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 le digest 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.
Arguments
ArtifactManifestEntry | str
le chemin URI de la référence à ajouter. Le chemin URI peut être un objet renvoyé par
Artifact.get_entry pour stocker une référence vers l’entrée d’un autre artifact.StrPath | None
le chemin au sein de l’artifact où placer le contenu de cette référence.
bool
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éfinir
checksum=False lors 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.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.
Exceptions levées
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
str | None
le répertoire à remplacer par les fichiers de cet artifact.
Exceptions levées
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
bool
Si défini sur
True, supprime tous les alias associés à l’artifact. Si 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é.Exceptions levées
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
StrPath | None
Le répertoire dans lequel W&B stocke les fichiers de l’artifact.
bool
Si défini sur
True, tous les chemins de référence invalides seront ignorés lors du téléchargement des fichiers référencés.bool | None
Si défini sur
True, 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é.StrPath | None
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
/).bool | None
Si défini sur
None (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 sur True ou False, l’artifact sera téléchargé en parallèle ou en série, quelle que soit la taille du fichier.Exceptions levées
ArtifactNotLoggedError: Si l’artifact n’est pas enregistré.
méthode Artifact.file()
root.
Arguments
str | None
Le répertoire racine dans lequel stocker le fichier. Valeur par défaut :
./artifacts/self.name/.Exceptions levées
ArtifactNotLoggedError: Si l’artifact n’est pas enregistré.ValueError: Si l’artifact contient plus d’un fichier.
méthode Artifact.files()
Arguments
list[str] | None
Les chemins des fichiers, relatifs à la racine de l’artifact, que vous souhaitez lister.
int
Le nombre de fichiers à renvoyer par requête.
str | None
Curseur de pagination pour reprendre une requête précédente, capturé à partir de l’attribut
.cursor d’un paginateur précédent.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
str
Le nom relatif dans l’artifact à récupérer.
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()
Arguments
str
Le chemin local à convertir en nom relatif dans l’artifact.
méthode Artifact.get_entry()
Arguments
StrPath
Le nom relatif de l’artifact à récupérer
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).
Arguments
StrPath
Aucune description fournie.
méthode Artifact.is_draft()
méthode Artifact.json_encode()
méthode Artifact.link()
Arguments
str
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}.Iterable[str] | None
Ajoutez un ou plusieurs alias à l’artifact lié. L’alias “latest” est automatiquement appliqué à l’artifact le plus récent que vous liez.
Exceptions levées
ArtifactNotLoggedError: Si l’artifact n’est pas enregistré.
méthode Artifact.logged_by()
Exceptions levées
ArtifactNotLoggedError: Si l’artifact n’est pas enregistré.
méthode Artifact.new_draft()
Exceptions levées
ArtifactNotLoggedError: Si l’artifact n’est pas enregistré.
méthode Artifact.new_file()
Arguments
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 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.
Exceptions levées
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()
Arguments
StrPath | ArtifactManifestEntry
É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.
Exceptions levées
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()
Arguments
str | None
Projet à utiliser pour l’artifact si aucun run n’est déjà actif dans le contexte.
wandb.Settings | None
Objet de paramètres à utiliser lors de l’initialisation d’un run automatique. Principalement utilisé dans une infrastructure de test.
méthode Artifact.unlink()
Exceptions levées
ArtifactNotLoggedError: Si l’artifact n’est pas enregistré.ValueError: Si l’artifact n’est pas lié à aucune collection.
méthode Artifact.used_by()
Exceptions levées
ArtifactNotLoggedError: Si l’artifact n’est pas enregistré.
méthode Artifact.verify()
Arguments
str | None
Le répertoire à vérifier. Si
None, l’artifact sera téléchargé dans ’./artifacts/self.name/’.Exceptions levées
ArtifactNotLoggedError: Si l’artifact n’est pas enregistré.ValueError: Si la vérification échoue.
méthode Artifact.wait()
Arguments
int | None
le temps d’attente, en secondes.