5

Matlab での畳み込みは、Numpy での畳み込みの 2 倍の速さのようです。

Python コード (私のマシンでは 19 秒かかります):

import numpy as np
from scipy import ndimage
import time

img = np.ones((512,512,512))
kernel = np.ones((5,5,5))/125

start_time = time.time()
ndimage.convolve(img,kernel,mode='constant')
print "Numpy execution took ", (time.time() - start_time), "seconds"

Matlab コード (私のマシンでは 8.7 秒かかります):

img = ones(512,512,512);
kernel = ones(5,5,5) / 125;
tic
convn(img, kernel, 'same');
toc

2 つの結果は同じです。

Numpy を改善して Matlab のパフォーマンスに匹敵する、または上回る方法はありますか?

興味深いことに、ランタイムにおけるこの係数または ~2 の差は、多くの入力サイズで一貫しています。

4

2 に答える 2