Все еще полезен .data в PyTorch?
Я новичок в PyTorch. Я прочитал много кода, который активно использует член тензора <code>.data</code>
. Однако, когда я ищу <code>.data</code>
в официальной документации и Google, то нахожу очень мало информации. Я предполагаю, что <code>.data</code>
содержит данные в тензоре, но не совсем понимаю, когда мы его используем, а когда нет. Можете объяснить, в чем его назначение и в каких ситуациях его следует применять?
1 ответ(ов)
С версии PyTorch 0.4.0 и по крайней мере до версии 1.7.1 вы можете получить содержимое тензора torch.Tensor
, используя атрибут .data
.
Предположим, у вас есть тензор point = torch.Tensor(size=(1,2,)); point.requires_grad_(True);
В этом случае:
point.data
будет тензором, который разделяет те же данные сpoint
.
Вы можете проверить это с помощью: point.data_ptr(); point.data.data_ptr();
- Он не связан с историей вычислений тензора
point.data
, имеетrequires_grad=False
, даже если уpoint
установленоrequires_grad=True
. - Любые изменения в
point.data
не будут отслеживаться autograd.
Документация:
Какую версию Python я установил?
Как проверить, использует ли PyTorch GPU?
Как клонировать список, чтобы он не изменялся неожиданно после присваивания?
Преобразование списка словарей в DataFrame pandas
Ошибка: "'dict' объект не имеет метода 'iteritems'"