【问题标题】:Casting Pytorch's tensor elements the type "float" instead of "double"将 Pytorch 的张量元素转换为“float”类型而不是“double”类型
【发布时间】:2021-05-21 10:14:00
【问题描述】:

我有一个保存为 numpy 类型的矩阵,称之为“X_before”(例如,它的形状是 100*30)。

由于我想使用 Pytorch 库将其提供给 AutoEncoder,因此我将其转换为 torch.tensor,如下所示:

X_tensor = torch.from_numpy(X_before, dtype=torch)

然后,我收到以下错误:

expected scalar type Float but found Double

接下来,我尝试将元素设为“float”,然后将它们转换为 torch.tensor:

X_before = X_before.astype(float)
X_tensor = torch.from_numpy(X_before)

同样的错误发生了。 我应该如何解决这个问题?如何将 torch.tensor 对象中的元素类型转换为另一种类型?

提前致谢

【问题讨论】:

    标签: arrays casting pytorch tensor autoencoder


    【解决方案1】:

    最简单的方法:

    X_tensor = torch.tensor(X_before, dtype=torch.float32)
    

    您可以在此处查看类型列表: https://pytorch.org/docs/stable/tensors.html

    你可以改变类型:

    X_tensor=X_tensor.type(torch.float64)
    

    (注意float64是double,float32是标准float)

    【讨论】:

      猜你喜欢
      • 2018-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-22
      • 2012-01-08
      • 1970-01-01
      • 1970-01-01
      • 2020-05-31
      相关资源
      最近更新 更多