[兼容性问题] NumPy 2.4.0 中移除了 np.trapz — 请使用 np.trapezoid
作者: xyf5432创建于 2026年8月7日更新于 2026年8月7日
□ 受影响的文件
- `活性/功能/后端/数字/元素.py:749'
- `ivy/功能/后端/数字/实验/统计.py:567'
□ 当前代码
# 常春藤/ 功能/后端/ 数字/ 元素. py: 749
dx=1.0,轴=-1,出局=无:
返回 np.trapz(y, x=x, dx=dx, 轴=轴)
# 常春藤/功能/后端/数字/实验/统计.py:567
构成部分=np.trapz(y,t)□ 根源
numpy.trapz'在NumPy 2.0 (2023-08-18)被贬值,**在NumPy 2. 4.0 (2025-12-20)被完全删除了**。 在NumPy >= 2.4.0中,任何对np.trapz ()'的呼叫都会引起:
属性错误: 模块 “ numpy ” 没有属性“ trapz ”Ivy通过多个后端(torch, jax, latorflow, numpy)定义了自己的"trapz" API. 数字后端直接代表“np.trapz”,它会断裂。
□ 影响
- Severity:高-在NumPy 2.4.0上运行时发生硬坠.
- 数字后端
trapz ()'通过ivy.trapz ()' →后端调度 →`np.trapz ()'称呼。 - 还影响数字前端:
ivy.unction.frontends.numpy.trapz ()'-ivy.trapz ()'-`numpy.trapz ()' - 统计学中的 " gamma cal " 实验功能也受到影响。
□ 解决
# 常春藤/ 功能/后端/ 数字/ 元素. py: 749
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0}之前
返回 np.trapz(y, x=x, dx=dx, 轴=轴)
之后:
返回 np.trapezoid(y, x=x, dx=dx, 轴=轴)
# 常春藤/功能/后端/数字/实验/统计.py:567
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0}之前
构成部分=np.trapz(y,t)
之后:
构成部分=np.trapzoid(y,t)trapezoid'有同一种签名:trapezoid(y,x=None,dx=1.0,轴=-1)'。
NumPy < 2.0后向兼容性:
尝试 :
从 numpy 导入 trapezoid 中
除导入错误外 :
从 numby 导入陷阱z 作为tapezoid^ 参考文献
- 2.4.0号释放说明——已取出
- NumPy 2.0 贬值:https://numpy.org/doc/stable/reference/create/create/numpy.trapz.html
- 其他下游项目的类似修补:gpytorch#2695,NeuroKit#1155
内容来源: unifyai/ivy