paddle.expm1 backward 为 x=-40 时的有限 float64 导数返回 0.0
作者: ALinrunrun创建于 2026年8月6日更新于 2026年8月6日
标签status/new-issuetype/bug-report
\ bug% 1 描述臭虫
`paddle.expm1'的 " float64 " 输入 " x= -40.0 " 的后向结果不正确。
在数学上,expm1(x)'的衍生词是exp(x)'. 因此:
页:1 d/dx expm1(-40.0)=exp(-40.0)=4.248354255291589e-18
这是一个有限的、正常的 " float64 " 值。 然而,Paddle自动分解返回`0.0'。
环境
- 平板电脑版本:3.3.1
- NumPy版本:2.2.6
- 二型: " Float64 "
- 设备: CPU
最小可复制代码
``` ZZ
将数字导入为 np
导入桨
桨. set device ("cpu")
x = 划桨. to tensor ()
-40.0 - 40.0 - 20: 00, (英语).
dtype="float64", (中文(简体) ).
停止=错误,
(中文(简体) ).
y = 桨.expm1(x)
y. 后退( )
错误=浮点 (x.grad)
预期=浮动(np.exp(np.float64 (-40.0)))
打印 ("错误:", 错误)
打印("预期:",预期)实际行为
贝壳 错误: 0.0
预期行为
贝壳
预期: 4.248354255291589e-18" paddle.expm1 " 退后应回 " exp(x) " 。
对于x = -40.0',正确的梯度是有限的,在活的64'中可以代表,但Paddle返回`0.0'。
补充信息
无回复( N)
内容来源: PaddlePaddle/Paddle