在火炬中反转整数类型矩阵时出错
Getting an error when inverting an integer type matrix in torch
我试图找到由随机整数组成的 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 反转它。虽然我不太确定该怎么做。
感谢您的协助!
好的,我找到了两种方法:
1.) A = torch.randint(0, 10, (3, 3), dtype=torch.float32)
2.) A = torch.Tensor(np.random.randint(0, 10, (3, 3)))
然后反转两者都不会出错,因为它们现在都是 float32 类型。
我试图找到由随机整数组成的 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 反转它。虽然我不太确定该怎么做。
感谢您的协助!
好的,我找到了两种方法:
1.) A = torch.randint(0, 10, (3, 3), dtype=torch.float32)
2.) A = torch.Tensor(np.random.randint(0, 10, (3, 3)))
然后反转两者都不会出错,因为它们现在都是 float32 类型。