广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python的广播机制详解
  • 950
分享到

python的广播机制详解

2024-04-02 19:04:59 950人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录为什么会有广播机制在矩阵或向量相关运算中的广播机制1、一般的运算2、一个矩阵一个向量的情况3、两个向量4、矩阵乘法的广播机制总结为什么会有广播机制 python语言在设计的时候,

为什么会有广播机制

python语言在设计的时候,就就考虑到用于两个运算的矩阵向量维度不匹配的问题。例如,我们有矩阵A,让矩阵每个元素都加1,直接使用
A+1,就可以完成目的。这其中就用到了Python的广播机制,所以在很多python的第三方库中,都支持广播机制,例如Numpypytorch

在矩阵或向量相关运算中的广播机制

1、一般的运算

假设我们有一个矩阵A,一个矩阵B,它们的 + - * 运算,就是一一对应元素的操作

在这里插入图片描述

2、一个矩阵一个向量的情况

矩阵 A ∈ R 3 × 3 A\in R^{3\times 3} A∈R3×3 与向量 b ∈ R 1 × 3 b\in R^{1\times 3} b∈R1×3 的运算,向量 b ∈ R 1 × 3 b\in R^{1\times 3} b∈R1×3会根据矩阵A的维度,扩展自身的维度, [ 1 × 3 ] → [ 3 × 3 ] [1\times 3]\to[3 \times 3] [1×3]→[3×3], 第一个维度大小是1,所以就会向列的方向扩展,即复制多个行。如图所示。

在这里插入图片描述

同样,如果向量 b ∈ R 3 × 1 b\in R^{3\times 1} b∈R3×1 ,就会向行扩展,即复制多个列。

在这里插入图片描述

3、两个向量

如果两个向量的size相同,那就没话说了,运算之后也还是向量,只有在两个向量size不相同的时候才有广播。
向量 a ∈ R 3 × 1 a\in R^{3\times 1} a∈R3×1 向量 b ∈ R 1 × 3 b\in R^{1\times 3} b∈R1×3 或者向量 b ∈ R 3 b\in R^{3} b∈R3,两者的size就不一样了。向量a会向维度大小为1的方向扩张,b也是这样。
值得注意的是,我们使用numpy的时候,

# 构造一个向量 
import numpy as np
a = np.arange(10)  # (10,None)	
a是只有一个维度的。不管你是旋转还是转置,它都不会变化。要想实现广播,就要给a增加一个维度
import numpy as np
a = np.arange(10)
a = np.expand_dims(a,1)  # (10,1)
在这里插入图片描述

4、矩阵乘法的广播机制

在这里插入图片描述

总结

到此这篇关于python的广播机制详解的文章就介绍到这了,更多相关python广播机制内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python的广播机制详解

本文链接: https://www.lsjlt.com/news/161677.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python的广播机制详解
    目录为什么会有广播机制在矩阵或向量相关运算中的广播机制1、一般的运算2、一个矩阵一个向量的情况3、两个向量4、矩阵乘法的广播机制总结为什么会有广播机制 python语言在设计的时候,...
    99+
    2022-11-12
  • Pytorch中的广播机制详解(Broadcast)
    目录1. Pytorch中的广播机制2. 广播机制的理解3. 两个张量进行广播机制的条件4. 当两个张量满足可广播条件后5. 从空间上理解广播机制总结1. Pytorch中的广播机制...
    99+
    2023-01-03
    Pytorch广播机制 Pytorch Broadcast 广播机制
  • Broadcast广播机制在PytorchTensorNumpy中的使用详解
    目录1.什么是广播机制2.广播机制的规则3.代码举例4.原地操作1.什么是广播机制 根据线性代数的运算规则我们知道,矩阵运算往往都是在两个矩阵维度相同或者相匹配时才能运算。比如加减法...
    99+
    2022-11-11
  • python的广播机制是怎样的
    本篇文章为大家展示了python的广播机制是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。为什么会有广播机制python语言在设计的时候,就就考虑到用于两个运算的矩阵或向量维度不匹配的问题。例...
    99+
    2023-06-22
  • 浅谈numpy广播机制
    目录Broadcast最简单的广播机制稍微复杂的广播机制广播机制到底做了什么一个正确的经典示例一种更便捷的计算方式Broadcast 广播是numpy对不同形状(shape)的数组进...
    99+
    2023-02-15
    numpy 广播机制
  • 深入解析NumPy中的Broadcasting广播机制
    前言 在吴恩达老师的深度学习专项课程中,老师有提到NumPy中的广播机制,同时那一周的测验也有涉及到广播机制的题目。那么,到底什么是NumPy中的广播机制? 官方文档 接下来到了看官...
    99+
    2022-11-12
  • Android BroadcastReceiver广播机制概述
    Android广播机制概述 Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器)。广播作为An...
    99+
    2022-06-06
    Android
  • laravel7.0广播机制的示例分析
    小编给大家分享一下laravel7.0广播机制的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!laravel7.0广播机制(Redis + socket....
    99+
    2023-06-20
  • NumPy中的Broadcasting广播机制是什么
    这篇文章主要介绍NumPy中的Broadcasting广播机制是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!广播机制概述让我们探索numpy中一个更高级的概念,这个概念被称为广播。 广播展现了NumPy在算术运...
    99+
    2023-06-15
  • C语言广播的使用详解
    向子网中多台计算机发送消息,并且子网中所有的计算机都可以接收到发送方发送的消息,每个广播消息都包含一个特殊的IP地址,这个IP中子网内主机标志部分的二进制全部为1(也就是网络号是25...
    99+
    2022-11-13
  • Android开发之广播机制浅析
    对于了解Android程序设计的人都知道,广播是Android开发中的一个重要的功能,在Android里面有各式各样的广播,比如:电池的状态变化、信号的强弱状态、电话的接听和短...
    99+
    2022-06-06
    android开发 Android
  • Android广播机制原理与开发
    目录广播机制简介接收系统广播动态注册监听网络变化静态注册实现开机启动发送自定义广播发送标准广播发送有序广播使用本地广播使用广播实现强制下线功能广播机制简介 标准广播:完全异步执行,广...
    99+
    2023-02-23
    Android广播机制原理 Android广播机制实现过程
  • Android 广播接收器BroadcastReceiver详解
    目录一、什么是BroadcastReceiver1.1、作用1.2、实现原理二、创建广播接收器三、注册广播接收器3.1、静态注册注册发送通知3.2、动态注册四、系统广播总结一、什么是...
    99+
    2022-11-13
  • 详解Android广播Broadcast的启动流程
    Android中的广播是一种用于应用程序之间通信的机制。它允许应用程序发送和接收系统级或应用程序级的广播消息。当一个广播被发送时,系...
    99+
    2023-08-11
    Android
  • Android之 BroadcastReceiver广播接收器详解
    一 四大组件 1 Activity组件,它一个单独的窗口,程序流程都必须在Activity中运行。 2 service组件,用于在后台完成用户指定的操作。 3 content provider组件,会为所有的应用准备一个内容窗口,并且保留数...
    99+
    2023-09-22
    android
  • Spring @Transactional事务传播机制详解
    我们日常工作中极少使用事务传播级别,单纯只是使用事务和rollbackfor抛出异常来解决事务问题,但其实我们很多时候使用的是不正确的,或者说会造成事务粒度过大,本文详解一下事务传播级别,也让自己更好地处理事务问题。 1. Sprin...
    99+
    2023-08-19
    spring java 后端
  • Android 零基础到精通之广播机制
    目录广播机制简介接收系统广播1. 动态注册监听时间变化2. 静态注册实现开机启动发送自定义广播1. 发送标准广播2. 发送有序广播广播机制简介 Android 中的广播主要分为两种类...
    99+
    2022-11-12
  • Android广播接收机制详细介绍(附短信接收实现)
    Android中广播(BroadcastReceiver)的详细讲解. 1. BroadcastReceiver的注册过程: (1).广播消息发出来后,只有订阅了该广播的对象...
    99+
    2022-06-06
    android广播 Android
  • Android四大组件之广播BroadcastReceiver详解
    定义 BroadcastReceiver,“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。在Android系统中,广播体现在方方面面,例如当开机完成后系统会产...
    99+
    2022-11-12
  • Android基础知识之broadcast广播详解
    Android中的广播用的太多了,今天稍微总结一下。 按注册方式分为两种: 1.静态注册广播: 静态注册广播就是在androidManifest.xml文件中注册广播,假设...
    99+
    2022-06-06
    Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作