非常有趣,我很想知道它是如何实现的,所以我这样做了:
>>> import inspect>>> import numpy as np>>> inspect.getmodule(np.dot)<module 'numpy.core._dotblas' from '/Library/Python/2.6/site-packages/numpy-1.6.1-py2.6-macosx-10.6-universal.egg/numpy/core/_dotblas.so'>>>>
因此,看起来像使用
BLAS库。
所以:
>>> help(np.core._dotblas)
从中我发现了这一点:
当Numpy用ATLAS之类的加速BLAS构建时,将替换这些功能以利用更快的实现。更快的实现仅影响float32,float64,complex64和complex128数组。此外,BLAS
API仅包括矩阵矩阵,矩阵向量和向量向量乘积。具有较大维数的数组的产品使用内置函数,并且不会加速。
因此,看起来ATLAS可以微调某些功能,但它仅适用于某些数据类型,非常有趣。
所以是的,我看起来我会更经常使用浮子…
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)