From c562fbc823aa75ab2ef1ed4c486729ed73ec71ef Mon Sep 17 00:00:00 2001 From: Ayush Chaurasia Date: Mon, 30 Aug 2021 14:46:07 +0000 Subject: [PATCH 1/3] evolve fix --- utils/loggers/__init__.py | 12 ++++++++---- utils/loggers/wandb/wandb_utils.py | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/utils/loggers/__init__.py b/utils/loggers/__init__.py index 16d0348d86f3..775803abf068 100644 --- a/utils/loggers/__init__.py +++ b/utils/loggers/__init__.py @@ -138,7 +138,11 @@ def on_train_end(self, last, best, plots, epoch): if self.wandb: self.wandb.log({"Results": [wandb.Image(str(f), caption=f.name) for f in files]}) # Calling wandb.log. TODO: Refactor this into WandbLogger.log_model - wandb.log_artifact(str(best if best.exists() else last), type='model', - name='run_' + self.wandb.wandb_run.id + '_model', - aliases=['latest', 'best', 'stripped']) - self.wandb.finish_run() + if not self.opt.evolve: + wandb.log_artifact(str(best if best.exists() else last), type='model', + name='run_' + self.wandb.wandb_run.id + '_model', + aliases=['latest', 'best', 'stripped']) + self.wandb.finish_run() + else: + self.wandb.finish_run() + self.wandb = WandbLogger(self.opt) diff --git a/utils/loggers/wandb/wandb_utils.py b/utils/loggers/wandb/wandb_utils.py index 8b2095afcb8b..5d495c70517b 100644 --- a/utils/loggers/wandb/wandb_utils.py +++ b/utils/loggers/wandb/wandb_utils.py @@ -112,7 +112,7 @@ class WandbLogger(): https://docs.wandb.com/guides/integrations/yolov5 """ - def __init__(self, opt, run_id, job_type='Training'): + def __init__(self, opt, run_id=None, job_type='Training'): """ - Initialize WandbLogger instance - Upload dataset if opt.upload_dataset is True From d1369d8883abc62fbde84f6a0353fb77d06a1a37 Mon Sep 17 00:00:00 2001 From: Ayush Chaurasia Date: Fri, 17 Sep 2021 13:10:22 +0000 Subject: [PATCH 2/3] Enable login timeout --- Dockerfile | 2 +- utils/loggers/wandb/wandb_utils.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 858b22bc6383..e9cd304376ed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,7 +10,7 @@ RUN apt update && apt install -y zip htop screen libgl1-mesa-glx COPY requirements.txt . RUN python -m pip install --upgrade pip RUN pip uninstall -y nvidia-tensorboard nvidia-tensorboard-plugin-dlprof -RUN pip install --no-cache -r requirements.txt coremltools onnx gsutil notebook +RUN pip install --no-cache -r requirements.txt coremltools onnx gsutil notebook wandb>=0.12.2 RUN pip install --no-cache -U torch torchvision numpy # RUN pip install --no-cache torch==1.9.0+cu111 torchvision==0.10.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html diff --git a/utils/loggers/wandb/wandb_utils.py b/utils/loggers/wandb/wandb_utils.py index 504a518f75ea..5d0aa7c4ee57 100644 --- a/utils/loggers/wandb/wandb_utils.py +++ b/utils/loggers/wandb/wandb_utils.py @@ -5,6 +5,7 @@ import sys from contextlib import contextmanager from pathlib import Path +from packaging import version import yaml from tqdm import tqdm @@ -20,6 +21,8 @@ import wandb assert hasattr(wandb, '__version__') # verify package import not local dir + if version.parse(wandb.__version__) >= version.parse('0.12.2'): + wandb.login(timeout=30) except (ImportError, AssertionError): wandb = None From bedac1355cdbf33fa7ccf817be30988e89c9e582 Mon Sep 17 00:00:00 2001 From: Ayush Chaurasia Date: Fri, 17 Sep 2021 13:20:11 +0000 Subject: [PATCH 3/3] fix pkg --- utils/loggers/wandb/wandb_utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/loggers/wandb/wandb_utils.py b/utils/loggers/wandb/wandb_utils.py index 5d0aa7c4ee57..e7b0d82213f0 100644 --- a/utils/loggers/wandb/wandb_utils.py +++ b/utils/loggers/wandb/wandb_utils.py @@ -5,7 +5,7 @@ import sys from contextlib import contextmanager from pathlib import Path -from packaging import version +import pkg_resources as pkg import yaml from tqdm import tqdm @@ -21,7 +21,7 @@ import wandb assert hasattr(wandb, '__version__') # verify package import not local dir - if version.parse(wandb.__version__) >= version.parse('0.12.2'): + if pkg.parse_version(wandb.__version__) >= pkg.parse_version('0.12.2'): wandb.login(timeout=30) except (ImportError, AssertionError): wandb = None