Array 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 檢測命名空間。 |