当前位置: 首页 > news >正文

【Python】torch.norm()用法解析

【Python】torch.norm()用法解析

文章目录

  • 【Python】torch.norm()用法解析
    • 1. 介绍
      • 1.1 p-范数
      • 1.2 Frobenius 范数
      • 1.3 核范数
    • 2. API
    • 3. 示例

1. 介绍

torch.norm()是对输入的tensor求对应的范数。tensor的范数有以下三种:

1.1 p-范数

在这里插入图片描述

1.2 Frobenius 范数

即,矩阵各项元素的绝对值平方的总和。
在这里插入图片描述

1.3 核范数

也即,求矩阵奇异值的和。该范数常被用于约束矩阵的低秩,对于稀疏性质的数据而言,其矩阵是低秩且会包含大量冗余信息,这些信息可被用于恢复数据和提取特征。
在这里插入图片描述

2. API

def norm(input, p="fro", dim=None, keepdim=False, out=None, dtype=None):

参数解释:

  • input:输入tensor类型的数据

  • p:指定的范数

    • 默认为p=‘fro’,计算矩阵的Frobenius norm (Frobenius 范数),就是矩阵各项元素的绝对值平方的总和。
    • p='nuc’时,是求核范数,核范数是矩阵奇异值的和。(不常用)
    • p为int的形式,是求p-范数。(常用)
  • dim:指定在哪个维度进行,如果不指定,则是在所有维度进行计算

  • keepdim:True or False,如果True,则保留dim指定的维度,False则不保留

  • out:输出的 tensor

  • dtype:指定输出的tensor的数据类型

3. 示例

import torch
a = torch.ones(5, 2, 2)
a_norm = a.norm(1, 1)
print(a)
print(a_norm)
  • 输出:
    在这里插入图片描述
  • 说明:
    • 指定p=1,dim=1。也就是在a的第2个维度(dim=1)进行1(p=1)范数计算。
      可以发现:a_norm的shape为(5,2),keepdim默认设置的是False,所以第2个维度对应的2消失了,如果keepdim=True,将会保留第3个维度,但是会变成(5,2,1)。
    • 每一个元素都是为2,也就是1范数的结果。
http://www.lryc.cn/news/31581.html

相关文章:

  • C++核心编程<内存分区模型>(1)
  • 电路基础(1)电路模型和电路定律
  • pytest 基础
  • 软测入门(七)python操作数据文件(Json、yaml、csv、excel、xml)
  • 【小程序】django学习笔记1
  • MySQL常用函数整理
  • 设计模式—“组件协作”
  • vue里使用driver.js实现项目功能向导指引
  • 详解JAVA类加载
  • 高斯分布、高斯混合模型、EM算法详细介绍及其原理详解
  • [Linux入门篇]一篇博客解决C/C++/Linux System Call文件操作接口的使用
  • 数据结构和算法学习记录——删除有序数组中的重复项、合并两个有序数组
  • FPGA实现模拟视频BT656解码 TW2867四路PAL采集拼接显示 提供工程源码和技术支持
  • 【建议收藏】超详细的Canal入门,看这篇就够了!!!
  • KubeSphere 社区双周报 | OpenFunction v1.0.0-rc.0 发布
  • 查漏补缺3月
  • 如何使用Java实现类似Windows域登录
  • 生成模型与判别模型
  • Kotlin lateinit 和 lazy 之间的区别 (翻译)
  • Golang alpine Dockerfile 最小打包
  • 在NVIDIA JetBot Nano小车上更新WIFI驱动
  • 2023年网络安全最应该看的书籍,弯道超车,拒绝看烂书
  • VSYNC研究
  • python gRPC:根据.protobuf文件生成py代码、grpc转换为http协议对外提供服务
  • Allegro如何输出ODB文件操作指导
  • koa-vue的分页实现
  • 安全开发基础 -- DAST,SAST,IAST简单介绍
  • 网络安全之暴力破解介绍及暴力破解Tomcat
  • Elasticsearch:使用 Logstash 构建从 Kafka 到 Elasticsearch 的管道 - Nodejs
  • 记录一次es的性能调优