首页 > 编程知识 正文

损失函数的范数,函数的范数怎么求

时间:2023-05-04 20:59:46 阅读:228589 作者:3494

一、函数定义

公式:

意思就是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这个参数

inputs3

inputs3为

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或者消失。

三、整体代码

"""

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。