news 2026/4/18 7:23:25

numpy知识整理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
numpy知识整理

numpy知识整理

一、矩阵乘法:矩阵 × 矩阵、矩阵 × 向量

矩阵乘法是线性代数中最核心的运算之一,在 NumPy 中需要严格区分数学矩阵乘法(点积)和逐元素乘法,二者的使用场景和规则完全不同。

示例:矩阵 X 矩阵

importnumpyasnp A=np.array([[1,2,3],[4,5,6]])# shape: (2, 3)B=np.array([[7,8],[9,10],[11,12]])# shape: (3, 2)C1=A @ B C2=np.dot(A,B)C3=np.matmul(A,B)print("矩阵乘法结果:\n",C1)

示例:矩阵 X 向量

# 定义矩阵 A(2,3) 和向量 v(3,)A=np.array([[1,2,3],[4,5,6]])v=np.array([1,2,3])# shape: (3,)res=A @ vprint("矩阵×向量结果:",res)# 输出: [14 32]
二、矩阵加法

矩阵加法是元素级运算,规则非常简单:

  • 两个矩阵的形状必须完全相同(行数、列数都一致),对应位置的元素相加;
  • 若形状不同,需满足广播规则(后文详细说明),否则会报错;
  • 符号:+运算符 /np.add()

示例:

importnumpyasnp A=np.array([[1,2],[3,4]])B=np.array([[5,6],[7,8]])# 矩阵加法C=A+B# 等价于 C = np.add(A, B)print("矩阵加法结果:\n",C)
三、求转置矩阵

矩阵的转置是将矩阵的行与列互换,即原矩阵A的第i行第j列元素,变为转置矩阵A^T的第j行第i列元素。

核心方法

  • 属性:A.T(最常用,简洁高效)
  • 方法:np.transpose(A)/A.transpose()(支持高维数组轴指定)

示例:

importnumpyasnp A=np.array([[1,2,3],[4,5,6]])# shape: (2, 3)print("原矩阵:\n",A)A_T1=A.T A_T2=np.transpose(A)print("转置矩阵:\n",A_T1)print("转置后形状:",A_T1.shape)# 输出: (3, 2)
四、什么是矩阵的 Broadcasting(广播)

广播是 NumPy 中最强大的特性之一,它允许形状不同的数组进行元素级运算(如+-*/),而无需手动复制数组,极大提升了代码的简洁性和运行效率。

1. 广播的核心规则

广播遵循从后往前匹配维度的原则,满足以下条件即可广播:

  1. 两个数组的维度数不同时,在维度数少的数组前面补1,直到维度数一致;
  2. 对应维度的大小相等,或其中一个为 1;
  3. 若对应维度大小既不相等,也不为 1,则广播失败,抛出ValueError
2. 广播的直观理解

广播的本质是:将维度为 1 的轴,复制扩展到与另一个数组对应轴相同的大小,再进行元素级运算。

注意:NumPy 不会真的复制数据,而是通过逻辑上的扩展实现运算,内存效率极高。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 7:22:37

避坑指南:STM32F103C8T6标准库移植机智云函数时,那些没人告诉你的细节(附完整工程)

STM32F103C8T6标准库移植机智云SDK的12个致命陷阱与解决方案 第一次尝试将机智云SDK移植到STM32F103C8T6标准库环境时,我遇到了至少5个导致系统崩溃的隐蔽问题。这些问题在官方文档中只字未提,却能让整个项目停滞数周。本文将揭示那些只有真正踩过坑的开…

作者头像 李华
网站建设 2026/4/18 7:20:12

std::promise和std::future的用法

1、std::promise和std::future注意用来在线程间传递数据&#xff08;不用手工同步来传递数据&#xff09;。2、在之前通过传递引用来传递数据&#xff0c;也能达到上述效果&#xff0c;但是需要手动同步&#xff0c;否则获取到不可预测的结果。#include <iostream> #incl…

作者头像 李华
网站建设 2026/4/18 7:15:46

vLLM-v0.17.1实战教程:多LoRA动态切换支持个性化Agent服务

vLLM-v0.17.1实战教程&#xff1a;多LoRA动态切换支持个性化Agent服务 1. vLLM框架简介 vLLM是一个专为大型语言模型(LLM)设计的高性能推理和服务库&#xff0c;以其出色的吞吐量和易用性著称。这个项目最初由加州大学伯克利分校的天空计算实验室开发&#xff0c;现在已经发展…

作者头像 李华
网站建设 2026/4/18 7:13:33

手把手教你用Wan2.2-T2V-A5B:从文字到视频,5步搞定完整流程

手把手教你用Wan2.2-T2V-A5B&#xff1a;从文字到视频&#xff0c;5步搞定完整流程 1. 认识Wan2.2-T2V-A5B视频生成模型 Wan2.2-T2V-A5B是一款由通义万相开源的轻量级文本到视频生成模型&#xff0c;拥有50亿参数规模。虽然参数不算大&#xff0c;但它在速度和资源占用上表现…

作者头像 李华
网站建设 2026/4/18 7:11:28

从零构建基于Prometheus的DELL服务器硬件健康监控体系

1. 为什么需要DELL服务器硬件健康监控 作为运维工程师&#xff0c;我经历过太多次半夜被叫醒处理服务器硬件故障的情况。有一次凌晨3点&#xff0c;机房一台DELL R740的RAID卡突然故障&#xff0c;导致整个业务系统瘫痪。更糟的是&#xff0c;由于缺乏有效的硬件监控&#xff0…

作者头像 李华