Skip to content

Commit

Permalink
Update Comet integration (#11648)
Browse files Browse the repository at this point in the history
* Update Comet

* Update Comet

* Update Comet

* Add default Experiment Name

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update tutorial.ipynb

Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>

* Update tutorial.ipynb

Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>

* Update tutorial.ipynb

Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>

* Update tutorial.ipynb

Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>

---------

Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
  • Loading branch information
glenn-jocher and pre-commit-ci[bot] committed Jun 15, 2023
1 parent a199480 commit 98acd11
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 13 deletions.
2 changes: 1 addition & 1 deletion segment/tutorial.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@
"source": [
"!git clone https://github.com/ultralytics/yolov5 # clone\n",
"%cd yolov5\n",
"%pip install -qr requirements.txt # install\n",
"%pip install -qr requirements.txt comet_ml # install\n",
"\n",
"import torch\n",
"import utils\n",
Expand Down
5 changes: 5 additions & 0 deletions train.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@
from datetime import datetime
from pathlib import Path

try:
import comet_ml # must be imported before torch (if installed)
except ImportError:
comet_ml = None

import numpy as np
import torch
import torch.distributed as dist
Expand Down
2 changes: 1 addition & 1 deletion tutorial.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
"source": [
"!git clone https://github.com/ultralytics/yolov5 # clone\n",
"%cd yolov5\n",
"%pip install -qr requirements.txt # install\n",
"%pip install -qr requirements.txt comet_ml # install\n",
"\n",
"import torch\n",
"import utils\n",
Expand Down
2 changes: 1 addition & 1 deletion utils/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ def notebook_init(verbose=True):
import os
import shutil

from utils.general import check_font, check_requirements, is_colab
from utils.general import check_font, is_colab
from utils.torch_utils import select_device # imports

check_font()
Expand Down
12 changes: 4 additions & 8 deletions utils/loggers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,15 @@
clearml = None

try:
if RANK not in [0, -1]:
comet_ml = None
else:
if RANK in {0, -1}:
import comet_ml

assert hasattr(comet_ml, '__version__') # verify package import not local dir
from utils.loggers.comet import CometLogger

except (ModuleNotFoundError, ImportError, AssertionError):
else:
comet_ml = None
except (ImportError, AssertionError):
comet_ml = None


Expand Down Expand Up @@ -88,10 +88,6 @@ def __init__(self, save_dir=None, weights=None, opt=None, hyp=None, logger=None,
self.csv = True # always log to csv

# Messages
if not clearml:
prefix = colorstr('ClearML: ')
s = f"{prefix}run 'pip install clearml' to automatically track, visualize and remotely train YOLOv5 🚀 in ClearML"
self.logger.info(s)
if not comet_ml:
prefix = colorstr('Comet: ')
s = f"{prefix}run 'pip install comet_ml' to automatically track and visualize YOLOv5 🚀 runs in Comet"
Expand Down
5 changes: 3 additions & 2 deletions utils/loggers/comet/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
# Project Configuration
config = comet_ml.config.get_config()
COMET_PROJECT_NAME = config.get_string(os.getenv('COMET_PROJECT_NAME'), 'comet.project_name', default='yolov5')
except (ModuleNotFoundError, ImportError):
except ImportError:
comet_ml = None
COMET_PROJECT_NAME = None

Expand Down Expand Up @@ -82,7 +82,7 @@ def __init__(self, opt, hyp, run_id=None, job_type='Training', **experiment_kwar
self.comet_log_batch_interval = COMET_BATCH_LOGGING_INTERVAL

# Dataset Artifact Settings
self.upload_dataset = self.opt.upload_dataset if self.opt.upload_dataset else COMET_UPLOAD_DATASET
self.upload_dataset = self.opt.upload_dataset or COMET_UPLOAD_DATASET
self.resume = self.opt.resume

# Default parameters to pass to Experiment objects
Expand All @@ -93,6 +93,7 @@ def __init__(self, opt, hyp, run_id=None, job_type='Training', **experiment_kwar
'project_name': COMET_PROJECT_NAME,}
self.default_experiment_kwargs.update(experiment_kwargs)
self.experiment = self._get_experiment(self.comet_mode, run_id)
self.experiment.set_name(self.opt.name)

self.data_dict = self.check_dataset(self.opt.data)
self.class_names = self.data_dict['names']
Expand Down

0 comments on commit 98acd11

Please sign in to comment.