Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Inizia

Monitoraggio e visualizzazione degli esperimenti YOLO con Weights & Biases

I modelli di rilevamento degli oggetti, come Ultralytics YOLO26, sono diventati essenziali per molte applicazioni di visione artificiale. Tuttavia, l'addestramento, la valutazione e la distribuzione di questi modelli complessi comportano diverse sfide. Monitorare le metriche di addestramento principali, confrontare le varianti dei modelli, analizzarne il comportamento e rilevare eventuali problemi richiede un'attività significativa di strumentazione e gestione degli esperimenti.



Guarda: Come usare Ultralytics YOLO con Weights and Biases

Questa guida presenta l'integrazione di Ultralytics YOLO26 con Weights & Biases per il monitoraggio degli esperimenti, gli artefatti dei modelli migliori e la visualizzazione delle prestazioni dei modelli. Include anche istruzioni per configurare l'integrazione, addestrare i modelli e visualizzare i risultati usando le funzionalità interattive di Weights & Biases.

Hai già registrato checkpoint YOLO in W&B? Importa i relativi progetti in Ultralytics Platform da Settings > Integrations > Weights & Biases.

Weights & Biases#

Weights & Biases è una piattaforma MLOps progettata per monitorare, visualizzare e gestire esperimenti di machine learning. Offre la registrazione automatica delle metriche di addestramento per riprodurre fedelmente gli esperimenti, un'interfaccia utente interattiva per semplificare l'analisi dei dati e strumenti efficienti per gestire i modelli e distribuirli in diversi ambienti.

Addestramento di YOLO26 con Weights & Biases#

Puoi usare Weights & Biases per rendere più efficienti e automatizzare il processo di addestramento di YOLO26. L'integrazione ti consente di monitorare gli esperimenti, confrontare i modelli e prendere decisioni basate sui dati per migliorare i tuoi progetti di visione artificiale.

Installazione#

Per installare i pacchetti necessari, esegui:

Installazione
# Install the required packages for Ultralytics YOLO and Weights & Biases
pip install -U ultralytics wandb

# Enable W&B logging for Ultralytics
yolo settings wandb=True

Per istruzioni dettagliate e procedure consigliate per l'installazione, consulta la guida all'installazione di YOLO26. Se durante l'installazione dei pacchetti necessari per YOLO26 riscontri difficoltà, consulta la guida ai problemi comuni per trovare soluzioni e suggerimenti.

Configurazione di Weights & Biases#

Dopo aver installato i pacchetti necessari, il passo successivo è configurare l'ambiente Weights & Biases. Questo include la creazione di un account Weights & Biases e l'ottenimento della chiave API necessaria per stabilire una connessione senza problemi tra l'ambiente di sviluppo e la piattaforma W&B.

Inizia inizializzando l'ambiente Weights & Biases nel tuo spazio di lavoro. Puoi farlo eseguendo il comando seguente e seguendo le istruzioni visualizzate.

Configurazione iniziale dell'SDK
import wandb

# Inizializza l’ambiente Weights & Biases (richiede la chiave API oppure legge WANDB_API_KEY)
wandb.login()

Vai alla pagina di autorizzazione di Weights & Biases per creare e recuperare la tua chiave API. Quando richiesto, usa questa chiave per autenticare il tuo ambiente con W&B.

Utilizzo: addestramento di YOLO26 con Weights & Biases#

Utilizzo: addestramento di YOLO26 con Weights & Biases
from ultralytics import YOLO

# Carica un modello YOLO
model = YOLO("yolo26n.pt")

# Addestra e ottimizza il modello
model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="yolo26n")

Le esecuzioni create da Ultralytics tracciano le metriche di addestramento rispetto a epoch. Se avvii un'esecuzione con wandb.init() prima dell'addestramento, Ultralytics registra i dati in quell'esecuzione, inserendo un valore epoch in ogni riga, e la lascia aperta così puoi continuare a registrare dati e chiamare wandb.finish() tu stesso. Gli argomenti di addestramento vengono aggiunti alla configurazione di quell'esecuzione e qualsiasi chiave a cui tu o una sweep W&B abbiate già assegnato un valore lo mantiene.

Argomenti W&B#

ArgomentoPredefinitoDescrizione
projectNoneSpecifica il nome del progetto registrato localmente e in W&B, raggruppando più esecuzioni. Se non viene impostato, le esecuzioni di W&B vengono registrate nel progetto Ultralytics.
nameNoneIl nome dell'esecuzione di addestramento. Determina il nome usato per creare le sottocartelle e quello usato per la registrazione in W&B.
saveTrueDetermina se caricare il miglior checkpoint come artefatto del modello W&B.
Attiva o disattiva Weights & Biases

Se vuoi attivare o disattivare la registrazione di Weights & Biases in Ultralytics, puoi usare il comando yolo settings. Per impostazione predefinita, la registrazione di Weights & Biases è disattivata.

# Enable Weights & Biases logging
yolo settings wandb=True

# Disable Weights & Biases logging
yolo settings wandb=False
Modalità offline e ripresa

Imposta WANDB_MODE=offline per registrare senza una connessione di rete, quindi carica l'esecuzione con wandb sync <save_dir>/wandb/offline-run-*. Riprendendo l'addestramento con resume=True, continuerai la stessa esecuzione W\&B, online o offline e su qualsiasi sistema operativo, leggendo l'ID dell'esecuzione dalla cartella dell'esecuzione più recente nella directory wandb/ della directory di salvataggio originale; quindi, mantieni questa directory al suo posto.

Comprendere l'output#

Dopo aver eseguito lo snippet di codice d'esempio qui sopra, puoi aspettarti i seguenti risultati principali:

  • La configurazione di una nuova esecuzione con il suo ID univoco, che indica l'inizio del processo di addestramento.
  • Un riepilogo conciso della struttura del modello, compreso il numero di livelli e parametri.
  • Aggiornamenti regolari su metriche importanti, come le perdite di addestramento, la precisione, il richiamo e i punteggi mAP, durante ogni epoca di addestramento.
  • Al termine dell'addestramento vengono mostrate metriche dettagliate, tra cui la velocità di inferenza del modello e le metriche complessive di accuratezza.
  • Link alla dashboard di Weights & Biases per un'analisi e una visualizzazione approfondite del processo di addestramento, insieme alle informazioni sui percorsi dei file di log locali.

Visualizzazione della dashboard di Weights & Biases#

Dopo aver eseguito lo snippet di codice d'esempio, puoi accedere alla dashboard di Weights & Biases (W&B) tramite il link fornito nell'output. La dashboard offre una panoramica completa del processo di addestramento del tuo modello con YOLO26.

Funzionalità principali della dashboard di Weights & Biases#

  • Monitoraggio delle metriche in tempo reale: osserva l'evoluzione di metriche come loss, accuratezza e punteggi di convalida durante l'addestramento, per ottenere indicazioni immediate sull'ottimizzazione del modello. Scopri come monitorare gli esperimenti con Weights & Biases.

  • Confronto degli iperparametri: ogni esecuzione registra gli argomenti di addestramento, come il tasso di apprendimento e la dimensione del batch, così puoi confrontare le configurazioni tra diverse esecuzioni. Per la ricerca automatizzata con la registrazione W&B, usa Ray Tune.

  • Analisi comparativa: la piattaforma consente di confrontare affiancate diverse esecuzioni di addestramento, un'operazione essenziale per valutare l'impatto delle varie configurazioni del modello e capire quali modifiche migliorano le prestazioni.

  • Visualizzazione dei progressi dell'addestramento: le rappresentazioni grafiche delle metriche principali offrono una comprensione intuitiva delle prestazioni del modello nelle diverse epoche. Scopri come Weights & Biases ti aiuta a visualizzare i risultati della convalida.

  • Monitoraggio delle risorse: tieni sotto controllo l'utilizzo di CPU, GPU e memoria per ottimizzare l'efficienza del processo di addestramento e individuare potenziali colli di bottiglia nel tuo flusso di lavoro.

  • Gestione degli artefatti del modello: accedi al checkpoint del modello migliore e condividilo; viene caricato come artefatto W&B al termine dell’addestramento, facilitando la distribuzione e la collaborazione con i membri del team su progetti complessi.

Con queste funzionalità puoi monitorare, analizzare e ottimizzare l'addestramento del tuo modello YOLO26 per le attività di rilevamento degli oggetti.

Riepilogo#

Questa guida ha illustrato l'integrazione di Ultralytics YOLO con Weights & Biases, che monitora e visualizza i risultati dell'addestramento dei modelli. Con W&B puoi semplificare il flusso di lavoro di machine learning, prendere decisioni basate sui dati e migliorare le prestazioni del tuo modello.

Per ulteriori dettagli, guarda la presentazione di Soumik Rakshit su questa integrazione, tenuta a YOLO VISION 2023.

Domande frequenti#

  • Per integrare Weights & Biases con Ultralytics YOLO26:

    1. Installa i pacchetti richiesti:

      pip install -U ultralytics wandb
      yolo settings wandb=True
    2. Accedi al tuo account Weights & Biases:

      wandb login
    3. Addestra il tuo modello YOLO26 con la registrazione W&B attivata:

      from ultralytics import YOLO
      
      model = YOLO("yolo26n.pt")
      model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="yolo26n")

    Le metriche, gli iperparametri e gli artefatti del modello verranno registrati automaticamente nel tuo progetto W&B.

  • Le funzionalità principali includono:

    • Monitoraggio delle metriche in tempo reale durante l'addestramento
    • Confronto degli iperparametri tra diverse esecuzioni
    • Analisi comparativa delle diverse esecuzioni di addestramento
    • Visualizzazione dei progressi dell'addestramento tramite grafici
    • Monitoraggio delle risorse (utilizzo di CPU, GPU e memoria)
    • Gestione e condivisione degli artefatti del modello

    Queste funzionalità aiutano a monitorare gli esperimenti, ottimizzare i modelli e collaborare in modo più efficace ai progetti YOLO26.

  • Dopo aver eseguito lo script di addestramento con l'integrazione W&B:

    1. Nell'output della console verrà fornito un link alla tua dashboard W&B.
    2. Fai clic sul link oppure vai su wandb.ai e accedi al tuo account.
    3. Vai al tuo progetto per visualizzare metriche dettagliate, visualizzazioni e dati sulle prestazioni del modello.

    La dashboard offre informazioni sul processo di addestramento del tuo modello, consentendoti di analizzare e migliorare efficacemente i tuoi modelli YOLO26.

  • Sì, puoi disattivare la registrazione W&B con il comando seguente:

    yolo settings wandb=False

    Per riattivare la registrazione, usa:

    yolo settings wandb=True

    In questo modo puoi controllare quando usare la registrazione W&B senza modificare gli script di addestramento.

  • Weights & Biases aiuta a ottimizzare i modelli YOLO26:

    1. Fornendo visualizzazioni dettagliate delle metriche di addestramento
    2. Consentendo di confrontare facilmente diverse versioni del modello
    3. Registrazione degli argomenti di addestramento di ogni esecuzione per confrontare il tuning degli iperparametri
    4. Consentendo l'analisi collaborativa delle prestazioni del modello
    5. Facilitando la condivisione di artefatti e risultati del modello

    Queste funzionalità aiutano ricercatori e sviluppatori a iterare più rapidamente e a prendere decisioni basate sui dati per migliorare i modelli YOLO26.

Commenti25

Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.

  1. TJdeWetGitHub

    Hi there,

    I would like to know how (if possible) to log more than just these standard metrics for a yolov8 or v11 model during HP tuning logged with wandb: train/loss, val/loss, metrics/accuracy_top1, metrics_accuracy_top5.

    This is what the code looks like:

    !pip install -U ultralytics wandb !yolo settings wandb=True import wandb from ultralytics import YOLO wandb.login(key="...")

    sweep_config = { 'method': "bayes", 'metric': { 'name': 'val/loss', 'goal': 'minimize', }, 'parameters': { .... } }

    sweep_id = ...

    def train(): run = wandb.init() model = YOLO('yolo11n-cls.pt')

    results = model.train(
        data='...',
        batch=wandb.config.batch,
        lr0=wandb.config.lr0,
        epochs=...,
        optimizer=...,
        momentum=...,
        patience=...,
        save_period=...,
        imgsz=...,
        cache=False,
        save=True
    )

    wandb.agent(sweep_id, train, count=...)

    1. Glenn JocherUltralytics

      @TJdeWet for custom metric logging beyond default training metrics in YOLO11 with W&B, you can access the complete results dictionary during training and log additional metrics manually through W&B's API. The automatically logged metrics vary by task type (detection/classification), but you can extend them using a callback. For implementation details, refer to the Weights & Biases integration documentation.

  2. marcory-hubGitHub
    Integration of Weights & Biases with YOLO11 in Google Colab

    Is it currently possible to integrate Weights & Biases (W&B) with Ultralytics YOLO11 in Google Colab? If yes, where can I find the correct and up-to-date information to set this up properly?

    My Issue

    With YOLOv10, I was able to track all my training metrics in W&B seamlessly. However, when trying to replicate this with YOLO11, only GPU and system-related data are logged to the W&B platform. None of the training metrics or results appear.

    Summary of things I've Tried
    • Following the YouTube tutorial linked at the top of this page.
    • Using the Try on Colab button on W&B's site
    WARNING: Did not find branch or tag 'feat/ultralytics', assuming revision or ref.
      error: subprocess-exited-with-error
      
      × git checkout -q feat/ultralytics did not run successfully.
      │ exit code: 1
      ╰─> See above for output.
      
      note: This error originates from a subprocess, and is likely not a problem with pip.
    error: subprocess-exited-with-error
    
    × git checkout -q feat/ultralytics did not run successfully.
    │ exit code: 1
    ╰─> See above for output.
    
    note: This error originates from a subprocess, and is likely not a problem with pip.
    Note: The Ultralytcs integration will be soon available as a fully supported feature on Weights & Biases once this pull request is merged.

    This is because the branch https://github.com/wandb/wandb@feat/ultralytics does not exist. To resolve this, I tried various fixes, including following older tutorials and experimenting with suggestions from forums and community discussions.

    I’m particularly keen to switch to YOLO11 because it shows significant improvements in wildlife detection when compared to YOLOv10.

    Any guidance, updates, or resources on enabling this integration would be greatly appreciated!

    1. Glenn JocherUltralytics

      @marcory-hub yes, you can integrate Weights & Biases (W&B) with YOLO11 in Google Colab. Please ensure the latest ultralytics and wandb packages are installed using pip install -U ultralytics wandb. If training metrics are not being logged, ensure your W&B environment is authenticated (wandb.login(key="<API_KEY>")) and that project and name parameters are correctly specified in model.train(). Detailed setup instructions are available in our documentation: https://docs.ultralytics.com/integrations/weights-biases/. Let us know if further assistance is needed!

    2. marcory-hubGitHub

      Thanks for the suggestions, @glenn-jocker ! I tried starting from scratch with W&B with YOLO11 but unfortunately, only system information showed up in W&B.

      On top of that, it seems like my Colab runtime might be banned due to a potential issue with a compromised package. Hopefully, they'll restore access soon for everyone affected.

    3. marcory-hubGitHub

      Good news! My initial code now works for YOLO11. All metrics are automatically saved to W&B, and training is significantly faster than last week without maxing out Colab's RAM.

      I'm not sure why it's significantly faster today, but I suspect the previous slowness prevented training from progressing beyond the warmup epochs, resulting in only system information being sent to W&B.

    4. Glenn JocherUltralytics

      @marcory-hub glad to hear it's working well now, and thank you for sharing your experience! The faster training could indeed be related to runtime or hardware optimizations in Colab. Feel free to explore additional tips and resources in the YOLO11 W&B integration guide to further enhance your workflow. Let us know if you run into any other issues!

  3. Pushtogithub23GitHub

    I used this code, but it only logs system logs; no training metrics, media, or validation metrics are being logged as shown in the video. How can I log all the training metrics and media as demonstrated in the video? Can anyone help me with this?

    from ultralytics import YOLO
    from wandb.integration.ultralytics import add_wandb_callback
    
    wandb.login()
    wandb.init(project = 'Hand-Gestures-Detection', name = 'yolov8n_5',  job_type='training')
    
    model = YOLO("yolov8n.pt")
    
    add_wandb_callback(model, enable_model_checkpointing=True)
    model.train(data="HAND-GESTURE-DETECTION-1/data.yaml", 
                epochs=5,
                imgsz = 640,
                project = "Hand-Gestures-Detection",
                name = 'yolov8n_5'
                )
    1. Glenn JocherUltralytics

      @Pushtogithub23 to log all training metrics and media with Weights & Biases, ensure you have the latest versions of ultralytics and wandb installed. Also, verify that your Weights & Biases account is properly authenticated. For detailed setup instructions, visit the Weights & Biases integration guide.

  4. TJdeWetGitHub

    Hi!

    I am using wandb to do hyperparameter tuning. Is it possible to maximise validation mAP50? This seems to be maximising the training mAP50 if I am not mistaken?

    metric: name: mAP50 goal: maximise

    Otherwise should I do hyperparameter using something like this instead:

    metric: name: val/box_loss goal: minimize

    Thanks!

    1. Glenn JocherUltralytics(modificato)

      Hi there!

      For your hyperparameter tuning in Weights & Biases, if you're aiming to maximize validation mAP50 specifically, I recommend adjusting your metric settings accordingly. To focus on validation mAP50, your metric configuration might look something like this:

      metric:
        name: metrics/mAP50(B)
        goal: maximize

      This setup ensures you're targeting the maximization of mAP50 on the validation data directly.

      Using val/box_loss with the goal to minimize can also be effective, especially if you prefer to focus on reducing the box prediction errors during validation:

      metric:
        name: val/box_loss
        goal: minimize

      Both approaches are valid and can be chosen based on your specific model performance goals. Hope this helps! If you have more questions, feel free to ask. 😊

    2. TJdeWetGitHub

      Hi Glenn,

      Thanks for getting back to me. I just tried it, and it doesn't seem that tuning to maximize val/mAP50 is working - the only metrics I see that are being logged are: cls, box, and dfl loss (both train and val), and metrics/mAP50(B), metrics/mAP50-75(B), metrics/Recall(B), and metrics/Precision(B), which I believe are the training metrics? I would like to log those same metrics for validation, and tune based on val/mAP50. Is there a way I can do this?

      Thanks!

    3. Glenn JocherUltralytics(modificato)

      Hi there!

      In the Ultralytics W&B integration, validation metrics are logged automatically under names such as metrics/mAP50(B) and metrics/mAP50-95(B) (not val/mAP50; the val/ prefix is used for validation losses like val/box_loss). Use that name in your sweep config:

      metric:
        name: metrics/mAP50(B)
        goal: maximize

      Enable the integration with yolo settings wandb=True; no manual wandb.log() call is needed.

  5. JiyongBooGitHub

    Is it possible to train RT-DETR model with wandb? In add_wandb_callback() function, there are nothing about rt-detr. I tried replacing yolov8 with rt-detr in the example code. In the result, I confirmed that runs.summary["Validation-Table"] and runs.summary["Train-Table"] did not appear. How do I solve this problem?

    1. Paula DerrengerUltralytics(modificato)

      @JiyongBoo hi there! 😊 RT-DETR trains with the same built-in Weights & Biases integration as other Ultralytics models, so you don't need add_wandb_callback() or manual wandb.log() calls. Enable it with yolo settings wandb=True, then train as usual:

      from ultralytics import RTDETR
      
      model = RTDETR("rtdetr-l.pt")
      model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="rtdetr-l")

      See the Weights & Biases integration guide for details.

  6. DungHD-1997GitHub

    from ultralytics import YOLO from wandb.integration.ultralytics import add_wandb_callback import wandb def train(): wandb.login() project_name = "test_ai" # Step 1: Initialize a Weights & Biases run wandb.init(project=project_name, job_type="training",name="old_data")

    # Step 2: Define the YOLOv8 Model and Dataset
    model_name = "yolov8x"
    dataset_name = "C://Users//Administrator//project//yolov5_train_data//data//slant_2024.yaml"
    model = YOLO(f"{model_name}.pt")
    
    # Step 3: Add W&B Callback for Ultralytics
    add_wandb_callback(model, enable_model_checkpointing=True)
    model_name = "train_01"
    # Step 4: Train and Fine-Tune the Model
    model.train(project=project_name,name=model_name, data=dataset_name, epochs=100, imgsz=640, batch = 8)
    
    # Step 5: Validate the Model
    model.val()
    
    # Step 6: Perform Inference and Log Results
    #model(["path/to/image1", "path/to/image2"])
    
    # Step 7: Finalize the W&B Run
    wandb.finish()

    if name == "main": train() I used the above code to train custom data, but when using wandb, the GPU memory continuously increases over epochs until an out of memory error appears. program has been stopped. Error message: torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 20.00 MiB. GPU 0 has a total capacity of 15.88 GiB of which 7.62 MiB is free. Of the allocated memory 14.53 GiB is allocated by PyTorch, and 103.44 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation. See documentation for Memory Management (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)

    1. DungHD-1997GitHub

      If I don't use wandb, the GPU memory hardly changes over each epoch. Is there something wrong with my code?

    2. Glenn JocherUltralytics(modificato)

      Hey there! It looks like you're encountering a memory issue related to using Weights & Biases (W&B) with YOLOv8, specifically the GPU running out of memory during training. This can happen for a few reasons, including excessive memory allocation by PyTorch or W&B logging mechanisms. Here are a couple of suggestions that might help:

      1. Reduce Batch Size: Lowering the batch size can significantly reduce memory usage. Although this might increase training time, it can help avoid out-of-memory errors.

        model.train(batch=4)  # Try reducing the batch size
      2. Clear CUDA Cache: Manually clearing the CUDA cache after each epoch might help release unused memory.

        import torch
        torch.cuda.empty_cache()
      3. Optimize Model and DataLoader: Ensure that your DataLoader is not the source of the memory leak, and try to optimize your model's memory usage.

      4. Disable W&B to isolate the cause: Run yolo settings wandb=False and train again; if the out-of-memory error persists, W&B is not the cause.

      Finally, consider profiling your code to identify specific lines or operations that cause the memory spike. PyTorch and W&B offer tools and documentation on best practices to optimize memory usage. 📘

      Hope this helps! If the issue persists, feel free to reach out with more details or check the W&B and YOLOv8 docs for more insights.

  7. danielst4GitHub

    Hey there, I am trying to make a sweep using WandB but cant quite put together where to insert what into the YOLO call, to use different hyperparameters and track them. Even though I found a site where one has done this he too doesnt describe what he had to do. I am not sure if it is more complicated than I think and if I really have to insert stuff into the training function or if there is an easy way to achieve this. I would be really greatful for help to know what exactly is necessary to make a WandB hyperparameter sweep with YOLO Thanks Daniel

    1. Paula DerrengerUltralytics(modificato)

      Hey Daniel 👋,

      Great to hear you're exploring hyperparameter sweeps with WandB and YOLO! It's simpler than it might seem at first. Here's a quick guide to get you started:

      1. Initialize WandB: Before starting your training, make sure to log in to WandB in your script or notebook using:
        import wandb
        wandb.login()
      2. Set Up the Sweep: Define your sweep configuration in WandB, using Ultralytics training argument names for the hyperparameters. For example:
        method: random
        metric:
          name: val/box_loss
          goal: minimize
        parameters:
          lr0:
            min: 0.0001
            max: 0.001
          batch:
            values: [16, 32, 64]
      3. Integrate Sweep with YOLO: Enable the built-in integration with yolo settings wandb=True. If a W&B run is already active (as in a sweep agent), Ultralytics logs into it and keeps any config values the sweep already set.
        import wandb
        from ultralytics import YOLO
        
        
        def train():
            wandb.init(project="your_project_name")
            model = YOLO("yolov8n.pt")
            model.train(data="coco128.yaml", epochs=5, imgsz=640, lr0=wandb.config.lr0, batch=wandb.config.batch)
      4. Start the Sweep: Once everything is set up, you can start the sweep in WandB. This will iterate over the defined hyperparameter space, automatically logging each experiment's results.

      Remember, the key parts are enabling the W&B setting and making sure your sweep parameter names match Ultralytics training arguments.

      Hope this helps! If you have any more questions or run into issues, feel free to ask. Happy sweeping! 🚀

    2. danielst4GitHub

      Thank you Paula, this helped a lot! I can make a sweep now but I noticed that the values of the parameters which are given from the sweep to the script dont match the parameters used. Even though the command looks like this: wandb.wandb_agent - INFO - About to run command: /usr/bin/env python training_rtdetr.py --batch=8 --epochs=6 --imgsz=1280 --learning_rate=0.0007013348811086657 where "training_rtdetr.py" is a script with the code you gave me. (I am working with the RTDETR but it shouldnt make a difference as the metrics and calls are the same if I understand correctly?) But then after engine/trainer it says its using epochs=100 and it also uses that number for training. So just to be sure about a few things, I already logged in to WandB, I wrote a script with the code from your 3., I went to wandb, created a sweep there with the code from 2. + the line program: training_rtdetr.py and in a terminal I used the resulting call wandb agent [sweepid] Also I am kinda confused because you used "learning_rate" and "batch_size" but as far as I can tell these are not the parameters I can give for the training and they should be called "lr0" and "batch" respectively (which I both tried but they didnt work) I hope I provided all the necessary information otherwise just tell me what you need to know

    3. Paula DerrengerUltralytics

      @danielst4 hey Daniel,

      It sounds like you're on the right track with setting up your WandB sweep with YOLOv8! Regarding the mismatch in parameter values, it seems like there might be a discrepancy between the parameter names expected by your script and those defined in your WandB sweep configuration.

      For YOLOv8, the correct parameter names for learning rate and batch size are indeed lr0 and batch, respectively. If you're using these parameters in your training_rtdetr.py script, ensure they're correctly parsed from the command line arguments. Here's a quick Python snippet using argparse for reference:

      import argparse
      
      # Parse command line arguments
      parser = argparse.ArgumentParser()
      parser.add_argument('--batch', type=int, help='batch size')
      parser.add_argument('--epochs', type=int, help='number of epochs')
      parser.add_argument('--imgsz', type=int, help='image size')
      parser.add_argument('--learning_rate', type=float, help='learning rate')
      args = parser.parse_args()
      
      # Now you can use args.batch, args.epochs, etc., in your script

      Make sure your WandB sweep configuration uses the same parameter names as those your script expects. For example:

      program: training_rtdetr.py
      method: bayes
      metric:
        name: val/box_loss
        goal: minimize
      parameters:
        learning_rate:
          min: 0.0001
          max: 0.001
        batch:
          values: [8, 16, 32]
        epochs:
          value: 6
        imgsz:
          value: 1280

      If you've already done this and the issue persists, it might be helpful to double-check how your script handles these parameters and ensure they're being correctly applied to your YOLOv8 model configuration.

      Feel free to share more details if you're still encountering issues. We're here to help! 🚀

  8. J0ELhGitHub

    Is it possible to remove logging and only log progress in the command line? For my training process yolov8 seems to automatically connect with my wandb account and start logging. This process is very time-consuming so I'd like to know whether there's a flag like log = False or something like that.

    1. J0ELhGitHub

      ^ this is because I'm done experimenting and need quick retraining options now.

    2. Glenn JocherUltralytics(modificato)

      Hey there! 👋 If you're looking to disable automatic logging to Weights & Biases (W&B) during your YOLOv8 training to speed things up, you can do so by setting the wandb argument to False when initiating your training command. Here's how you can do it:

      yolo settings wandb=False

      This is a global Ultralytics setting, not a train argument, and it stops YOLOv8 from connecting to your W&B account and logging training progress there. Happy training! 🚀