【pytorch】expected scalar type Double but found Float

总结,发现了两种解决方法。
大佬1
解释的很详细了,

tensor.to(torch.float32) 但其实这里面的tensor指的是tensor类型的数据
在你自己的代码上他可能是x可能是data 这个要你自己多尝试

我的代码例子:

bow=[[1,0,1,1,1,0,0],[1,1,1,0,0,0,1],[0,1,1,0,0,1,0]]
enc_1=torch.nn.Linear(7, 10)
en1=torch.relu(enc_1(bow))
#原本我的转变方式:(float32->64)
Bow=torch.Tensor(bow,dtype=float64)
#我猜)实际上应该写成
Bow2=torch.Tensor(bow)
Bow2.data=Bow2.data.to(torch.float64)

看到很多次了,在最前面 加这一行代码
torch.set_default_tensor_type(torch.DoubleTensor)

如果是
Bow=torch.Tensor(bow,dtype=float64)这种形式
+

torch.set_default_tensor_type(torch.DoubleTensor)

,反正我的代码是能跑的…

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值