gpt4 book ai didi

arrays - 二维阵列沿单轴的卷积

转载 作者:行者123 更新时间:2023-12-05 07:31:23 26 4
gpt4 key购买 nike

假设我有不同行数的独立二维数组:

数组一:

1 2 3
4 5 6
7 8 9

数组二:

10 11 12
13 14 15

我想将这两个数组沿零轴一起执行卷积,输出大小与数组 1 相同,类似于使用 mode='same' 时 scipy 的卷积方法的输出。

所以两个数组的第 1 列被卷绕在一起,等等,两个数组的第 2 列被卷绕在一起,等等。我想以一种在计算上对更大的数组(超过 100,000 行)可行的方式来做到这一点,所以我想尽可能避免使用 for 循环。 numpy/scipy 或任何其他库是否有执行此操作的任何方法?

期望的输出应该是这样的:

10 22 36
53 83 117
122 158 198

与第一个输入数组具有相同的形状。每一列都是数组1和数组2对应列卷积得到的输出。

最佳答案

np.convolve 的实现只需调用 np.core.multiarray.correlate(因为卷积与翻转一个向量后计算相关性相同)。似乎很多人都想要一种计算沿特定轴的相关性的 Numpy 方法,但它不存在(还):

Apply numpy's correlation to specific axis (autocorrelation)

Compact way of simulating 'axes' parameter in scipy.signal.fftconvolve?

但是,您可以使用循环并查看 scipy.signal.fftconvolve 是否为您的问题提供足够的加速。

关于arrays - 二维阵列沿单轴的卷积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51823806/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com