> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wandb.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Aperçu d’Experiments

> Utilisez les classes fondamentales du W&B Python SDK pour suivre les expériences et gérer les Artifacts

Ces classes forment les briques de base du suivi des expériences de machine learning, de la gestion des Artifacts et de la configuration du comportement du SDK. Elles vous permettent de consigner des métriques, de stocker des points de contrôle du modèle, de versionner des jeux de données et de gérer les configurations d’expérience, avec une reproductibilité complète et des fonctionnalités de collaboration.

> Pour plus de détails sur l’utilisation de ces classes dans des expériences de ML, consultez la documentation [Experiments](/fr/models/ref/python/experiments/) et [Artifacts](/fr/models/artifacts/).

<div id="core-classes">
  ## Classes principales
</div>

| Classe                                                    | Description                                                                                                                                                   |
| --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`Run`](/fr/models/ref/python/experiments/run/)           | Unité de calcul principale enregistrée par W\&B, représentant une expérience de ML unique avec des métriques, une configuration et des résultats.             |
| [`Artifact`](/fr/models/ref/python/experiments/artifact/) | Brique de base légère et flexible pour la gestion des versions des jeux de données et des modèles, avec déduplication automatique et suivi de la traçabilité. |
| [`Settings`](/fr/models/ref/python/experiments/settings/) | Gestion de la configuration du SDK W\&B, qui contrôle le comportement, du logging aux interactions avec l’API.                                                |

<div id="getting-started">
  ## Prise en main
</div>

<div id="track-an-experiment">
  ### Suivre une expérience
</div>

Créez et suivez une expérience de machine learning avec journalisation des métriques :

```python theme={null}
import wandb

# Initialiser un nouveau run
with wandb.init(project="my-experiments", config={"learning_rate": 0.001}) as run:
    # Accéder à la configuration
    config = run.config
    
    # Consigner des métriques pendant l'entraînement
    for epoch in range(10):
        metrics = train_one_epoch()  # Votre logique d'entraînement
        run.log({
            "loss": metrics["loss"],
            "accuracy": metrics["accuracy"],
            "epoch": epoch
        })
    
    # Consigner les métriques récapitulatives
    run.summary["best_accuracy"] = max_accuracy
```

<div id="version-a-model-artifact">
  ### Versionner un artifact de modèle
</div>

Créez et journalisez un artifact de modèle versionné avec des métadonnées :

```python theme={null}
import wandb

with wandb.init(project="my-models") as run:
    # Entraîner votre modèle
    model = train_model()
    
    # Créer un artifact pour le modèle
    model_artifact = wandb.Artifact(
        name="my-model",
        type="model",
        description="ResNet-50 trained on ImageNet subset",
        metadata={
            "architecture": "ResNet-50",
            "dataset": "ImageNet-1K",
            "accuracy": 0.95
        }
    )
    
    # Ajouter les fichiers du modèle à l'artifact
    model_artifact.add_file("model.pt")
    model_artifact.add_dir("model_configs/")
    
    # Enregistrer l'artifact dans W&B
    run.log_artifact(model_artifact)
```

<div id="configure-sdk-settings">
  ### Configurer les paramètres du SDK
</div>

Personnalisez le comportement du SDK W\&B selon vos besoins spécifiques :

```python theme={null}
import wandb

# Configurer les paramètres par programmation
wandb.Settings(
    project="production-runs",
    entity="my-team",
    mode="offline",  # Exécuter hors ligne, synchroniser plus tard
    save_code=True,   # Sauvegarder le code source
    quiet=True        # Réduire la sortie console
)

# Ou utiliser des variables d'environnement
# export WANDB_PROJECT=production-runs
# export WANDB_MODE=offline

# Initialiser avec des paramètres personnalisés
with wandb.init() as run:
    # Votre code d'expérience ici
    pass
```

<div id="link-artifacts-for-lineage-tracking">
  ### Lier des Artifacts pour assurer la traçabilité
</div>

Suivez les relations entre les jeux de données, les modèles et les évaluations :

```python theme={null}
import wandb

with wandb.init(project="ml-pipeline") as run:
    # Utiliser un artifact de jeu de données
    dataset = run.use_artifact("dataset:v1")
    dataset_dir = dataset.download()
    
    # Entraîner le modèle avec le jeu de données
    model = train_on_dataset(dataset_dir)
    
    # Créer un artifact de modèle avec la traçabilité du jeu de données
    model_artifact = wandb.Artifact(
        name="trained-model",
        type="model"
    )
    model_artifact.add_file("model.pt")
    
    # Journaliser avec suivi automatique de la traçabilité
    run.log_artifact(model_artifact)
```
