我有两个大的numpy矩阵,X
和{digamma(X+r)
和digamma(r)
,我用scipy.special.psi
来计算。计算发生在梯度函数中,我用它来拟合梯度下降。在优化过程中,梯度函数会被调用很多次,所以它必须运行得很快。现在,对于实际问题:
digamma(r)
运行需要~11秒digamma(X+r)
运行大约需要50秒出于好奇,我又举了几个例子:
digamma(X.astype(np.float64))
,运行约1分钟digamma(X)
,运行约5-6分钟为什么会发生这种情况,我可以做些什么来改进运行时?
X
包含从0到164的整数(numpy.int64
)。在r
包含0中的浮点数(numpy.float64
)。至~4.6。在编辑:已更正X.as_float
目前没有回答
相关问题 更多 >
编程相关推荐