For calibrating misalignment gradient via cliping gradient technique :param optimizer: :param grad_clip: :return:
(optimizer, grad_clip)
| 30 | yield item |
| 31 | |
| 32 | def clip_gradient(optimizer, grad_clip): |
| 33 | """ |
| 34 | For calibrating misalignment gradient via cliping gradient technique |
| 35 | :param optimizer: |
| 36 | :param grad_clip: |
| 37 | :return: |
| 38 | """ |
| 39 | for group in optimizer.param_groups: |
| 40 | for param in group['params']: |
| 41 | if param.grad is not None: |
| 42 | param.grad.data.clamp_(-grad_clip, grad_clip) |
| 43 | |
| 44 | def adjust_lr(optimizer, init_lr, epoch, decay_rate=0.1, decay_epoch=30): |
| 45 | decay = decay_rate ** (epoch // decay_epoch) |