如何加速 numpy 中的乘法和求和运算[重复]

2023-12-02

我需要解决有限元法问题并且必须计算以下内容C from A and B与一个大M (M>1M)。例如,

import numpy as np
M=4000000
A=np.random.rand(4, M, 3)
B=np.random.rand(M,3)
C = (A * B).sum(axis = -1) # need to be optimized

任何人都可以想出一个比(A * B).sum(axis = -1)?您可以重塑或重新排列轴A, B, and C freely.


您可以使用np.einsum对于性能和内存使用方面稍微更有效的方法:

M=40000
A=np.random.rand(4, M, 3)
B=np.random.rand(M,3)
out = (A * B).sum(axis = -1) # need to be optimized

%timeit (A * B).sum(axis = -1) # need to be optimized
# 5.23 ms ± 198 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit np.einsum('ijk,jk->ij', A, B)
# 1.31 ms ± 136 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

np.allclose(out, np.einsum('ijk,jk->ij', A, B))
# True
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何加速 numpy 中的乘法和求和运算[重复] 的相关文章

  • InterfaceError:连接已关闭(使用 django + celery + Scrapy)

    当我在 Celery 任务中使用 Scrapy 解析函数 有时可能需要 10 分钟 时 我得到了这个信息 我用 姜戈 1 6 5 django celery 3 1 16 芹菜 3 1 16 psycopg2 2 5 5 我也使用了psyc
  • 如何使用包含代码的“asyncio.sleep()”进行单元测试?

    我在编写 asyncio sleep 包含的单元测试时遇到问题 我要等待实际的睡眠时间吗 I used freezegun到嘲笑时间 当我尝试使用普通可调用对象运行测试时 这个库非常有用 但我找不到运行包含 asyncio sleep 的测
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • Spark的distinct()函数是否仅对每个分区中的不同元组进行洗牌

    据我了解 distinct 哈希分区 RDD 来识别唯一键 但它是否针对仅移动每个分区的不同元组进行了优化 想象一个具有以下分区的 RDD 1 2 2 1 4 2 2 1 3 3 5 4 5 5 5 在此 RDD 上的不同键上 所有重复键
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 运行多个 scrapy 蜘蛛的正确方法

    我只是尝试使用在同一进程中运行多个蜘蛛新的 scrapy 文档 http doc scrapy org en 1 0 topics practices html但我得到 AttributeError CrawlerProcess objec
  • 使用 Pycharm 在 Windows 下启动应用程序时出现 UnicodeDecodeError

    问题是当我尝试启动应用程序 app py 时 我收到以下错误 UnicodeDecodeError utf 8 编解码器无法解码位置 5 中的字节 0xb3 起始字节无效 整个文件app py coding utf 8 from flask
  • 在pyyaml中表示具有相同基类的不同类的实例

    我有一些单元测试集 希望将每个测试运行的结果存储为 YAML 文件以供进一步分析 YAML 格式的转储数据在几个方面满足我的需求 但测试属于不同的套装 结果有不同的父类 这是我所拥有的示例 gt gt gt rz shorthand for
  • 使用 OpenPyXL 迭代工作表和单元格,并使用包含的字符串更新单元格[重复]

    这个问题在这里已经有答案了 我想使用 OpenPyXL 来搜索工作簿 但我遇到了一些问题 希望有人可以帮助解决 以下是一些障碍 待办事项 我的工作表和单元格数量未知 我想搜索工作簿并将工作表名称放入数组中 我想循环遍历每个数组项并搜索包含特
  • 表达式中的 Python 'in' 关键字与 for 循环中的比较 [重复]

    这个问题在这里已经有答案了 我明白什么是in运算符在此代码中执行的操作 some list 1 2 3 4 5 print 2 in some list 我也明白i将采用此代码中列表的每个值 for i in 1 2 3 4 5 print
  • 如何将 numpy.matrix 提高到非整数幂?

    The 运算符为numpy matrix不支持非整数幂 gt gt gt m matrix 1 0 0 5 0 5 gt gt gt m 2 5 TypeError exponent must be an integer 我想要的是 oct
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • 为美国东部以外地区的 Cloudwatch 警报发送短信?

    AWS 似乎没有为美国东部以外的 SNS 主题订阅者提供 SMS 作为协议 我想连接我的 CloudWatch 警报并在发生故障时接收短信 但无法将其发送到 SMS YES 经过一番挖掘后 我能够让它发挥作用 它比仅仅选择一个主题或输入闹钟
  • 如何在 Django 中使用并发进程记录到单个文件而不使用独占锁

    给定一个在多个服务器上同时执行的 Django 应用程序 该应用程序如何记录到单个共享日志文件 在网络共享中 而不保持该文件以独占模式永久打开 当您想要利用日志流时 这种情况适用于 Windows Azure 网站上托管的 Django 应
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording

随机推荐

  • 列出 FTP 目录及其子目录中的文件名

    我在网上搜索过 但没有找到任何结果 实际上我想获取我拥有的所有文件的名称root and Directory and Sub Directory 我尝试了如下代码 但它只给了我以下文件root我的 FTP 我在 FTP 中的文件夹如下所示
  • Nginx 连接到 Unicorn 时权限被拒绝

    我在网上尝试了很多建议 但没有任何效果 我让 unicorn 和 nginx 致力于在 CentOS 6 5 服务器上部署 ruby on Rails 应用程序 它以前有效 但现在当我尝试拉起该网站时 我收到了错误的网关错误 我正在使用的两
  • 带有“日期时间”xAxis 的 Highcharts 图表 - 在向下钻取时使用类别

    有没有办法让主系列上的 xAxis 类型具有 日期时间 但是当单击系列时 让钻取使用当时的类别 在这个 jsfiddle 示例中 http jsfiddle net kadams 3e3xqv7e 您可以看到 当使用 category 作为
  • 用于验证 Excel 单元格的正则表达式

    我正在开发一个 php 应用程序 用户必须插入 Excel 的单元格 ID 例如A1 or AB32 一个存储在数据库中供以后使用的值 我正在尝试使用正则表达式验证单元格 ID 格式 但它似乎不起作用 这就是我到目前为止所得到的 a zA
  • 以 JSON 形式传递 javascript 代码

    我正在使用 jQuery 对 PHP 脚本进行 AJAX 调用 该脚本需要返回嵌入在 JSON 结果中的 javascript 代码 以便 jQuery 代码执行 如何以 JSON 格式传递 javascript 代码 两种方式 您必须将其
  • 如何在 d3.js 中创建“facetplot”?

    假设我有一个不同运动员的数据集 他们在不同的日子执行相同的测试 每天 他们都会进行几次试验 运行 我想使用 d3 js 可视化每个运动员这些天的发展 但我很难理解如何完成这项任务 在Python中使用seaborn或在R中使用ggplot2
  • 使用 omnet++ 查找内存分配错误

    我正在 omnet 和静脉 v2 0 rc1 下进行网络模拟 为此我实验了 4 个场景 每个场景都重复 20 次 在模拟第三个和第四个场景时 我遇到了一些错误 我猜这是一个内存分配错误 它们共享一个共同的功能 ack 对于相关模拟 它正常启
  • 浏览器关闭时的 Session_End 代码

    我有一个需要在 Session end 上运行的方法 有什么方法可以确保当用户关闭浏览器时代码运行 这可能是一个重复的问题 我看到一个响应调用了 ajax unload 或其他东西 但我不希望每次用户离开页面时 就在他们关闭浏览器时 都会触
  • 存储连接实例 -twisted.web

    如何在twisted web 中存储连接实例 我见过 request getSession 但我搜索了一下 很少有关于如何存储和检索它的示例 Thanks Update 我想将 LDAP 连接存储在会话中以便稍后检索 def render
  • PHP SoapClient 删除带有名称的元素

    我有一个 WSDL 其中有一个需要属性的元素
  • 对 Android 应用程序添加到的项目以外的项目进行 Firebase 身份验证

    我有一个非常具体的设置 其中我们有一个项目正在处理我们的身份验证 但另一个项目实际上将实际的 Android iOS 应用程序添加到项目中 当我们的自定义后端使用 auth 时 这很好 但是当我们尝试使用我们自己的提供程序时 我们会收到错误
  • XAMPP 缺少 php_eaccelerator_ts.dll

    在 php ini 中有这一行zend extension C xampp php ext php eaccelerator ts dll 并遵循本指南Win7 上的 XAMPP 太慢它说取消注释该行会使 XAMPP 更快 但如果该文件甚至
  • Google API 拒绝请求:具有引用限制的 API 密钥不能与此 API 一起使用

    我通过 Outsystems 平台进行 Google Map API REST 调用 但是 如果我在 Google 控制台中指定引荐来源网址 我的访问会被拒绝 但它是没有引荐来源网址的工作文件 为什么在使用 API 时在我的 Google
  • 从右到左工具提示文本c#

    使用 WinForms 我有一个想要设置到工具提示中的字符串 该字符串由以下行分隔Environment NewLine 像这样 x ToolTipText aaaaaa Environment NewLine bbb 当这个字符串设置为工
  • catch异常处理

    使用有什么区别 catch Exception ex throw ex 并使用 catch might include Exception throw throw ex从该点重新抛出异常对象 这通常是不好的 因为它破坏了导致原始问题的有用的
  • 通过将列表转换为集合然后再转换回列表来对列表进行排序的时间复杂度

    我最近看了Raymond Hettingers 谈论 Python 字典 并通过扩展集 他提到整数会散列到自身 并且将整数添加到字典 或集 将按顺序插入它们 只要您不删除项目 顺序就会是保存在 python 3 6 中 可能还有更高版本 在
  • 在ggplot2中格式化离散比例的位置

    我正在尝试在 GGPlot2 中创建格式良好的 2 状态凹凸图 在下图中 我想减小 y 轴和第一个因子值 旧 之间的 空白 的大小 并增加第二个值 新 右侧的空间大小 在真实数据中 我的文本是完整的句子 因此当前仅显示第一部分 My cod
  • MapOverlay 就像 PopUp 一样

    friends I want draw MapOverlay like as PopUp Menu same as in this image How I can do this 您可以使用或参考我为此目的创建的 MapViewBalloo
  • 将事件处理程序附加到谷歌地图信息气泡内的元素

    我有一个关于谷歌地图和事件处理 监听的问题 使用 jQuery 和谷歌地图 v3 我能够放置一个地图标记和一个事件侦听器 当用户单击该标记时 该事件侦听器会打开一个信息气泡 我想做的 但到目前为止还无法弄清楚 是将另一个事件处理程序添加到信
  • 如何加速 numpy 中的乘法和求和运算[重复]

    这个问题在这里已经有答案了 我需要解决有限元法问题并且必须计算以下内容C from A and B与一个大M M gt 1M 例如 import numpy as np M 4000000 A np random rand 4 M 3 B