torch.nn.functional.normalize
官方文档: normalize
Performs normalization of inputs over specified dimension.
作用: 在指定的维度计算范数,默认的计算是2范数
计算公式如下
下面对函数的参数进行解释
torch.nn.functional.normalize(input, p=2.0, dim=1, eps=1e-12, out=None)
- input: 输入tensor
- p: 归一化的范数,默认为2范数
- dim: 计算维度 (the dimension to reduce)
- eps: 防止分母为0的一个很小得数
- out: 输出tensor,如果指定了这个tensor,操作会变得不可微
下面举两个例子,一个二维一个三维
二维例子
1 | input2 = torch.randn((3, 4)) |
normalize
默认是计算dim=1
的,输入矩阵是(3,4),计算第1维就是4那一维(dim=0代表3那一维)。如下图所示,dim=1代表4那一维度,就是红色的那四个元素计算归一化,蓝色同理

即
三维例子
1 | input3 = torch.randn((2, 3, 4)) |
这里dim=1
也就是3那一维,所以对3个数进行归一化,这里以0.0107为例