Array API 标准兼容性#
NumPy 2.3.0 的主命名空间以及 numpy.fft 和 numpy.linalg 命名空间与 Python Array API 标准的 2024.12 版本兼容。
NumPy 旨在实现对该标准未来版本的支持 - 假设这些未来版本可以根据 NumPy 的 向后兼容策略进行升级。
关于下游库和希望编写同时适用于 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 安装了一个 入口点,可用于发现目的
>>> 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 检查实用程序。这些函数可以通过 __array_namespace_info__() 函数访问,该函数返回一个包含检查实用程序的命名空间。
获取 NumPy 的 Array API 检查命名空间。 |