(parameters, norm_type=2)
| 314 | |
| 315 | |
| 316 | def get_grad_norm(parameters, norm_type=2): |
| 317 | if isinstance(parameters, torch.Tensor): |
| 318 | parameters = [parameters] |
| 319 | parameters = list(filter(lambda p: p.grad is not None, parameters)) |
| 320 | norm_type = float(norm_type) |
| 321 | total_norm = 0 |
| 322 | for p in parameters: |
| 323 | param_norm = p.grad.data.norm(norm_type) |
| 324 | total_norm += param_norm.item() ** norm_type |
| 325 | total_norm = total_norm ** (1. / norm_type) |
| 326 | return total_norm |
| 327 | |
| 328 | |
| 329 | def auto_resume_helper(output_dir): |
no outgoing calls
no test coverage detected