Похоже, что тип корректно изменяется, поскольку вы заявляете, что наблюдаете изменение при печати типов и из 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
непосредственно перед выдачей ошибки и отредактировать вопрос? (Я бы сделал это комментарий - но я хотел бы добавить больше деталей. Я постараюсь помочь, когда это будет предоставлено)
C# не с динамическим контролем типов - все типы статически выведены в примерах, которые Вы упомянули. Следующая версия C# будет включать некоторые динамические функции хотя для работы с COM и действительно динамическими языками.
[Редактирование № 1] Да, новая динамическая функция C# будет медленнее как все с помощью него, потребует позднего связывания. Однако это только замедлит Ваше приложение при использовании его - это не изменение в самом базовом языке. C# 4 будет статически типизированным языком с возможностью работы с последними ограниченными типами.
[Редактирование № 2] Никакой C# 4 не будет динамически типизированным языком. C# 4 представляет новое dynamic
введите, который заменит поздним связыванием на участниках типа вместо статической проверки типа. Динамические возможности только будут доступны на этих динамических типах. Базовая система типов C# не изменилась.
Нет, это все еще со статическим контролем типов, var/lambda/linq весь вывод использования компилятором, таким образом, тип известен во время компиляции, динамический ввод / утиный ввод будут идти с c# 4.0
Комментаторы: Вы то, что уверенный, что динамические типы могут так легко содержаться? У меня есть чувство, что их эффекты распространятся.
С динамическим контролем типов?! Нет. Технически, C# является статически типизированным языком. Это имеет динамический метод, диспетчеризирующий возможности через услуги отражения CLR, предоставленные временем выполнения.NET (который был доступен с тех пор v1.0 и не имеет никакого отношения к.NET 3,5 функции, функции C# 3.0 все еще со статическим контролем типов). C# 4.0 будет иметь истинный динамический контроль типов.