1、RutimeError: Expected object of scalar type Float but got scalar type Double for argument #2 'mat1'
当出现以上问题时候,是格式错误:
错误语句:
model_train_x = torch.tensor(model_train_x.values)
该语句中,tensor的默认类型是Float64,需要修改类型成为float32才可以
网上大多数的修改意见是:
1、model_train_x = torch.from_numpy(model_train_x.astype(np.float32))
2、model_train_x = torch.from_numpy(model_train_x.values)
我试了一下不是很可行,依然在报错,我采用如下的操作进行处理之后,操作成功:
model_train_x = torch.tensor(model_train_x.values,dtype=torch.float32)
2、pytorch的形状更改:
我们在改变torch的类型的时候,通常需要进行reshape:
正确的改该方式为:
moodel_train_x = torch.reshape(model_train_x,(1,192,25))
其中model_train_x为处理好的tensor数据,(a,b,c)为更改的形状
3、ValueError: expected sequence of length 72 at dim 1 (got 167)
这个问题出现在对tensor的转换中
tensor的转换要求内部的数组维度相同:例如
model_train_x = [[1],[2,3],[3,4,5,6,6]]
model_train_y = torch.tensor(model_train_y,dtype=torch.float32)
是不可行的,,需要调整数据子集的长度。
4、Cannot convert a symbolic Tensor (lstm/strided_slice:0) to a numpy array.
转换