12_基本运算和广播机制

发布时间:2026/10/1 10:12:20

12_基本运算和广播机制 数组的基本运算大小相等的数组之间的任何算术运算都会将运算应用到元素级对应位置元素直接运算 - * /广播机制广播兼容规则两个维度相等或者其中一个是 1就能广播。第一步自动补齐维度左边补 1第二步广播自动扩展成一样大第三步逐元素相加importnumpyasnp# 2.8 基本运算defbaseOperationFun():# numpy中的数组不用编写循环即可执行批量运算称之为矢量化运算。# 叠加运算即可大小相等的数组之间的任何算术运算都会将运算应用到元素级。arr1np.array([[1,2,3],[4,5,6]])arr2np.array([[7,8,9],[10,11,12]])print(arr1arr2)print(arr1-arr2)print(arr1*arr2)print(arr1/arr2)print()defbaseOperationByCoefficient():#数组与标量的算术运算会将标量值传播到各个元素不同大小的数组之间的运算叫做广播。# 类似看作矩阵变为一排人人有份arr1np.array([[1,2,3],[4,5,6]])print(arr1100)print(arr1-100)print(arr1*100)print(arr1/100)# 广播机制是 NumPy 中一个允许在不同形状的数组之间进行元素级运算defbroadcastFun():arr1np.array([1,2,3])arr2np.array([[4],[5],[6]])print(arr1.shape)# (3,)一根竹签上串了3颗糖没有行和列的概念就是一条线print(arr2.shape)# 3行1列二维print(arr1arr2) 广播兼容规则两个维度相等或者其中一个是 1就能广播。 3 和 1 → 1 能扩成 3 ✓1 和 3 → 1 能扩成 3 ✓ 上述运算步骤细分拆解 第一步自动补齐维度左边补 1 arr1 (3,) → 补齐成 (1, 3) arr2 (3,1) → 保持 (3, 1) 第二步广播自动扩展成一样大 arr1 从 (1,3) 扩展成 (3,3) 沿着行复制 3 次 [1,2,3] [1,2,3] [1,2,3] arr2 从 (3,1) 扩展成 (3,3) 沿着列复制 3 次 [4,4,4] [5,5,5] [6,6,6] arr1 (1,3) → 纵向复制 3 次 → (3,3) arr2 (3,1) → 横向复制 3 次 → (3,3) ┌───┬───┬───┐ ┌───┬───┬───┐ │ 1 │ 2 │ 3 │ ← 原数据 │ 4 │ 4 │ 4 │ ← 4 横向拷贝 3 份 ├───┼───┼───┤ ← 复制第1行 ├───┼───┼───┤ │ 1 │ 2 │ 3 │ ← 复制第2行 │ 5 │ 5 │ 5 │ ← 5 横向拷贝 3 份 ├───┼───┼───┤ ← 复制第3行 ├───┼───┼───┤ │ 1 │ 2 │ 3 │ │ 6 │ 6 │ 6 │ ← 6 横向拷贝 3 份 └───┴───┴───┘ └───┴───┴───┘ 第三步逐元素相加 [1,2,3] [4,4,4] [5,6,7] [1,2,3] [5,5,5] [6,7,8] [1,2,3] [6,6,6] [7,8,9] 最终结果 [[5 6 7] [6 7 8] [7 8 9]] 总结 (3,) → 横向扩展复制行 (3,1) → 纵向扩展复制列 最后变成同样大小的矩阵再逐元素相加 广播兼容规则两个维度相等或者其中一个是 1就能广播。 3 和 1 → 1 能扩成 3 ✓ 1 和 3 → 1 能扩成 3 ✓ 从右往左比 第0维(最右): 3 vs 1 → 1 可以扩展到 3 ✓ 第1维: 1 vs 3 → 1 可以扩展到 3 ✓ defbroadcastFunError():# 一维数组arr5np.array([1,2,3])# 形状为 (3,)# 一维数组arr6np.array([4,5])# 形状为 (2,)try:resultarr5arr6print(result)exceptExceptionase:print(f错误信息(3,) 和 (2,) 完全不兼容不能运算: \n{e}) arr5 维度: (3,) → (3,) arr6 维度: (2,) → (2,) 从右往左比第0维: 3 vs 2 → 3 ≠ 2而且谁也不是 1 ✗/(ㄒoㄒ)/~~ 可以想象成要把两个矩阵拉伸成一样尺寸才能对应位置相加 [1,2,3] 是 3 个位置 [4,5] 只有 2 个位置 数量对不上没法一一配对计算程序不知道第 3 个数字拿谁去加所以报错。 if__name____main__:baseOperationFun()# baseOperationByCoefficient()# broadcastFun()# broadcastFunError()
延伸阅读

更多相关文章

2026/9/27 21:04:34

Harness Engineering 到底在做什么:从概念到代码实战

1. 引言:Harness Engineering 是什么 Harness Engineering(工程化编排)是近年来在 AI Agent、自动化流水线和复杂系统集成领域快速兴起的一类工程实践。它的核心目标,是把多个松散的组件——模型、工具、数据源、人工审批、外部服…

2026/9/27 16:49:23

UAssetGUI:专业级虚幻引擎资产离线编辑解决方案

UAssetGUI:专业级虚幻引擎资产离线编辑解决方案 【免费下载链接】UAssetGUI A tool designed for low-level examination and modification of Unreal Engine game assets by hand. 项目地址: https://gitcode.com/gh_mirrors/ua/UAssetGUI 虚幻引擎资产编辑…

2026/9/27 17:41:47

2026高中生英语词汇学习APP测评:天学网等4款产品实测对比

【摘要】本文基于第三方教育科技研究机构2026年Q1实测数据,从课标适配度、记忆效率与合规性三个维度,深度测评天学网学生端、百词斩、网易有道词典、墨墨背单词4款产品,并针对不同学习场景给出选购建议,帮助高中生和家长高效选择适…

2026/10/2 0:58:00

MCP协议、服务与Tool三层解析:从WebSocket通信到AI工具链集成

1. 别再被“MCP”三个字母绕晕了:先撕开它身上的三层面纱你是不是也这样?刷技术群、看文档、查报错日志,冷不丁就撞上“MCP”——在 Playwright 的 GitHub Issue 里看到playwright mcp;在 Burp Suite 插件说明里读到“需对接 MCP …

2026/10/2 0:58:00

基于LLM的AI智能体Office套件:架构设计与工程化实践

1. 为什么传统Office套件需要一个"智能体层"1.1 从"人找功能"到"功能找人"的转变任何人如果每天要花两三个小时在Word、Excel、PPT、邮件和日历之间来回切换,都会产生一个念头:能不能让这些工具主动替我把活干了&#xff…

2026/10/2 0:58:00

AI网关与RAG融合实践:用MAI Gateway统一模型调用

MAI Gateway 落地实践:把 AI 网关用在 RAG 场景里,到底是不是叠床架屋?这是我们立项时被产品和技术两头追问最多的一句话。当时团队要做的是一个面向企业内部资料的知识库问答系统,RAG 方案自然成了首选;但在模型调用层…

2026/10/2 0:53:00

ESP32双模网关实战:从硬件选型到App控制完整链路

看到不少人在智能家居上折腾,最头疼的就是“协议不统一”和“平台锁定”这两个问题。用树莓派当网关,性能和价格都过了头,还费电;用STM32自己做,WiFi模块和蓝牙模块电路复杂化,调起来特别折磨人。ESP32几乎…

2026/10/2 0:53:00

PMSM矢量控制实战:Simulink建模、参数精调与实物调试全路径

1. 这不是教科书里的“矢量控制”,而是我调通PMSM电机真实转速的全过程永磁同步电机、PMSM、矢量控制、Simulink——这四个词凑在一起,不是论文标题,也不是课程作业编号,而是我在新能源电控实验室连续熬了17个通宵后,终…

2026/10/1 5:21:14

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/10/1 17:09:46

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 10:48:55

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/2 0:02:57

PWN入门:从栈溢出原理到ROP链实战

1. 这不是“学PWN”,是重新理解你每天敲的每一行C代码我第一次在CTF赛场上写出能控制程序流的exp时,手抖得连gdb的c命令都输错三次。那道题只有23行C代码,一个gets()调用,一个printf(),一个return——它甚至没开NX&…

2026/10/2 0:02:57

Windows下cudaMallocHost显存占用之谜:WDDM与TCC模式差异及优化方案

1. 一个反直觉的显存占用现象第一次在 Windows 上看到cudaMallocHost把显存吃掉的时候,我的反应是打开任务管理器反复确认了三遍。明明调用的是主机端锁页内存分配,按 CUDA 文档的说法,这块内存应该落在系统 RAM 里,跟 GPU 的显存…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑