I have some code that uses the following einsum
:
y = np.einsum('wxyijk,ijkd->wxyd', x, f)
其中(例如)x的形状为(64、26、26、3、3、3),f的形状为(3、3、3、1),都具有dtype = float
In [1]: %timeit np.einsum('wxyijk,ijkd->wxyd', x, f)
2.01 ms ± 55.6 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
对于我的应用程序来说,这太慢了,这非常关键。既不使用GPU(通过CuPy),也不使用路径加速(通过opt-einsum)使速度更快。有什么方法可以使它在NumPy中本机更快,还是仅此而已?