当前位置:首页 >> 脚本专栏

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梯度剪裁方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。