(self)
| 178 | return value.clamp(min = self.min_value, max = self.beta).item() |
| 179 | |
| 180 | def update(self): |
| 181 | step = self.step.item() |
| 182 | self.step += 1 |
| 183 | |
| 184 | if (step % self.update_every) != 0: |
| 185 | return |
| 186 | |
| 187 | if step <= self.update_after_step: |
| 188 | self.copy_params_from_model_to_ema() |
| 189 | return |
| 190 | |
| 191 | if not self.initted.item(): |
| 192 | self.copy_params_from_model_to_ema() |
| 193 | self.initted.data.copy_(torch.tensor(True)) |
| 194 | |
| 195 | self.update_moving_average(self.ema_model, self.model) |
| 196 | |
| 197 | @torch.no_grad() |
| 198 | def update_moving_average(self, ma_model, current_model): |
no test coverage detected