У меня есть тензор с плавающей запятой, умноженный матрицей на ее обратную (т. Е. Единичная матрица).Когда я конвертирую в int, это не единичная матрица, т. Е. 1.0000e00 становится 0. Мне нужен способ для Typecast с округлением.
Я пробовал Typecasting с использованием .int () и .long (), ноони округляются до нуля.В частности:
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]])
Какая строка кода изменит мой тензор наЯ хочу?Он должен занимать только одну строку.