Динамически типизированный язык C#

Похоже, что тип корректно изменяется, поскольку вы заявляете, что наблюдаете изменение при печати типов и из Pytorch:

Возвращает Tensor с указанным устройством и (необязательно) ) dtype. Если dtype равен None, то это подразумевается self.dtype. Когда non_blocking, пытается преобразовать асинхронно по отношению к хосту, если это возможно, например, преобразование Тензор ЦП с закрепленной памятью в Тензор CUDA. Когда копирование установлено, новый Тензор создается даже тогда, когда Тензор уже соответствует желаемому преобразованию.

blockquote>

и другие методы, такие как

b_y = b_y.to(device).float()

, не должны измеримо отличаться, так как, опять же, .float() эквивалентны .to(..., torch.float32). и .float эквивалентно .float32. Можете ли вы проверить тип b_y непосредственно перед выдачей ошибки и отредактировать вопрос? (Я бы сделал это комментарий - но я хотел бы добавить больше деталей. Я постараюсь помочь, когда это будет предоставлено)

7
задан Robert Rossney 19 February 2009 в 19:00
поделиться

4 ответа

C# не с динамическим контролем типов - все типы статически выведены в примерах, которые Вы упомянули. Следующая версия C# будет включать некоторые динамические функции хотя для работы с COM и действительно динамическими языками.

[Редактирование № 1] Да, новая динамическая функция C# будет медленнее как все с помощью него, потребует позднего связывания. Однако это только замедлит Ваше приложение при использовании его - это не изменение в самом базовом языке. C# 4 будет статически типизированным языком с возможностью работы с последними ограниченными типами.

[Редактирование № 2] Никакой C# 4 не будет динамически типизированным языком. C# 4 представляет новое dynamic введите, который заменит поздним связыванием на участниках типа вместо статической проверки типа. Динамические возможности только будут доступны на этих динамических типах. Базовая система типов C# не изменилась.

12
ответ дан 6 December 2019 в 14:10
поделиться

Нет, это все еще со статическим контролем типов, var/lambda/linq весь вывод использования компилятором, таким образом, тип известен во время компиляции, динамический ввод / утиный ввод будут идти с c# 4.0

2
ответ дан 6 December 2019 в 14:10
поделиться

Комментаторы: Вы то, что уверенный, что динамические типы могут так легко содержаться? У меня есть чувство, что их эффекты распространятся.

0
ответ дан 6 December 2019 в 14:10
поделиться

С динамическим контролем типов?! Нет. Технически, C# является статически типизированным языком. Это имеет динамический метод, диспетчеризирующий возможности через услуги отражения CLR, предоставленные временем выполнения.NET (который был доступен с тех пор v1.0 и не имеет никакого отношения к.NET 3,5 функции, функции C# 3.0 все еще со статическим контролем типов). C# 4.0 будет иметь истинный динамический контроль типов.

1
ответ дан 6 December 2019 в 14:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: