> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-wbdocs-1882.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Téléchargez et utilisez des artefacts de plusieurs projets.

# Télécharger et utiliser des artefacts

Téléchargez et utilisez un artefact déjà stocké sur le serveur W\&B, ou créez un objet artefact et passez-le pour la déduplication si nécessaire.

<Note>
  Les membres de l’équipe disposant d’une licence en lecture seule ne peuvent pas télécharger d’artefacts.
</Note>

<div id="download-and-use-an-artifact-stored-on-wb">
  ### Télécharger et utiliser un artefact stocké sur W\&B
</div>

Téléchargez et utilisez un artefact stocké dans W\&B, à l’intérieur ou à l’extérieur d’un W\&B Run. Utilisez l’API publique ([`wandb.Api`](/fr/models/ref/python/public-api/api)) pour exporter des données déjà enregistrées dans W\&B (ou les mettre à jour).

<Tabs>
  <Tab title="Pendant un run">
    Commencez par importer le SDK Python W\&B. Ensuite, créez un W\&B [Run](/fr/models/ref/python/experiments/run) :

    ```python theme={null}
    import wandb

    with wandb.init(project="<example>", job_type="<job-type>") as run:
        # Voir l'étape suivante
    ```

    Indiquez l’artefact que vous souhaitez utiliser avec la méthode [`wandb.Run.use_artifact()`](/fr/models/ref/python/experiments/run#use_artifact). Cette méthode renvoie un objet run. Dans l’extrait de code suivant, l’artefact nommé `'bike-dataset'` avec l’alias `'latest'` est spécifié :

    ```python theme={null}
    # Indiquer l'artefact à utiliser. Le format est "name:alias"
    artifact = run.use_artifact("bike-dataset:latest")
    ```

    Utilisez l’objet renvoyé pour télécharger tout le contenu de l’artefact :

    ```python theme={null}
    # Télécharger l'artefact complet
    datadir = artifact.download()
    ```

    Vous pouvez également passer un chemin au paramètre root pour télécharger le contenu de l’artefact dans un répertoire spécifique.

    Utilisez la méthode [`wandb.Artifact.get_entry()`](/fr/models/ref/python/experiments/artifact#get_entry) pour télécharger uniquement un sous-ensemble de fichiers :

    ```python theme={null}
    # Télécharger un fichier spécifique
    entry = artifact.get_entry(name)
    ```

    En réunissant tous ces éléments, l’exemple de code complet ressemble à ceci :

    ```python theme={null}
    import wandb    

    with wandb.init(project="<example>", job_type="<job-type>") as run:
        # Indiquer l'artefact à utiliser. Le format est "name:alias"
        artifact = run.use_artifact("bike-dataset:latest")

        # Télécharger l'artefact complet
        datadir = artifact.download()

        # Télécharger un fichier spécifique
        entry = artifact.get_entry("bike.png")
    ```

    Cela récupère uniquement le fichier situé au chemin `name`. Cette méthode renvoie un objet `Entry` avec les méthodes suivantes :

    * `Entry.download` : télécharge le fichier depuis l’artefact au chemin `name`
    * `Entry.ref` : si `add_reference` a stocké l’entrée comme référence, renvoie l’URI
  </Tab>

  <Tab title="En dehors d'un run">
    Commencez par importer le SDK W\&B. Ensuite, créez un objet artefact à partir de la classe API publique. Fournissez l’entité, le projet, l’artefact et l’alias associé à cet artefact :

    ```python theme={null}
    import wandb

    api = wandb.Api()
    artifact = api.artifact("entity/project/artifact:alias")
    ```

    Utilisez l’objet renvoyé pour télécharger le contenu de l’artefact :

    ```python theme={null}
    artifact.download()
    ```

    Vous pouvez également passer un chemin au paramètre `root` pour télécharger le contenu de l’artefact dans un répertoire spécifique. Pour plus d'informations, voir le [Guide de référence du SDK Python](/fr/models/ref/python/experiments/artifact#download).
  </Tab>

  <Tab title="W&B CLI">
    Utilisez la commande `wandb artifact get` pour télécharger un artefact depuis le serveur W\&B.

    ```
    $ wandb artifact get project/artifact:alias --root mnist/
    ```
  </Tab>
</Tabs>

<div id="partially-download-an-artifact">
  ### Télécharger partiellement un artefact
</div>

Vous pouvez, si vous le souhaitez, télécharger une partie d’un artefact en fonction d’un préfixe. Utilisez le paramètre `path_prefix=` (`wandb.Artifact.download(path_prefix=)`) pour télécharger un seul fichier ou le contenu d’un sous-dossier.

```python theme={null}
with wandb.init(project="<example>", job_type="<job-type>") as run:
    # Indiquez l'artefact à utiliser. Le format est "name:alias"
    artifact = run.use_artifact("bike-dataset:latest")

    # Téléchargez un fichier spécifique ou un sous-dossier
    artifact.download(path_prefix="bike.png") # télécharge uniquement bike.png
```

Vous pouvez également télécharger des fichiers à partir d’un répertoire donné. Pour ce faire, indiquez le répertoire dans le paramètre `path_prefix=`. En reprenant l’extrait de code précédent :

```python theme={null}
# télécharge les fichiers du répertoire images/bikes
artifact.download(path_prefix="images/bikes/") 
```

<div id="use-an-artifact-from-a-different-project">
  ### Utiliser un artefact d'un autre projet
</div>

Spécifiez le nom de l'artefact ainsi que le nom du projet pour faire référence à un artefact. Vous pouvez également faire référence à des artefacts d'une entité à l'autre en indiquant le nom de l'artefact avec le nom de son entité.

L'exemple de code suivant montre comment interroger un artefact d'un autre projet en entrée du run W\&B actuel.

```python theme={null}
with wandb.init(project="<example>", job_type="<job-type>") as run:
    # Récupérer depuis W&B un artefact d'un autre projet et le marquer
    # comme entrée de ce run.
    artifact = run.use_artifact("my-project/artifact:alias")

    # Utiliser un artefact d'une autre entité et le marquer comme entrée
    # de ce run.
    artifact = run.use_artifact("my-entity/my-project/artifact:alias")

```

<div id="construct-and-use-an-artifact-simultaneously">
  ### Construire et utiliser un artefact simultanément
</div>

Construisez et utilisez un artefact simultanément. Créez un objet artefact et passez-le à use\_artifact. Cela crée un artefact dans W\&B s'il n'existe pas encore. L'API [`wandb.Run.use_artifact()`](/fr/models/ref/python/experiments/run#use_artifact) est idempotente ; vous pouvez donc l'appeler autant de fois que vous le souhaitez.

```python theme={null}
import wandb

with wandb.init(project="<example>", job_type="<job-type>") as run:
    artifact = wandb.Artifact("reference model")
    artifact.add_file("model.h5")
    run.use_artifact(artifact)
```

Pour en savoir plus sur la création d’un artefact, voir [Créer un artefact](/fr/models/artifacts/construct-an-artifact/).
