【问题标题】:Getting an error when inverting an integer type matrix in torch在 Torch 中反转整数类型矩阵时出错
【发布时间】:2021-03-07 11:10:53
【问题描述】:

我试图找到由随机整数组成的 3x3 矩阵的逆矩阵:torch.randint()。但是,这样做时,我收到了错误:"inverse_cpu" not implemented for 'Long'

代码:

A = torch.randint(0, 10, (3, 3))
A_inv = A.inverse()
print(A @ A_inv, "\n", A_inv @ A)

我相信A.inverse() 期望矩阵 A 的逆矩阵也是整数类型,但事实并非如此。也许我们可以让矩阵 A 的类型像 torch.Tensor() 这样的浮点数,或者无论如何都让 A_inv 反转它。虽然我也不太清楚该怎么做。

感谢您的帮助!

【问题讨论】:

    标签: python python-3.x pytorch torch


    【解决方案1】:

    好的,我想出了两种方法:

    1.) A = torch.randint(0, 10, (3, 3), dtype=torch.float32)

    2.) A = torch.Tensor(np.random.randint(0, 10, (3, 3)))

    然后反转其中一个不会出错,因为现在两者都是 float32 类型。

    【讨论】:

    • 大多数 DL 对象都是用 float32 或 float64 填充的。显然,一些 PyTorch 操作甚至没有用 longint 实现
    猜你喜欢
    • 2019-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多