gpt4 book ai didi

numpy - 仅沿一个轴进行卷积

转载 作者:行者123 更新时间:2023-12-03 21:26:35 24 4
gpt4 key购买 nike

我有两个具有相同第一轴尺寸的二维数组。在python中,我只想沿第二个轴对两个矩阵进行卷积。我想在不计算沿第一轴的卷积的情况下获得C

import numpy as np
import scipy.signal as sg

M, N, P = 4, 10, 20
A = np.random.randn(M, N)
B = np.random.randn(M, P)

C = sg.convolve(A, B, 'full')[(2*M-1)/2]

有没有快速的方法?

最佳答案

您可以使用np.apply_along_axis沿所需的轴应用np.convolve。这是将Boxcar滤镜应用于2d数组的示例:

import numpy as np

a = np.arange(10)
a = np.vstack((a,a)).T

filt = np.ones(3)

np.apply_along_axis(lambda m: np.convolve(m, filt, mode='full'), axis=0, arr=a)

这是概括许多没有 axis参数的函数的简便方法。

关于numpy - 仅沿一个轴进行卷积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5228718/

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