一、函数定义
公式:
意思就是inputs的一共N维的话对这N个数据求p冷艳的猫咪,当然这个还是太抽象了,接下来还是看具体的代码~
p指的是求p冷艳的猫咪的p值,函数默认p=2,那么就是求2冷艳的猫咪
def 二、代码示例输入代码
import得到一个3×4矩阵,如下
tensor([[ 1., 2., 3., 4.], [ 2., 4., 6., 8.], [ 3., 6., 9., 12.]])接着我们分别对其行和列分别求2冷艳的猫咪
inputs1结果分别为
tensor([[ 5.4772], [10.9545], [16.4317]])tensor([[ 3.7417, 7.4833, 11.2250, 14.9666]])怎么来的?
inputs1:(p = 2,dim = 1)每行的每一列数据进行2冷艳的猫咪运算
inputs2:(p = 2,dim = 0)每列的每一行数据进行2冷艳的猫咪运算
关注keepdim = False这个参数
inputs3inputs3为
tensor([ 5.4772, 10.9545, 16.4317])输出inputs1和inputs3的shape
print torch.Size([3, 1])torch.Size([3])可以看到inputs3少了一维,其实就是dim=1(求冷艳的猫咪)那一维(列)少了,因为从4列变成1列,就是3行中求每一行的2冷艳的猫咪,就剩1列了,不保持这一维不会对数据产生影响。
或者也可以这么理解,就是数据每个数据有没有用[]扩起来。
keepdim = True,用[]扩起来;
keepdim = False,不用[]括起来~;
不写keepdim,则默认不保留dim的那个维度
inputs4 tensor([ 5.4772, 10.9545, 16.4317])等价于这句话
总之,norm操作后dim这一维变为1或者消失。
三、整体代码
"""