科學運算函式庫 NumPy 2.0.0 發布

更新於 2024/07/01閱讀時間約 4 分鐘

NumPy 是 Python 語言的一個擴充程式庫,支援高階大規模的多維陣列與矩陣運算的數學函式函式庫。

NumPy 2.0.0 是自 2006 年以來的第一個主要發行版本,此重要版本標誌著 NumPy 發展歷程中的一項重要里程碑,為使用者提供了豐富的增強功能和改進,並為未來的功能開發奠定了基礎。

更新要點

  • 新功能
    • 新的變長字串資料類型 StringDType,以及新的 numpy.strings 命名空間,其中包含用於字串運算的高效能 ufunc,
    • 在所有 numpy.fft 函數中支援 float32 和 longdouble,
    • 在主要 numpy 命名空間中支援陣列 API 標準。
  • 效能改善
    • 排序函數(sort、argsort、partition、argpartition)已透過使用 Intel x86-simd-sort 和 Google Highway 函式庫加速,並可能大幅提升速度(特定於硬體),
    • 支援 macOS 加速和 macOS >=14 的二進制輪,大幅提升 macOS 上線性代數運算的效能,且輪的體積縮小約 3 倍,
    • numpy.char 定長字串操作已透過實作 ufunc 加速,ufunc 除了支援定長字串資料型態外,也支援 StringDType。
    • 新的追蹤和內省 API,opt_func_info,用於判斷有哪些硬體特定核心可用,以及將派送至何處。
  • Python API 改進
    • 公開 API 和私人 API 之間的明確區分,採用新的 模組結構,每個公開函式現在都可以在單一位置取得。
    • 移除許多不建議使用的函式和別名。這應讓學習和使用 NumPy 變得更容易。主命名空間中的物件數量減少約 10%,numpy.lib 中減少約 80%。
    • 正規資料型態名稱 和新的 isdtype 內省函式。
  • C API 改進
    • 新的 用於建立自訂資料型態的公開 C API。
    • 移除許多過時的函式和巨集,並隱藏私人內部結構,以簡化未來的可擴充性。
    • 新的、更容易使用的初始化函式:PyArray_ImportNumPyAPI 和 PyUFunc_ImportUFuncAPI。
  • 行為改善
    • 透過採用 NEP 50,改善類型提升行為。這修正了許多使用者的驚訝,這些驚訝以前經常取決於輸入陣列的資料值,而不僅取決於它們的資料型態。請參閱 NEP 和 NumPy 2.0 遷移指南,以了解詳細資訊,因為此變更可能會導致輸出資料型態變更,以及混合資料型態操作的精度降低。
    • Windows 上的預設整數類型現在是 int64,而非 int32,這與其他平台上的行為相符。
    • 陣列維度的最大數量已從 32 變更為 64
  • 文件
    • 參考指南導覽已大幅改善,現在有 NumPy 模組結構 的文件。
    • 從原始碼建置 文件已完全改寫。

此外,NumPy 內部有許多變更,包括持續將程式碼從 C 遷移至 C++,這將讓 NumPy 在未來更容易改善和維護。

「沒有免費的午餐」定理規定,所有這些 API 和行為改善以及更好的未來可擴充性都需要付出代價。這個代價是

  1. 向後相容性。Python 和 C API 有許多重大變更。在大部分情況下,會有明確的錯誤訊息,告知使用者如何調整他們的程式碼。然而,也有行為變更無法提供此類錯誤訊息 - 這些情況都包含在下列的「不建議使用」和「相容性」區段,以及 NumPy 2.0 遷移指南 中。 請注意,有一個ruff模式可以自動修正 Python 程式碼中的許多問題。
  2. NumPy ABI 的重大變更。因此,使用 NumPy C API 並針對 NumPy 1.xx 版本建置的套件二進位檔將無法與 NumPy 2.0 搭配使用。匯入時,此類套件會看到ImportError,並附有關於二進位檔不相容性的訊息。 可以針對 NumPy 2.0 建置二進位檔,這些二進位檔可以在執行時與 NumPy 2.0 和 1.x 搭配使用。請參閱NumPy 2.0 專屬建議以取得更多詳細資訊。 建議所有依賴 NumPy ABI 的下游套件針對 NumPy 2.0 進行新的版本建置,並驗證該版本可以與 2.0 和 1.26 搭配使用,理想情況是在 2.0.0rc1(ABI 將保持穩定)和最終的 2.0.0 版本之間,以避免使用者的問題。

此版本支援的 Python 版本為 3.9-3.12。

NumPy 2.0 文件

https://chihyuanyip.github.io/2024/07/01/numpy-2-0-0-released.html

留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Chih-Yuan Yip的沙龍 的其他內容
Selenium 是一個範圍廣泛的工具和函式庫的總稱專案,用於啟用和支援網頁瀏覽器的自動化。Selenium WebDriver 提供了 C#、JavaScript、Java、Python、Ruby 等多種語言的 API,可以用於編寫自動化測試軟體。 在定位元素時,WebDriver 提供對這 8
JavaScript (簡稱 JS) 是具有一級函數的輕量級、直譯式或即時編譯的程式語言。它因為用作網頁的腳本語言而大為知名,但也用於許多非瀏覽器的環境,像是 Node.js 等。由於 JavaScript 語法上的一些缺點,軟體工程師們又設計出了 CoffeeScript、TypeScript 和
Ruby on Rails 是一個使用 Ruby 語言編寫的開源 Web 應用程式框架。 PostgreSQL 是一個強大、開源的物件關聯式資料庫系統,擁有超過 35 年的活躍開發歷程,並以其可靠性、功能強大性和效能而享有盛譽。 PostgreSQL 提供許多特定資料類型,以下是 Rails 支
什麼是 CSS 預處理器 CSS 預處理器是一種工具,使用專門的語法來生成 CSS 樣式表。市面上有許多 CSS 預處理器可供選擇,它們通常會提供一些純 CSS 中沒有的功能,例如變數、混入、巢狀選擇器等。這些功能可以使 CSS 結構更易讀、更易於維護,並提高開發效率。 為什麼使用 CSS 預處
Selenium 是一個範圍廣泛的工具和函式庫的總稱專案,用於啟用和支援網頁瀏覽器的自動化。Selenium WebDriver 提供了 C#、JavaScript、Java、Python、Ruby 等多種語言的 API,可以用於編寫自動化測試軟體。 在定位元素時,WebDriver 提供對這 8
JavaScript (簡稱 JS) 是具有一級函數的輕量級、直譯式或即時編譯的程式語言。它因為用作網頁的腳本語言而大為知名,但也用於許多非瀏覽器的環境,像是 Node.js 等。由於 JavaScript 語法上的一些缺點,軟體工程師們又設計出了 CoffeeScript、TypeScript 和
Ruby on Rails 是一個使用 Ruby 語言編寫的開源 Web 應用程式框架。 PostgreSQL 是一個強大、開源的物件關聯式資料庫系統,擁有超過 35 年的活躍開發歷程,並以其可靠性、功能強大性和效能而享有盛譽。 PostgreSQL 提供許多特定資料類型,以下是 Rails 支
什麼是 CSS 預處理器 CSS 預處理器是一種工具,使用專門的語法來生成 CSS 樣式表。市面上有許多 CSS 預處理器可供選擇,它們通常會提供一些純 CSS 中沒有的功能,例如變數、混入、巢狀選擇器等。這些功能可以使 CSS 結構更易讀、更易於維護,並提高開發效率。 為什麼使用 CSS 預處
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
「戴運軌地球科學營」由臺灣科學特殊人才提升計畫舉辦,旨在鼓勵學生投入地球科學領域的學習與研究,提升地球科學教師專業。本文記錄了作者三年連續參加營隊的經驗及所學到的地球科學相關知識。
Thumbnail
  「人是必須被超越的,你們做了什麼來超越呢?」─查拉圖斯特拉   運動科學,係指在運動方面應用到的任何科學方法、知識以及原理,以求提升運動者的運動表現。運動科學不僅幫助「運動員」提升身體與心理強度,突破自我;也可幫助「一般休閒運動者」,提升運動表現與效率、避免發生運動傷害。然而,在「
Thumbnail
本書是一部結合東方身體與哲學、西方大腦科學和奧義的全新多模式健身導引,由國立臺灣師範大學研究講座教授張育愷博士所帶領的研究團隊耗時十餘年,以科學方式呈現了八卦導引的理論與實踐。這本書的核心理念是透過完整「健腦、健心、健身」的高效運動,引導讀者利用八卦導引實現一個全面性、高效率的樂活生......
Thumbnail
筆記自志祺講成功與運氣這件事-成功的人,只是因為他「運氣好」?如何讓自己變得更好運? 主動創造自己能創造的 運氣確實會影響我們這一生所發展出來的樣貌,但這不是我們可以控制的。讓我們將專注力放在自己可以改善的部分,累積與創造自己好運與成就。 四點筆記,值得蒐藏的觀點: 確實有運氣,而且可能
Thumbnail
你知道嗎,運氣不只是隨機的命運所賜,它其實可以被策略性地吸引。《幸運的科學》正是一本帶領我們探索運氣背後科學的書籍,而在這篇文章中,我們將為你介紹這本書中的四大法則。 本書認為,運氣不僅僅是命運或偶然,它可以被學習和吸引。透過具體的方法和策略,我們都可以增加自己的運氣,是一本
Thumbnail
(( 科學改運工作坊|參與問卷調查 )) 問卷調查:https://reurl.cc/jDqYD2 禮拜天才發布一支「最科學的改運方法」的YouTube影片 馬上就有3間單位私訊邀約包班工作坊 感謝三位處經理的邀約 想要透過工作坊的方式,來認識大腦是如何將這些神經元連結 連結成一組又
Thumbnail
這篇文章記錄與強盜算法有關的職位。 職位#1:Amazon 資深運籌學科學家 職位#2: Tripadbisor 機器學習科學家 II Machine Learning Scientist II 職位#3:BOA 資料科學家 Data Scientist Desired skills:
Thumbnail
科學家從來沒有受過當導師的訓練,這就是問題阿。 在裸奔先生整個念研究所的期間,老師對裸奔先生,說有多不在乎就有多不在乎。雖然裸奔先生也沒有期待要跟老師有多好的關係,但也不想被認為就只是研究生訓練計畫中的第八項支出而已。 進入研究所的第一天通常是像這樣: 裸奔先生:老師,我會虛心受教,請在科學的路途上
Thumbnail
在美國上課和在台灣最大的差異就是, 這裡很重視運動! 每天下午我們有二個小時的運動時間, 這裡是室內的籃球場. 老師陪著我們一起打球! 還有足球課 排球課 還有保齡球唷! 如果在台灣每天都有二個小時的體育課, 我肯定會長得身強體壯滴!
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
「戴運軌地球科學營」由臺灣科學特殊人才提升計畫舉辦,旨在鼓勵學生投入地球科學領域的學習與研究,提升地球科學教師專業。本文記錄了作者三年連續參加營隊的經驗及所學到的地球科學相關知識。
Thumbnail
  「人是必須被超越的,你們做了什麼來超越呢?」─查拉圖斯特拉   運動科學,係指在運動方面應用到的任何科學方法、知識以及原理,以求提升運動者的運動表現。運動科學不僅幫助「運動員」提升身體與心理強度,突破自我;也可幫助「一般休閒運動者」,提升運動表現與效率、避免發生運動傷害。然而,在「
Thumbnail
本書是一部結合東方身體與哲學、西方大腦科學和奧義的全新多模式健身導引,由國立臺灣師範大學研究講座教授張育愷博士所帶領的研究團隊耗時十餘年,以科學方式呈現了八卦導引的理論與實踐。這本書的核心理念是透過完整「健腦、健心、健身」的高效運動,引導讀者利用八卦導引實現一個全面性、高效率的樂活生......
Thumbnail
筆記自志祺講成功與運氣這件事-成功的人,只是因為他「運氣好」?如何讓自己變得更好運? 主動創造自己能創造的 運氣確實會影響我們這一生所發展出來的樣貌,但這不是我們可以控制的。讓我們將專注力放在自己可以改善的部分,累積與創造自己好運與成就。 四點筆記,值得蒐藏的觀點: 確實有運氣,而且可能
Thumbnail
你知道嗎,運氣不只是隨機的命運所賜,它其實可以被策略性地吸引。《幸運的科學》正是一本帶領我們探索運氣背後科學的書籍,而在這篇文章中,我們將為你介紹這本書中的四大法則。 本書認為,運氣不僅僅是命運或偶然,它可以被學習和吸引。透過具體的方法和策略,我們都可以增加自己的運氣,是一本
Thumbnail
(( 科學改運工作坊|參與問卷調查 )) 問卷調查:https://reurl.cc/jDqYD2 禮拜天才發布一支「最科學的改運方法」的YouTube影片 馬上就有3間單位私訊邀約包班工作坊 感謝三位處經理的邀約 想要透過工作坊的方式,來認識大腦是如何將這些神經元連結 連結成一組又
Thumbnail
這篇文章記錄與強盜算法有關的職位。 職位#1:Amazon 資深運籌學科學家 職位#2: Tripadbisor 機器學習科學家 II Machine Learning Scientist II 職位#3:BOA 資料科學家 Data Scientist Desired skills:
Thumbnail
科學家從來沒有受過當導師的訓練,這就是問題阿。 在裸奔先生整個念研究所的期間,老師對裸奔先生,說有多不在乎就有多不在乎。雖然裸奔先生也沒有期待要跟老師有多好的關係,但也不想被認為就只是研究生訓練計畫中的第八項支出而已。 進入研究所的第一天通常是像這樣: 裸奔先生:老師,我會虛心受教,請在科學的路途上
Thumbnail
在美國上課和在台灣最大的差異就是, 這裡很重視運動! 每天下午我們有二個小時的運動時間, 這裡是室內的籃球場. 老師陪著我們一起打球! 還有足球課 排球課 還有保齡球唷! 如果在台灣每天都有二個小時的體育課, 我肯定會長得身強體壯滴!