(self, pred, target)
| 146 | return target_score |
| 147 | |
| 148 | def evaluate(self, pred, target): |
| 149 | metric = {} |
| 150 | pred_score, score_norm = pred |
| 151 | target_score = target |
| 152 | |
| 153 | metric["diffusion loss"] = ((target_score - pred_score) ** 2 / (score_norm + self.eps)).mean() |
| 154 | metric["diffusion base loss"] = (pred_score ** 2 / (score_norm + self.eps)).mean() |
| 155 | |
| 156 | return metric |
| 157 | |
| 158 | @torch.no_grad() |
| 159 | def generate(self, batch, randomize=True): |