所以这个“问题”的背景是我正在尝试优化一个大型python项目。我开始给程序计时,注意到几乎50%的运行时间都花在了与此类似的计算上:
import numpy as np
# Example
A = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
X = np.random.multivariate_normal([0,0,0,0],np.eye(4),15000)
# Create a lambda function to use row based
F = lambda x: np.dot(A,x)
# Now calculating the value
answer = np.apply_along_axis(F, 1, X)
print answer.shape
我试着想办法让它快点,但总是撞到墙上。这真的是最佳的做法吗?你知道吗
我们可以在} 来分别丢失它们的第二个轴。要输入到
X
和A
上使用^{np.dot
,我们将使用X
作为第一个输入,并转置A
,将其第二个轴置于前面用作第二个输入。你知道吗因此,我们会得到这样的输出-
问题中列出的示例输入的运行时测试-
相关问题 更多 >
编程相关推荐