Kad*_*j13 4 arrays casting autoencoder pytorch tensor
我有一个矩阵保存为 numpy 类型,称之为“X_before”(例如,它的形状是 100*30)。
因为我想使用 Pytorch 库将其提供给 AutoEncoder,所以我将其转换为torch.tensor如下所示:
X_tensor = torch.from_numpy(X_before, dtype=torch)
Run Code Online (Sandbox Code Playgroud)
然后,我收到以下错误:
Run Code Online (Sandbox Code Playgroud)expected scalar type Float but found Double
接下来,我尝试将元素设置为“float”,然后将它们转换为 torch.tensor:
X_before = X_before.astype(float)
X_tensor = torch.from_numpy(X_before)
Run Code Online (Sandbox Code Playgroud)
同样的错误再次发生。我应该如何解决这个问题?如何将 torch.tensor 对象中的元素类型转换为另一种类型?
提前致谢
最简单的方法:
X_tensor = torch.tensor(X_before, dtype=torch.float32)
Run Code Online (Sandbox Code Playgroud)
您可以在此处查看类型列表: https://pytorch.org/docs/stable/tensors.html
您可以更改类型:
X_tensor=X_tensor.type(torch.float64)
Run Code Online (Sandbox Code Playgroud)
(请注意,float64 是 double,而 float32 是标准浮点数)