当前位置:   article > 正文

Expected isFloatingType(grads[i].type().scalarType()) to be true, but got false._runtimeerror: expected isfloatingtype(grads[i].typ

runtimeerror: expected isfloatingtype(grads[i].type().scalartype()) to be tr

错误原因

在进行 张量 梯度求解时,传入数据类型不对

解决方法

指定传入张量类型为 float 类型即可

错误代码示例

  1. import torch
  2. # 第一步:创建 tensor
  3. x = torch.ones(2,2,requires_grad=True)
  4. print(x)
  5. # 第二步:对 tensor 做处理
  6. y = x**2
  7. print(y)
  8. # 第三步:求梯度
  9. y.backward(torch.tensor([[3,2],[2,2]]))
  10. print(x.grad)

正确代码示例

  1. import torch
  2. # 第一步:创建 tensor
  3. x = torch.ones(2,2,requires_grad=True)
  4. print(x)
  5. # 第二步:对 tensor 做处理
  6. y = x**2
  7. print(y)
  8. # 第三步:求梯度
  9. y.backward(torch.tensor([[3,2],[2,2]],dtype=float)) # 这里加了一个类型
  10. print(x.grad)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/649862
推荐阅读
相关标签
  

闽ICP备14008679号