如何强制转换的浮动张成长不张舍入误差?

问题描述 投票:1回答:1

我具有由通过它的逆(所以单位矩阵)的矩阵相乘制成的浮子张量。当我转换为int,它不是单位矩阵,即,1.0000e00变为0。我需要一种方法舍入到类型转换。

我曾尝试使用类型转换.INT()和。长(),但他们舍零。特别:

I = tensor([[ 1.0000e+00,  1.1921e-07, -1.1921e-07],
        [-5.9605e-08,  1.0000e+00,  0.0000e+00],
        [-2.9802e-08,  0.0000e+00,  1.0000e+00]])
I = I.long()
print(I)

得到:

tensor([[0, 0, 0],
        [0, 1, 0],
        [0, 0, 0]])

什么应该发生的是,print(I)回报

tensor([[1, 0, 0],
        [0, 1, 0],
        [0, 0, 1]])

什么行代码会改变我的张成我想要什么?它应该只需要一条线。

python-3.x torch tensor
1个回答
0
投票

答案是重新启动Jupyter内核,或插入蟒蛇3.无论出于何种原因,在Jupyter笔记本发生这个错误。

© www.soinside.com 2019 - 2024. All rights reserved.