henry000 commited on
Commit
240dcb0
Β·
1 Parent(s): 42e909b

πŸ”Š [Update] log item, format value on wandb

Browse files
yolo/tools/loss_functions.py CHANGED
@@ -125,9 +125,9 @@ class DualLoss:
125
  main_iou, main_dfl, main_cls = self.loss(main_predicts, targets)
126
 
127
  loss_dict = {
128
- "BoxLoss": self.iou_rate * (aux_iou * self.aux_rate + main_iou),
129
- "DFLoss": self.dfl_rate * (aux_dfl * self.aux_rate + main_dfl),
130
- "BCELoss": self.cls_rate * (aux_cls * self.aux_rate + main_cls),
131
  }
132
  loss_sum = sum(list(loss_dict.values())) / len(loss_dict)
133
  return loss_sum, loss_dict
 
125
  main_iou, main_dfl, main_cls = self.loss(main_predicts, targets)
126
 
127
  loss_dict = {
128
+ "Loss/BoxLoss": self.iou_rate * (aux_iou * self.aux_rate + main_iou),
129
+ "Loss/DFLoss": self.dfl_rate * (aux_dfl * self.aux_rate + main_dfl),
130
+ "Loss/BCELoss": self.cls_rate * (aux_cls * self.aux_rate + main_cls),
131
  }
132
  loss_sum = sum(list(loss_dict.values())) / len(loss_dict)
133
  return loss_sum, loss_dict
yolo/tools/solver.py CHANGED
@@ -49,9 +49,10 @@ class ValidateModel(BaseModel):
49
  "map": batch_metrics["map"],
50
  "map_50": batch_metrics["map_50"],
51
  },
52
- on_step=True,
53
  prog_bar=True,
54
  logger=False,
 
 
55
  batch_size=batch_size,
56
  )
57
  return predicts
@@ -59,7 +60,11 @@ class ValidateModel(BaseModel):
59
  def on_validation_epoch_end(self):
60
  epoch_metrics = self.metric.compute()
61
  del epoch_metrics["classes"]
62
- self.log_dict(epoch_metrics, on_epoch=True, prog_bar=True, logger=True)
 
 
 
 
63
 
64
 
65
  class TrainModel(ValidateModel):
@@ -80,7 +85,14 @@ class TrainModel(ValidateModel):
80
  aux_predicts = self.vec2box(predicts["AUX"])
81
  main_predicts = self.vec2box(predicts["Main"])
82
  loss, loss_item = self.loss_fn(aux_predicts, main_predicts, targets)
83
- self.log_dict(loss_item, on_step=True, on_epoch=True, prog_bar=True, logger=True, batch_size=batch_size)
 
 
 
 
 
 
 
84
  return loss * batch_size
85
 
86
  def configure_optimizers(self):
 
49
  "map": batch_metrics["map"],
50
  "map_50": batch_metrics["map_50"],
51
  },
 
52
  prog_bar=True,
53
  logger=False,
54
+ on_step=True,
55
+ sync_dist=True,
56
  batch_size=batch_size,
57
  )
58
  return predicts
 
60
  def on_validation_epoch_end(self):
61
  epoch_metrics = self.metric.compute()
62
  del epoch_metrics["classes"]
63
+ self.log_dict(
64
+ {"PyCOCO/AP @ .5:.95": epoch_metrics["map"], "PyCOCO/AP @ .5": epoch_metrics["map_50"]}, rank_zero_only=True
65
+ )
66
+ self.log_dict(epoch_metrics, prog_bar=True, logger=True, on_epoch=True, rank_zero_only=True)
67
+ self.metric.reset()
68
 
69
 
70
  class TrainModel(ValidateModel):
 
85
  aux_predicts = self.vec2box(predicts["AUX"])
86
  main_predicts = self.vec2box(predicts["Main"])
87
  loss, loss_item = self.loss_fn(aux_predicts, main_predicts, targets)
88
+ self.log_dict(
89
+ loss_item,
90
+ prog_bar=True,
91
+ logger=True,
92
+ on_epoch=True,
93
+ batch_size=batch_size,
94
+ rank_zero_only=True,
95
+ )
96
  return loss * batch_size
97
 
98
  def configure_optimizers(self):