Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Похоже, что тип корректно изменяется, поскольку вы заявляете, что наблюдаете изменение при печати типов и из Pytorch:
Возвращает
blockquote>Tensor
с указанным устройством и (необязательно) )dtype
. Если dtype равен None, то это подразумеваетсяself.dtype
. Когдаnon_blocking
, пытается преобразовать асинхронно по отношению к хосту, если это возможно, например, преобразование Тензор ЦП с закрепленной памятью в Тензор CUDA. Когда копирование установлено, новый Тензор создается даже тогда, когда Тензор уже соответствует желаемому преобразованию.и другие методы, такие как
b_y = b_y.to(device).float()
, не должны измеримо отличаться, так как, опять же,
.float()
эквивалентны.to(..., torch.float32)
. и.float
эквивалентно.float32
. Можете ли вы проверить типb_y
непосредственно перед выдачей ошибки и отредактировать вопрос? (Я бы сделал это комментарий - но я хотел бы добавить больше деталей. Я постараюсь помочь, когда это будет предоставлено)