Переполнение при распаковке долго - Pytorch

Я запускаю следующий код

import torch
from __future__ import print_function
x = torch.empty(5, 3)
print(x)

на машине с Ubuntu в режиме CPU, которая выдает мне следующую ошибку, что может быть причиной и как это исправить

      x = torch.empty(5, 3)
----> print(x)

/usr/local/lib/python3.6/dist-packages/torch/tensor.py in __repr__(self)
     55         # characters to replace unicode characters with.
     56         if sys.version_info > (3,):
---> 57             return torch._tensor_str._str(self)
     58         else:
     59             if hasattr(sys.stdout, 'encoding'):

/usr/local/lib/python3.6/dist-packages/torch/_tensor_str.py in _str(self)
    216             suffix = ', dtype=' + str(self.dtype) + suffix
    217 
--> 218         fmt, scale, sz = _number_format(self)
    219         if scale != 1:
    220             prefix = prefix + SCALE_FORMAT.format(scale) + ' ' * indent

/usr/local/lib/python3.6/dist-packages/torch/_tensor_str.py in _number_format(tensor, min_sz)
     94     # TODO: use fmod?
     95     for value in tensor:
---> 96         if value != math.ceil(value.item()):
     97             int_mode = False
     98             break

RuntimeError: Overflow when unpacking long

1 ответ

Решение

Поскольку torch.empty() предоставляет неинициализированную память, вы можете получить или не получить из нее большое значение. Пытаться

x = torch.rand(5, 3)
print(x)

это дало бы ответ.

Другие вопросы по тегам