(self)
| 127 | self.optimizers.append(self.optimizer_F) |
| 128 | |
| 129 | def optimize_parameters(self): |
| 130 | # forward |
| 131 | self.forward() |
| 132 | |
| 133 | # update D |
| 134 | self.set_requires_grad([self.netD_A, self.netD_B], True) |
| 135 | self.optimizer_D.zero_grad() |
| 136 | self.backward_D_A() # calculate gradients for D_A |
| 137 | self.backward_D_B() # calculate graidents for D_B |
| 138 | self.optimizer_D.step() |
| 139 | |
| 140 | # update G |
| 141 | self.set_requires_grad([self.netD_A, self.netD_B], False) |
| 142 | self.optimizer_G.zero_grad() |
| 143 | if self.opt.netF == 'mlp_sample': |
| 144 | self.optimizer_F.zero_grad() |
| 145 | self.loss_G = self.compute_G_loss() |
| 146 | self.loss_G.backward() |
| 147 | self.optimizer_G.step() |
| 148 | if self.opt.netF == 'mlp_sample': |
| 149 | self.optimizer_F.step() |
| 150 | |
| 151 | def set_input(self, input): |
| 152 | """Unpack input data from the dataloader and perform necessary pre-processing steps. |
no test coverage detected