Type Hinting torch.float 用于特殊形式的类型提示

xiaoxingxing pytorch 459

原文标题Type Hinting torch.float for special form type hint

我有一个函数可以接受包括类型torch.float在内的类型typing.Union。但是如果我使用带有torch.floattyping.Union类型作为参数,我会收到一个错误。这是一个例子:

from typing import Union
import torch

def fct(my_float_or_tensor: Union[torch.float, torch.Tensor]):
    pass

我得到了错误

TypeError: Union[t0, t1, ...]: each t must be a type. Got torch.float32.

我究竟做错了什么?

有趣的是,特殊类型typing.Tuple也会出现同样的问题,但如果我在类型提示时直接使用torch.float则不会。

原文链接:https://stackoverflow.com//questions/71515031/type-hinting-torch-float-for-special-form-type-hint

回复

我来回复
  • ndrwnaguib的头像
    ndrwnaguib 评论

    “dtypes”和“types”是有区别的。torch.float是adtype。对于类型提示,使用torch.FloatTensor(还有其他的,例如,DoubleTensorHalftTensor等)

    2年前 0条评论