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

> Télécharger et utiliser des Artifacts à partir de plusieurs projets.

# Télécharger et utiliser des artifacts

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

<Note>
  Les membres de l’équipe disposant d’une licence Models **Viewer** ne peuvent pas télécharger d’artifacts.
</Note>

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

Téléchargez un artifact comme entrée d’un run suivie lorsqu’il s’agit d’une dépendance du run, ou récupérez-le directement pour les flux de travail qui ne nécessitent pas de traçabilité.

<Info>
  Les références dont le schéma est pris en charge par W\&B sont téléchargées de la même manière que les fichiers d’artifact. Pour plus d'informations, voir [Suivre les fichiers externes](/fr/models/artifacts/track-external-files/).
</Info>

Vous pouvez télécharger tous les fichiers d’un artifact ou seulement certains fichiers :

* Utilisez [`Artifact.download()`](/fr/models/ref/python/experiments/artifact#download) pour télécharger tous les fichiers.
* Utilisez [`Artifact.get_entry()`](/fr/models/ref/python/experiments/artifact#get_entry) pour récupérer une entrée spécifique, puis appelez `.download()` pour la télécharger.

<Tabs>
  <Tab title="Suivre l’entrée du run">
    Utilisez `wandb.Run.use_artifact()` pour télécharger un artifact dans le cadre d’un run W\&B. W\&B enregistre l’artifact comme entrée du run.

    1. Importez le SDK Python W\&B et initialisez un [Run](/fr/models/ref/python/experiments/run) W\&B.
    2. Récupérez la version de l’artifact avec `wandb.Run.use_artifact()`.
    3. Téléchargez tous les fichiers ou un fichier spécifique à partir de l’objet `Artifact` renvoyé.

    ```python theme={null}
    import wandb    

    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écharger l’artefact entier
        datadir = artifact.download()

        # Télécharger un fichier spécifique
        entry = artifact.get_entry("bike.png")
        file_path = entry.download() # télécharge uniquement bike.png
    ```
  </Tab>

  <Tab title="Récupérer directement">
    Utilisez l’API publique pour télécharger un artifact sans créer de run ni enregistrer de relation d’entrée de run.

    1. Importez le SDK Python W\&B et créez un objet client avec `wandb.Api()`.
    2. Récupérez la version de l’artifact avec `wandb.Api.artifact()`.
    3. Téléchargez tous les fichiers ou un fichier spécifique à partir de l’objet `Artifact` renvoyé.

    Spécifiez le chemin de l’artifact au format `entity/project/artifact:alias`.

    ```python theme={null}
    import wandb

    api = wandb.Api()
    artifact = api.artifact("entity/project/artifact:alias")
    artifact.download()
    ```
  </Tab>

  <Tab title="W&B CLI">
    Utilisez la commande `wandb artifact get` pour télécharger un artifact 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 artifact
</div>

Vous pouvez télécharger, si vous le souhaitez, une partie d’un artifact à l’aide 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:
    # Indiquer l'artifact à utiliser. Le format est "name:alias"
    artifact = run.use_artifact("bike-dataset:latest")

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

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

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

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

Spécifiez le nom de l’artifact ainsi que celui du projet pour faire référence à un artifact. Vous pouvez également faire référence à des artifacts d’autres entités en indiquant le nom de l’artifact avec le nom de l’entité.

L’exemple de code suivant montre comment récupérer un artifact d’un autre projet comme entrée pour le run W\&B en cours.

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

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

```

<div id="construct-and-use-an-artifact-simultaneously">
  ### Construire et utiliser un artifact en même temps
</div>

Construisez et utilisez un artifact en même temps. Créez un objet artifact et passez-le à use\_artifact. Cela crée un artifact 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 artifact, voir [Construire un artifact](/fr/models/artifacts/construct-an-artifact/).
