有时,作者使用np.log2而不是math.log2。例如,在此PyTorch代码中:
np.log2
math.log2
num_pools = int(np.log2(spatial))
字符串(其中spatial是Python数字)因为math.log2是一个内置的电池,我看不出有什么理由调用np.log2代替-它可能是遵循惯例,或者因为np.log2被认为是更快?
spatial
eqfvzcg81#
如果我们有numpy数组,那么应该使用np.log2,因为它可以在数组上工作,而math.log2不能。如果我们有标量,math.log2更快,因此更受欢迎。至于为什么人们使用np.log2作为标量,我只能推测。这很可能是因为他们已经导入了它,并且不关心使用math.log2获得的微小速度提升。
1条答案
按热度按时间eqfvzcg81#
如果我们有numpy数组,那么应该使用
np.log2
,因为它可以在数组上工作,而math.log2
不能。如果我们有标量,math.log2
更快,因此更受欢迎。至于为什么人们使用np.log2
作为标量,我只能推测。这很可能是因为他们已经导入了它,并且不关心使用math.log2
获得的微小速度提升。