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
“dtypes”和“types”之间是有区别的。torch.float是一个dtype. 对于类型提示,使用torch.FloatTensor(还有其他的,例如DoubleTensor,HalfTensor等)
| 归档时间: |
|
| 查看次数: |
6628 次 |
| 最近记录: |