Array API 标准兼容性#
NumPy 2.3.0 的主命名空间以及中国人 numpy.fft 和 numpy.linalg 命名空间与 Python array API 标准的 2024.12 version 兼容.
NumPy 旨在实现对该标准未来版本的支持 - 假设这些未来版本可以根据 NumPy 的 backwards compatibility policy 进行升级.
对于希望编写可与 NumPy 和其他数组库一起使用的代码的下游库和最终用户,我们建议参考 array API 标准本身的文档以及 SciPy 和 scikit-learn 中以代码和开发者为中心的文档.
请注意,为了将标准兼容的代码与旧版本的 NumPy (< 2.0) 一起使用, array-api-compat 包可能有用. 为了测试使用 NumPy 的代码是否仅使用标准兼容的特性,而不是任何 NumPy 特定的特性,可以使用 array-api-strict 包.
历史
NumPy 1.22.0 是第一个通过单独的 numpy.array_api 子模块包含对 array API 标准支持的版本. 此模块被标记为实验性的(它在导入时发出警告),并在 NumPy 2.0 中删除,因为主命名空间中包含了完整支持(2022.12 版本 [1] ). NEP 47 和 NEP 56 描述了在 NumPy 中实现 array API 标准的动机和范围.
入口点#
NumPy 安装一个 entry point ,可用于发现:
>>> from importlib.metadata import entry_points
>>> entry_points(group='array_api', name='numpy')
[EntryPoint(name='numpy', value='numpy', group='array_api')]
请注意,省略 name='numpy' 将导致返回所有安装了入口点的 array API 标准兼容实现的一系列入口点.
脚注
检查#
NumPy 实现了 array API inspection utilities . 这些函数可以通过 __array_namespace_info__() 函数访问,该函数返回一个包含检查实用程序的命名空间.
获取 NumPy 的 array API 检查命名空间. |