pytorch梯度剪裁的方法

import torch.nn as nn

outputs = model(data)
loss= loss_fn(outputs, target)
optimizer.zero_grad()
loss.backward()
nn.utils.clip_grad_norm_(model.parameters(), max_norm=20, norm_type=2)
optimizer.step()
  • nn.utils.clip_grad_norm_ 的参数:

    parameters – 一个基于变量的迭代器,会进行梯度归一化
    max_norm – 梯度的最大范数
    norm_type – 规定范数的类型,默认为L2

你可能感兴趣的:(pytorch梯度剪裁的方法)