gpt4 book ai didi

python - 指数小于 1 的 pytorch 数学返回 nan 的

转载 作者:行者123 更新时间:2023-12-02 19:48:23 24 4
gpt4 key购买 nike

torch.pow() 在给定范围 -1 和 1 之间的指数参数时返回 nan

a = torch.randn(1,3)
a

>> tensor([[-1.7871, -0.5375, -0.1164]])

torch.pow(a, 2) #or a**2

>> tensor([[3.1938, 0.2889, 0.0136]])

torch.pow(a,0.5) #or a**0.5

>> tensor([[nan, nan, nan]])

预期结果:

tensor([[-1.3368, -0.7331, -0.3412]])

编辑:事实证明 ** 也以同样的方式工作。 a**2 对张量的作用与 torch.pow(a,2) 相同。 a**0.5 像 torch.pow 一样返回 nan。

最佳答案

问题在于负数的平方根是非实数复数。

如果你想保留符号并取其绝对值的平方根,下面的代码就可以了

torch.sign(a) * torch.pow(torch.abs(a), 0.5)

关于python - 指数小于 1 的 pytorch 数学返回 nan 的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58786745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com