jupyter中 y = xmmwdata + bdataexpand_asx 出现RuntimeError expected scalar type Long but found Float的错误
这个错误是因为在计算 y = x.mm(w.data) + b.data.expand_as(x) 时,x、w、b的数据类型不匹配。
torch.mm函数表示矩阵相乘,它要求输入的矩阵是浮点型,而expand_as函数会将b.data的数据类型扩展为和x相同的数据类型。因此,x和w的数据类型应该是浮点型。
解决方法是将x和w的数据类型转换为浮点型,可以使用x.float()和w.float()进行转换。
修改后的代码如下:
y = x.float().mm(w.data.float()) + b.data.expand_as(x)
原文地址: https://www.cveoy.top/t/topic/hHuL 著作权归作者所有。请勿转载和采集!