NumPy2.0近期更新导致用不了

问题

A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.0 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.

解决方法

pip install numpy<2

分析

numpy 2.0 更新了什么

NumPy 2.0.0 是一个重大的版本更新,引入了许多变化,包括新功能和重大更改。以下是 NumPy 2.0.0 中的一些关键变化和更新:

  1. 重大更改

    • 应用程序二进制接口(ABI)的更改。

    • 类型提升规则的变化。

    • Python 和 C API 的更改,这些更改在 1.26.x 版本中可能没有发出弃用警告。

  2. 新功能

    • 大量的新功能和性能改进。

    • 对 Python 3.12.0 的支持。

    • 对 Cython 3.0.0 的兼容性。

    • 使用 Meson 构建系统。

    • 更新的 SIMD 支持。

    • f2py 修复和 Meson 支持。

    • 对更新后的 Accelerate BLAS/LAPACK 库的支持。

  3. 文档和迁移指南

    • 提供了 NumPy 2.0 迁移指南,帮助用户适应变化。

    • 2.0.0 版本发布说明。

    • 状态更新公告:numpy#24300。

  4. 社区和贡献

    • 该版本是 212 位贡献者共同努力的结果,涉及 1078 个拉取请求。

    • 鼓励下游包和用户代码的适应性验证。

  5. 发布日期

    • NumPy 2.0 计划于 2024 年 6 月 16 日发布。

这些变化和更新旨在提升 NumPy 的功能性、性能和用户体验,同时也为未来的发展奠定了基础。

什么是应用程序二进制接口(ABI)

ABI 是应用程序二进制接口的缩写,它定义了如何在二进制层面进行交互,包括函数调用约定、数据类型的大小和布局等。ABI 的更改意味着旧版本的代码可能无法与新版本的代码无缝兼容,因为二进制层面的接口发生了变化。这可能会影响到依赖 NumPy 的第三方库和应用程序,需要它们进行相应的更新和重新编译。

会导致什么影响

应用程序二进制接口(ABI)的更改确实可能会影响到依赖 NumPy 的第三方库和应用程序,包括像 PyTorch 这样的深度学习框架。如果 PyTorch 依赖于 NumPy 的特定 ABI,而 NumPy 的 ABI 发生了变化,那么 PyTorch 可能需要进行相应的更新和重新编译,以确保与新版本的 NumPy 兼容。

相关推荐
牛客企业服务1 分钟前
2025校招AI应用:校园招聘的革新与挑战
大数据·人工智能·机器学习·面试·职场和发展·求职招聘·语音识别
shilim2 分钟前
这位老哥提交了一个12万行代码的PR,程序员看了都说LGTM
人工智能·github·代码规范
倔强青铜三2 分钟前
苦练Python第38天:input() 高级处理,安全与异常管理
人工智能·python·面试
计算机科研圈7 分钟前
不靠海量数据,精准喂养大模型!上交Data Whisperer:免训练数据选择法,10%数据逼近全量效果
人工智能·深度学习·机器学习·llm·ai编程
大模型真好玩12 分钟前
深入浅出LangChain AI Agent智能体开发教程(六)—两行代码LangChain Agent API快速搭建智能体
人工智能·python·agent
CodeShare13 分钟前
自适应集群协作提升大语言模型医疗决策支持能力
人工智能·大语言模型·医疗决策支持
大千AI助手24 分钟前
FEVER数据集:事实验证任务的大规模基准与评估框架
人工智能·深度学习·数据集·fever·事实验证·事实抽取·虚假信息
格林威1 小时前
Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现道路汽车的检测识别(C#代码,UI界面版)
人工智能·深度学习·数码相机·yolo·视觉检测
欧阳小猜1 小时前
机器学习②【字典特征提取、文本特征处理(TF-IDF)、数据标准化与归一化、特征降维】
人工智能·机器学习·tf-idf