![]() |
1
10
scipy中用于进行二维卷积的代码有点混乱,而且没有优化。参见 http://svn.scipy.org/svn/scipy/trunk/scipy/signal/firfilter.c 如果你想了解一下坐骨神经痛的低水平功能。 如果您只想使用一个小的、不变的内核(如您所示),这样的函数可能会工作:
该函数利用了上述类似darenw的内核的可分离性,并利用了更优化的numpy算法例程。根据我的测量,它比卷积2d函数快1000多倍。 |
![]() |
2
2
对于特定的示例3x3内核,我将观察到
其中第一个是可分解的——它可以通过对每行进行(1 1 1)卷积,然后再对每列进行卷积来实现。然后减去原始数据的9倍。这可能会更快,也可能不会更快,这取决于那些神经质的程序员是否足够聪明地自动地做到了这一点。(我有一段时间没有登记。) 您可能想做更有趣的卷积,其中因子分解可能是可能的,也可能是不可能的。 |
![]() |
3
1
在用ctypes说c之前,我建议在c中运行一个独立的卷积函数,看看限制在哪里。
增加了7feb:将33个8位数据与剪裁进行卷积,每个点需要大约20个时钟周期, 在带有GCC 4.2的Mac G4 PCC上,每个MEM访问2个时钟周期。你的里程数 将 各不相同。 一些微妙之处:
顺便说一下,谷歌 theano 卷积=& “一个卷积运算应该模仿scipy.signal.卷积2d,但速度更快!发展中的“ |
![]() |
4
0
卷积的一个典型优化是使用信号的FFT。其原因是:实空间的卷积是FFT空间的积。与通常的卷积方法相比,计算结果的fft、积和ifft通常更快。 |
![]() |
5
0
截至2018年,似乎scipy/numpy组合已经加速了很多。这是我在笔记本电脑上看到的(Dell Inspiron 13,i5)。 opencv做的最好,但你没有任何控制模式。
|
![]() |
Pierre Baret · 优化的图像卷积算法 7 年前 |
![]() |
sujay · 为什么卷积神经网络核大小通常被选为平方矩阵 7 年前 |
![]() |
Sakhri Houssem · 我们如何计算卷积输出的深度? 7 年前 |
![]() |
Yes92 · 卷积后的LSTM单元 7 年前 |
![]() |
Devin Haslam · 张量流中不同步长的级联卷积 7 年前 |