После вызова torch.empty()
блок памяти выделяется в соответствии с размером (формой) тензора. Под неинициализированными данными подразумевается, что torch.empty()
просто возвращает значения в блоке памяти как есть. Эти значения могут быть значениями по умолчанию или значениями, хранящимися в этих блоках памяти в результате какой-либо другой операции, которая ранее использовала эту часть блока памяти.
Вот простая иллюстрация:
# a block of memory with the values in it
In [74]: torch.empty(2, 3)
Out[74]:
tensor([[-1.0049e+08, 4.5688e-41, -9.1450e-38],
[ 3.0638e-41, 4.4842e-44, 0.0000e+00]])
# same run; but note the change in values.
# i.e. different memory addresses than on the previous run were used.
In [75]: torch.empty(2, 3)
Out[75]:
tensor([[-1.0049e+08, 4.5688e-41, -7.9421e-38],
[ 3.0638e-41, 4.4842e-44, 0.0000e+00]])