sách gpt4 ai đã đi

Matlab - tích chập 1D song song/hàng loạt

In lại 作者:太空宇宙 更新时间:2023-11-03 20:23:06 31 4
mua khóa gpt4 Nike

我有以下代码,基本上是在二维矩阵的每一行上进行一维卷积。卷积核是一样的。所以真的是 SIMD 案例。

a = [ 1,2,3,4,5;
6,7,8,9,7;
7,6,2,3,4;
23, 54, 1, 3 ,7];

f = [1,2,3];


for n = 1:size(a,1)
conv(a(n,:),f,'same')
kết thúc

当矩阵大小(和内核大小)变大时,速度确实成为一个问题。我想知道是否有任何方法可以批量处理(并行化此过程)?

我做了类似的事情,但结果与上面的代码不同:

a = [ 1,2,3,4,5;
6,7,8,9,7;
7,6,2,3,4;
23, 54, 1, 3 ,7];

f = [1,2,3];

ff = repmat(f, [size(a,1) 1]);

for n = 1:size(a,1)
conv(a(n,:),f,'same')
kết thúc

convn(a,ff,'same')

conv2(f,2,a,'same')

请指教。谢谢。

附言:我目前只寻求使用卷积的解决方案,而不是使用等效的 fft。

1 Câu trả lời

您需要使用二维卷积:

conv2(1, f, a, 'same')

hoặc

conv2(a, f, 'same')

在第一种方法中,第一个参数是1,因为它是一个列式卷积,根据你所说的,你只想做行卷积,这是使用第二个参数,f.

Từ conv2 的 Matlab 文档:

C = conv2(H1, H2, A) first convolves each column of A with the vector H1 and then convolves each row of the result with the vector H2.

沿列卷积标量 1 是恒等运算,允许 f 向量沿原始矩阵行进行卷积,这是期望的结果。

对于上面的第二种方法,这是两个输入矩阵的直接二维卷积,因此如果您注意理解输入维度和参数顺序,这实际上会执行更快的操作。

关于matlab - 批量/并行进行一维卷积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51950709/

31 4 0
Bài viết được đề xuất: javascript - 查找具有特定 css 类的元素
Bài viết được đề xuất: Python套接字连接错误: OSError: [Errno 9] Bad file descriptor
Bài viết được đề xuất: c# - Linq解析html字符串
Bài viết được đề xuất: python - 如何对数据框应用多个过滤器?
太空宇宙
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com