Passer au contenu principal
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 et Artifacts.

Classes principales

ClasseDescription
RunUnité 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.
ArtifactBrique 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é.
SettingsGestion de la configuration du SDK W&B, qui contrôle le comportement, du logging aux interactions avec l’API.

Prise en main

Suivre une expérience

Créez et suivez une expérience de machine learning avec journalisation des métriques :
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

Versionner un artifact de modèle

Créez et journalisez un artifact de modèle versionné avec des métadonnées :
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)

Configurer les paramètres du SDK

Personnalisez le comportement du SDK W&B selon vos besoins spécifiques :
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
Suivez les relations entre les jeux de données, les modèles et les évaluations :
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)