MCPcopy Index your code
hub / github.com/MoonInTheRiver/DiffSinger / training_step

Method training_step

tasks/base_task.py:126–154  ·  view source on GitHub ↗
(self, sample, batch_idx, optimizer_idx=-1)

Source from the content-addressed store, hash-verified

124 raise NotImplementedError
125
126 def training_step(self, sample, batch_idx, optimizer_idx=-1):
127 loss_ret = self._training_step(sample, batch_idx, optimizer_idx)
128 self.opt_idx = optimizer_idx
129 if loss_ret is None:
130 return {'loss': None}
131 total_loss, log_outputs = loss_ret
132 log_outputs = utils.tensors_to_scalars(log_outputs)
133 for k, v in log_outputs.items():
134 if k not in self.training_losses_meter:
135 self.training_losses_meter[k] = utils.AvgrageMeter()
136 if not np.isnan(v):
137 self.training_losses_meter[k].update(v)
138 self.training_losses_meter['total_loss'].update(total_loss.item())
139
140 try:
141 log_outputs['lr'] = self.scheduler.get_lr()
142 if isinstance(log_outputs['lr'], list):
143 log_outputs['lr'] = log_outputs['lr'][0]
144 except:
145 pass
146
147 # log_outputs['all_loss'] = total_loss.item()
148 progress_bar_log = log_outputs
149 tb_log = {f'tr/{k}': v for k, v in log_outputs.items()}
150 return {
151 'loss': total_loss,
152 'progress_bar': progress_bar_log,
153 'log': tb_log
154 }
155
156 def optimizer_step(self, epoch, batch_idx, optimizer, optimizer_idx):
157 optimizer.step()

Callers 4

_workerFunction · 0.80
forwardMethod · 0.80
forwardMethod · 0.80
training_forwardMethod · 0.80

Calls 3

_training_stepMethod · 0.95
updateMethod · 0.80
get_lrMethod · 0.80

Tested by

no test coverage detected