Несколько причин, по которым может возникать ошибка преобразования тензора в PyTorch:
- Несоответствие форм тензоров. 12 Например, если данные имеют одну форму, а первый слой модели — другую. 1 Также ошибка может возникать, когда один из слоёв модели выводит тензор определённой формы, а следующий слой ожидает в качестве входа тензор другой формы. 1
- Использование модели и данных на разных устройствах. 1 Например, если модель отправлена на целевое устройство GPU, а данные — ещё на CPU. 1 PyTorch требует, чтобы все тензоры были на одном устройстве. 1
- Использование вручную отслеживаемых тензоров. 4 Например, в методе .forward(). 4 Если использовать тензор отдельно, без обёртки в torch.nn.Parameter, он не будет «частью» сети и не будет сопоставлен GPU при вызове .cuda(). 4