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

Luc*_*ucG 3 python-3.x pytorch python-typing

我有一个函数可以采用多种typing.Union类型,包括 type torch.float。但如果我使用typing.Unionwithtorch.float作为参数,我会收到错误。这是一个例子:

from typing import Union
import torch

def fct(my_float_or_tensor: Union[torch.float, torch.Tensor]):
    pass
Run Code Online (Sandbox Code Playgroud)

我得到了错误

TypeError: Union[t0, t1, ...]: each t must be a type. Got torch.float32.
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

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