(self)
| 1284 | return log |
| 1285 | |
| 1286 | def configure_optimizers(self): |
| 1287 | lr = self.learning_rate |
| 1288 | params = list(self.model.parameters()) |
| 1289 | if self.cond_stage_trainable: |
| 1290 | print(f"{self.__class__.__name__}: Also optimizing conditioner params!") |
| 1291 | params = params + list(self.cond_stage_model.parameters()) |
| 1292 | if self.learn_logvar: |
| 1293 | print('Diffusion model optimizing logvar') |
| 1294 | params.append(self.logvar) |
| 1295 | opt = torch.optim.AdamW(params, lr=lr) |
| 1296 | if self.use_scheduler: |
| 1297 | assert 'target' in self.scheduler_config |
| 1298 | scheduler = instantiate_from_config(self.scheduler_config) |
| 1299 | |
| 1300 | print("Setting up LambdaLR scheduler...") |
| 1301 | scheduler = [ |
| 1302 | { |
| 1303 | 'scheduler': LambdaLR(opt, lr_lambda=scheduler.schedule), |
| 1304 | 'interval': 'step', |
| 1305 | 'frequency': 1 |
| 1306 | }] |
| 1307 | return [opt], scheduler |
| 1308 | return opt |
| 1309 | |
| 1310 | @torch.no_grad() |
| 1311 | def to_rgb(self, x): |
nothing calls this directly
no test coverage detected