python numpy 多维数据广播

news/2024/7/9 7:03:53

广播规则:从最右侧开始广播。

 Broadcasting — NumPy v1.25 Manual 截图

下面给出一些样例:

三维矩阵广播

a = np.array([[[0,0],
               [0,0]],
              [[0, 0],
               [0, 0]]
              ])

print('-'*10, 'a', '-'*10)
print(a.shape)
print(a)

b = np.array([[[1]],
              [[2]]])
print('-'*10, 'b', '-'*10)
print(b.shape)
print(b)

c = b - a
print('-'*10, 'a-b', '-'*10)
print(c.shape)
print(c)

运行结果: 

---------- a ----------
(2, 2, 2)
[[[0 0]
  [0 0]]
 [[0 0]
  [0 0]]]
---------- b ----------
(2, 1, 1)
[[[1]]
 [[2]]]
---------- a-b ----------
(2, 2, 2)
[[[1 1]
  [1 1]]
 [[2 2]
  [2 2]]]

三维矩阵向四维矩阵广播

a = np.array([[[[0,0],
               [0,0]],
              [[0, 0],
               [0, 0]]],
             [[[0,0],
               [0,0]],
              [[0, 0],
               [0, 0]]]
              ])

print('-'*10, 'a', '-'*10)
print(a.shape)
print(a)

b = np.array([[[1]],
              [[2]]])
print('-'*10, 'b', '-'*10)
print(b.shape)
print(b)

c = b - a
print('-'*10, 'a-b', '-'*10)
print(c.shape)
print(c)

运行结果:

---------- a ----------
(2, 2, 2, 2)
[[[[0 0]
   [0 0]]
  [[0 0]
   [0 0]]]
 [[[0 0]
   [0 0]]
  [[0 0]
   [0 0]]]]
---------- b ----------
(2, 1, 1)
[[[1]]
 [[2]]]
---------- a-b ----------
(2, 2, 2, 2)
[[[[1 1]
   [1 1]]
  [[2 2]
   [2 2]]]
 [[[1 1]
   [1 1]]
  [[2 2]
   [2 2]]]]

四维矩阵广播

a = np.array([[[[0,0],
               [0,0]],
              [[0, 0],
               [0, 0]]],
             [[[0,0],
               [0,0]],
              [[0, 0],
               [0, 0]]]
              ])

print('-'*10, 'a', '-'*10)
print(a.shape)
print(a)

b = np.array([[[[1]]],
              [[[2]]]])
print('-'*10, 'b', '-'*10)
print(b.shape)
print(b)

c = b - a
print('-'*10, 'a-b', '-'*10)
print(c.shape)
print(c)

运行结果: 

---------- a ----------
(2, 2, 2, 2)
[[[[0 0]
   [0 0]]
  [[0 0]
   [0 0]]]
 [[[0 0]
   [0 0]]
  [[0 0]
   [0 0]]]]
---------- b ----------
(2, 1, 1, 1)
[[[[1]]]
 [[[2]]]]
---------- a-b ----------
(2, 2, 2, 2)
[[[[1 1]
   [1 1]]
  [[1 1]
   [1 1]]]
 [[[2 2]
   [2 2]]
  [[2 2]
   [2 2]]]]


http://lihuaxi.xjx100.cn/news/1294691.html

相关文章

Excel表格密码去除,轻松解锁大全

【】在线Excel表格解密方法:找回Excel密码、去除密码、安全简单易操作 【】 对于使用Excel表格的用户来说,有时候会遇到表格被密码保护的情况,无法编辑或查看内容,这给工作和学习带来了一些困扰。但是,不用担心&#…

使用vue+element开发一个谷歌浏览器插件

谷歌浏览器插件-二维码生成器 使用vue2element ui开发,参考文章: https://blog.csdn.net/qq_35606400/article/details/123183420 代码地址:https://github.com/changwenxia/chrome-qr-tools 开发过程: 1.将package.json里的mai…

人脸识别损失函数总结

1、Softmax Loss 公式 特点 Softmax鼓励不同类别的特征分开,但没有对特征分离的距离进行限制 2、L-Softmax Loss 公式 特点 增加margin角度参数m,压缩类内角度范围,实现类内紧凑,增加类间决策边界间隔参数m压缩了cos函数角度…

kotlin Calendar打印每天的信息

fun printEveryDay(){val calendar Calendar.getInstance()calendar.firstDayOfWeek Calendar.MONDAY // 设置一周的第一天为周一val year calendar[Calendar.YEAR]val month calendar[Calendar.MONTH]calendar[year, month] 1 // 设置日期为月份的第一天for (day in 1..c…

项目——学生信息管理系统2

目录 用户类型,我们创建一个枚举类 在 org.xingyun.model 包下创建 UserType 枚举类 快速生成 get set 方法 修改代码,下拉框的内容,用我们的枚举类型 给登录按钮绑定事件 我们在 org.xingyun.utils 包下创建一个工具类 Eclipse 智能提…

Arduino驱动BH1750模块实现光照强度采集

Arduino驱动BH1750模块实现光照强度采集 简介特征电气参数接线程序结果 简介 BH1750FVI是一个用于I2 C总线接口的数字环境光传感器IC。该IC最适合于获取调节手机液晶显示屏和键盘背光功率的环境光数据。在高分辨率下探测大范围是可能的。(1 - 65535 lx )。BH1750FVI可以应用于…

Samba协议实现视频上传、远程播放

一、效果演示 扫码打开上传页面,上传进度可以全局筛选订单查看,上传过程中查看视频是本地视频(速度快),上传完成后再次打开是smb服务器视频(打开慢) 本文涉及demo参考下载 二、集成smbj 1、集…

2023年数字人产业发展趋势报告:好看的皮囊到有趣的灵魂

报告来源:腾讯研究院 报告看点:随着交互智能技术的加速发展,数字人正在从技术创新走向产业应用。 在腾讯2022数字生态大会腾讯云智能专场上,腾讯研究院、腾讯云智能、创业黑马经过产业研究、实地调研,共同提炼发布《数…