在使用Pytorch时报了RuntimeError: expected dtype Double but got dtype Float这个错误,仔细一查才发现是数据类型的问题。在处理数据时有时会用到numpy模块,处理完数据后为了加速计算然后转为tensor,用torch的计算方式进行运算。一运行结果发现报错了,报错的原因在于,numpy默认的数据类型是float64,而torch.tensor初始化默认的类型是float32,所以才会出现上面的报错原因。
所以在使用numpy处理数据后在转换tensor类型时,可以使用一下方法。
train_data_split = torch.from_numpy(train_data_split).float()
参考文献
[1]RuntimeError: expected dtype Double but got dtype Float 问题解决