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

jnp.linalg.norm

jnp.linalg.norm 是 JAX 中用于计算向量或矩阵的范数的函数。JAX 是一个用于高性能机器学习研究的 Python 库,它提供了与 NumPy 类似的 API,但支持自动微分和加速计算。jnp 是 JAX 的 NumPy 接口。

jnp.linalg.norm 的基本语法

jnp.linalg.norm(x, ord=None, axis=None, keepdims=False)
参数
  • x:要计算范数的输入数组。可以是向量(1D 数组)或矩阵(2D 数组)。
  • ord:指定要计算的范数的类型。可以是以下值之一:
    • None:默认的欧几里得范数(L2 范数)。
    • 1:L1 范数,向量元素绝对值之和。
    • 2:L2 范数,向量元素平方和的平方根。
    • inf:最大范数,向量元素的最大绝对值。
    • -inf:最小范数,向量元素的最小绝对值。
    • 对于矩阵,ord 可以是以下值之一:
      • 'fro'None:Frobenius 范数(元素平方和的平方根)。
      • 1:列和范数(每列元素绝对值之和的最大值)。
      • inf:行和范数(每行元素绝对值之和的最大值)。
  • axis:指定沿哪个轴计算范数。如果为 None,则计算整个数组的范数。对于向量,可以是一个整数;对于矩阵,可以是一个长度为 2 的元组,指定计算的维度。
  • keepdims:如果为 True,则在结果中保持原数组的维度。这对于保持与输入数组的形状一致性很有用。
返回值

返回计算后的范数值。如果 axisNone,则返回单个值;否则返回按指定轴计算的范数。

示例

计算向量的 L2 范数(默认)
import jax.numpy as jnpx = jnp.array([1, 2, 3])
l2_norm = jnp.linalg.norm(x)
print(l2_norm)  # 输出: 3.7416573867739413
计算向量的 L1 范数
l1_norm = jnp.linalg.norm(x, ord=1)
print(l1_norm)  # 输出: 6.0
计算矩阵的 Frobenius 范数
A = jnp.array([[1, 2, 3], [4, 5, 6]])
frobenius_norm = jnp.linalg.norm(A)
print(frobenius_norm)  # 输出: 9.539392014169456
计算矩阵的列和范数
column_sum_norm = jnp.linalg.norm(A, ord=1)
print(column_sum_norm)  # 输出: 9.0
计算矩阵的行和范数
row_sum_norm = jnp.linalg.norm(A, ord=jnp.inf)
print(row_sum_norm)  # 输出: 15.0
沿指定轴计算范数

计算每列的 L2 范数:

column_l2_norms = jnp.linalg.norm(A, axis=0)
print(column_l2_norms)  # 输出: [4.1231055 5.3851647 6.708204]

计算每行的 L2 范数:

row_l2_norms = jnp.linalg.norm(A, axis=1)
print(row_l2_norms)  # 输出: [ 3.7416575  8.774964 ]

总结

jnp.linalg.norm 是一个强大且灵活的工具,用于计算向量和矩阵的各种范数。通过指定不同的 ordaxis 参数,可以计算出不同类型和不同轴上的范数。

http://www.lryc.cn/news/378744.html

相关文章:

  • 20240621在飞凌的OK3588-C开发板的Buildroot系统中集成i2ctool工具
  • ARM32开发--存储器介绍
  • Web服务器
  • 大语言模型-Transformer
  • POI:接收上传上来的excel,解析并导入到数据库
  • 网页的CSS和JavaScript文件没有自动更新, 解决办法
  • Go语言 获取服务器资源磁盘Disk情况
  • 使用上海云盾 CDN 和 CloudFlare 后 Nginx、 WordPress、 Typecho 获取访客真实 IP 方法
  • 深入探究RTOS的任务调度
  • 【shell脚本速成】函数
  • 拒绝零散碎片, 一文理清MySQL的各种锁
  • P5711 【深基3.例3】闰年判断
  • 基于Raft算法实现的分布式键值对存储系统——学习笔记
  • 秋招突击——6/17——复习{整理昨天的面试资料}——新作{删除链表倒数第n个节点}
  • 宝塔面板使用技巧(pure-FTP)上传文件和文件夹默认权限644的修改
  • mac m芯片安装win11遇坑
  • 一个自定义流程的平台
  • 舔狗日记Puls微信小程序源码
  • PyMuPDF 操作手册 - 05 PDF的OCR识别等
  • Vue与TypeScript的配合:如何在Vue项目中使用TypeScript,利用静态类型提高代码的可维护性
  • 华为仓颉语言介绍
  • 《昇思 25 天学习打卡营第 3 天 | 张量 Tensor 》
  • free命令——显示系统内存使用情况
  • 麒麟移动运行环境(KMRE)——国内首个开源的商用移固融合“Android生态兼容环境”正式开源
  • print(“{}{}“.format())
  • 2-12 基于CV模型卡尔曼滤波、CT模型卡尔曼滤波、IMM模型滤波的目标跟踪
  • 序列1bp插入有什么影响
  • CVPR 2024盛况空前,上海科技大学夺得最佳学生论文奖,惊艳全场
  • HTTP 状态码详解及使用场景
  • 【Windows】配置Flutter开发环境