henry000 commited on
Commit
3ebbbd9
Β·
1 Parent(s): 0ae4269

πŸ› [Fix] quite mode bugs, enable to disable :)

Browse files
tests/conftest.py CHANGED
@@ -67,7 +67,8 @@ def model_v7(inference_v7_cfg: Config, device) -> YOLO:
67
 
68
  @pytest.fixture(scope="session")
69
  def solver(train_cfg: Config) -> Trainer:
70
- callbacks, loggers = setup(train_cfg)
 
71
  trainer = Trainer(
72
  accelerator="cuda",
73
  max_epochs=getattr(train_cfg.task, "epoch", None),
@@ -77,6 +78,7 @@ def solver(train_cfg: Config) -> Trainer:
77
  log_every_n_steps=1,
78
  gradient_clip_val=10,
79
  deterministic=True,
 
80
  )
81
  return trainer
82
 
 
67
 
68
  @pytest.fixture(scope="session")
69
  def solver(train_cfg: Config) -> Trainer:
70
+ train_cfg.use_wandb = False
71
+ callbacks, loggers, save_path = setup(train_cfg)
72
  trainer = Trainer(
73
  accelerator="cuda",
74
  max_epochs=getattr(train_cfg.task, "epoch", None),
 
78
  log_every_n_steps=1,
79
  gradient_clip_val=10,
80
  deterministic=True,
81
+ default_root_dir=save_path,
82
  )
83
  return trainer
84
 
yolo/lazy.py CHANGED
@@ -14,7 +14,7 @@ from yolo.utils.logging_utils import setup
14
 
15
  @hydra.main(config_path="config", config_name="config", version_base=None)
16
  def main(cfg: Config):
17
- callbacks, loggers = setup(cfg)
18
 
19
  trainer = Trainer(
20
  accelerator="cuda",
@@ -25,6 +25,8 @@ def main(cfg: Config):
25
  log_every_n_steps=1,
26
  gradient_clip_val=10,
27
  deterministic=True,
 
 
28
  )
29
 
30
  match cfg.task.task:
 
14
 
15
  @hydra.main(config_path="config", config_name="config", version_base=None)
16
  def main(cfg: Config):
17
+ callbacks, loggers, save_path = setup(cfg)
18
 
19
  trainer = Trainer(
20
  accelerator="cuda",
 
25
  log_every_n_steps=1,
26
  gradient_clip_val=10,
27
  deterministic=True,
28
+ enable_progress_bar=not getattr(cfg, "quite", False),
29
+ default_root_dir=save_path,
30
  )
31
 
32
  match cfg.task.task:
yolo/tools/solver.py CHANGED
@@ -149,6 +149,6 @@ class InferenceModel(BaseModel):
149
  return fps
150
 
151
  def _save_image(self, img, batch_idx):
152
- save_image_path = Path(self.logger.save_dir) / f"frame{batch_idx:03d}.png"
153
  img.save(save_image_path)
154
  print(f"πŸ’Ύ Saved visualize image at {save_image_path}")
 
149
  return fps
150
 
151
  def _save_image(self, img, batch_idx):
152
+ save_image_path = Path(self.trainer.default_root_dir) / f"frame{batch_idx:03d}.png"
153
  img.save(save_image_path)
154
  print(f"πŸ’Ύ Saved visualize image at {save_image_path}")
yolo/utils/logging_utils.py CHANGED
@@ -223,7 +223,7 @@ class ImageLogger(Callback):
223
  logger.log_image("Prediction", images, step=step, boxes=[log_bbox(pred_boxes)])
224
 
225
 
226
- def setup_logger(logger_name):
227
  class EmojiFormatter(logging.Formatter):
228
  def format(self, record, emoji=":high_voltage:"):
229
  return f"{emoji} {super().format(record)}"
@@ -234,16 +234,14 @@ def setup_logger(logger_name):
234
  if rich_logger:
235
  rich_logger.handlers.clear()
236
  rich_logger.addHandler(rich_handler)
 
 
237
 
238
 
239
  def setup(cfg: Config):
240
- # seed_everything(cfg.lucky_number)
241
- if hasattr(cfg, "quite"):
242
- logger.removeHandler("YOLO_logger")
243
- return
244
-
245
- setup_logger("lightning.fabric")
246
- setup_logger("lightning.pytorch")
247
 
248
  def custom_wandb_log(string="", level=int, newline=True, repeat=True, prefix=True, silent=False):
249
  if silent:
@@ -256,6 +254,11 @@ def setup(cfg: Config):
256
  save_path = validate_log_directory(cfg, cfg.name)
257
 
258
  progress, loggers = [], []
 
 
 
 
 
259
  progress.append(YOLORichProgressBar())
260
  progress.append(YOLORichModelSummary())
261
  progress.append(ImageLogger())
@@ -264,7 +267,7 @@ def setup(cfg: Config):
264
  if cfg.use_wandb:
265
  loggers.append(WandbLogger(project="YOLO", name=cfg.name, save_dir=save_path, id=None))
266
 
267
- return progress, loggers
268
 
269
 
270
  def log_model_structure(model: Union[ModuleList, YOLOLayer, YOLO]):
@@ -312,7 +315,8 @@ def validate_log_directory(cfg: Config, exp_name: str) -> Path:
312
  )
313
 
314
  save_path.mkdir(parents=True, exist_ok=True)
315
- logger.info(f"πŸ“„ Created log folder: [blue b u]{save_path}[/]")
 
316
  logger.addHandler(FileHandler(save_path / "output.log"))
317
  return save_path
318
 
 
223
  logger.log_image("Prediction", images, step=step, boxes=[log_bbox(pred_boxes)])
224
 
225
 
226
+ def setup_logger(logger_name, quite=False):
227
  class EmojiFormatter(logging.Formatter):
228
  def format(self, record, emoji=":high_voltage:"):
229
  return f"{emoji} {super().format(record)}"
 
234
  if rich_logger:
235
  rich_logger.handlers.clear()
236
  rich_logger.addHandler(rich_handler)
237
+ if quite:
238
+ rich_logger.setLevel(logging.ERROR)
239
 
240
 
241
  def setup(cfg: Config):
242
+ quite = hasattr(cfg, "quite")
243
+ setup_logger("lightning.fabric", quite=quite)
244
+ setup_logger("lightning.pytorch", quite=quite)
 
 
 
 
245
 
246
  def custom_wandb_log(string="", level=int, newline=True, repeat=True, prefix=True, silent=False):
247
  if silent:
 
254
  save_path = validate_log_directory(cfg, cfg.name)
255
 
256
  progress, loggers = [], []
257
+
258
+ if quite:
259
+ logger.setLevel(logging.ERROR)
260
+ return progress, loggers, save_path
261
+
262
  progress.append(YOLORichProgressBar())
263
  progress.append(YOLORichModelSummary())
264
  progress.append(ImageLogger())
 
267
  if cfg.use_wandb:
268
  loggers.append(WandbLogger(project="YOLO", name=cfg.name, save_dir=save_path, id=None))
269
 
270
+ return progress, loggers, save_path
271
 
272
 
273
  def log_model_structure(model: Union[ModuleList, YOLOLayer, YOLO]):
 
315
  )
316
 
317
  save_path.mkdir(parents=True, exist_ok=True)
318
+ if not getattr(cfg, "quite", False):
319
+ logger.info(f"πŸ“„ Created log folder: [blue b u]{save_path}[/]")
320
  logger.addHandler(FileHandler(save_path / "output.log"))
321
  return save_path
322