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