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

pytorch基本运算-范数

引言

前序学习进程中,已经对pytorch基本运算有了详细探索,文章链接有:

基本运算
广播失效
乘除法和幂运算
hadamard积、点积和矩阵乘法

上述计算都是以pytorch张量为运算元素,这些张量基本上也集中在一维向量和二维矩阵,此时也必不可少会涉及到另一个重要概念:范数。

今天的学习目标就是掌握范数的基本定义和计算方法。

范数

本次主要讨论L1和L2范数。

L2范数

欧几里得距离是一个L2范数:假设n维向量x中的元素是x1,…,xn,其L2范数是向量元素平方和的平方根:
∥ x ∥ 2 = ∑ i = 1 n x i 2 \left \| x \right \|_{2}=\sqrt{\sum _{i=1}^{n}x_{i}^{2}} x2=i=1nxi2 代码示例:

# 导入包
import torch
# 生成多维张量
y=torch.tensor([1.0,3.0])
# L2范数计算
z=torch.norm(y)
# 打印
print(z)
# L2平方
t=z*z
# 打印
print(t)

代码运行效果为:
L2范数

L1范数

L1范数:假设n维向量x中的元素是x1,…,xn,其L1范数是向量元素绝对值的和:
∥ x ∥ 1 = ∑ i = 1 n ∣ x i ∣ \left \| x \right \|_{1}=\sum _{i=1}^{n} \left | {x_{i}} \right | x1=i=1nxi代码示例:

# 导入包
import torch
# 生成多维张量
y=torch.tensor([6.0,8.0])
# L2范数计算
z=torch.norm(y)
# 打印
print(z)
# L2平方
t=z*z
# 打印
print(t)
# L1范数计算
p=torch.abs(y).sum()
# 打印
print(p)

代码运行效果为:
L1范数计算

矩阵范数

在已经讨论L1和L2范数的基础上,可以很直接地理解一个n行m列矩阵的范数计算公式应当为:
∥ x ∥ 2 = ∑ i = 1 n ∑ j = 1 m x i j 2 \left \| x \right \|_{2}=\sqrt{\sum _{i=1}^{n}\sum _{j=1}^{m}x_{ij}^{2}} x2=i=1nj=1mxij2 代码示例:

# 导入包
import torch
# 生成多维张量,5x5纯1矩阵
y=torch.ones([5,5])
# 打印
print('矩阵=',y)
# L2范数计算
z=torch.norm(y)
# 打印
print('L2=',z)
# L2平方
t=z*z
# 打印
print('L2*L2=',t)
# L1范数计算
p=torch.abs(y).sum()
# 打印
print('L1',p)

代码运行效果为:
矩阵范数

总结

学习了L1和L2范数的基本定义,对n行m’列矩阵范数的计算进行了探索。

http://www.xdnf.cn/news/765055.html

相关文章:

  • 齐次变换矩阵与运动旋量的指数映射
  • 实验一:PyTorch基本操作实验
  • 前端八股之CSS
  • Javaweb学习——day1(JavaWeb 介绍与开发环境搭建)
  • StarRocks部署方案详解:从单机到分布式集群
  • 【DBA】MySQL经典250题,改自OCP英文题库中文版(2025完整版)
  • WebSocket与Reactor模式:构建实时交互应用
  • 从【0-1的HTML】第1篇:HTML简介
  • 二、Sqoop 详细安装部署教程
  • Kafka集成Flume/Spark/Flink(大数据)/SpringBoot
  • 房产销售系统 Java+Vue.js+SpringBoot,包括房源信息、房屋户型、房源类型、预约看房、房屋评价、房屋收藏模块
  • Kotlin 扩展函数详解
  • 如何阅读一份源代码?
  • Dify工作流实践—根据word需求文档编写测试用例到Excel中
  • 使用new操作符动态分配
  • 《软件项目管理》第一章(概述)期末周复习总结笔记
  • 内存管理--《Hello C++ Wrold!》(8)--(C/C++)--深入剖析new和delete的使用和底层实现
  • 英语中什么时候用that?
  • 我爱学算法之—— 前缀和(上)
  • 【QT控件】QWidget 常用核心属性介绍 -- 万字详解
  • 使用source ~/.bashrc修改环境变量之后,关闭服务器,在重启,环境变量还有吗?
  • Hadoop 大数据启蒙:深入解析分布式基石 HDFS
  • 神经网络基础:从单个神经元到多层网络(superior哥AI系列第3期)
  • 题单:二分查找(最小下标)
  • 记忆解码 | 从神经机制到记忆逻辑的科学探索
  • 2023年12月6级第一套第一篇
  • 【头歌实验】Keras机器翻译实战
  • 什么是 CPU 缓存模型?
  • SMT高速贴片机核心技术深度剖析
  • 基于Python学习《Head First设计模式》第四章 工厂模式+抽象工厂