TorchScript 不支持的 PyTorch 结构¶
Torch 和张量不支持的属性¶
TorchScript 支持 torch
和 torch.Tensor
上定义的大多数方法,但我们没有完全覆盖。以下是在 Python 和 TorchScript 之间行为有偏差的特定已知操作和操作类别。如果您遇到其他不受支持的操作,请在 GitHub 上提交问题。已弃用的操作未列在下面。
不支持的张量方法¶
不支持的张量属性¶
Torch 上未正确绑定的函数¶
如果在 TorchScript 中使用以下函数,它们将失败,要么是因为它们没有绑定到 torch 上,要么是因为 Python 期望的模式与 TorchScript 不同。
Torch 和 Python 之间模式不同的操作¶
以下类别的操作具有不同的模式
从非张量输入构造张量的函数不支持 requires_grad 参数,除了 torch.tensor。这涵盖了以下操作
以下函数需要在 TorchScript 中将 dtype、layout、device 作为参数,但在 Python 中这些参数是可选的。
PyTorch 不支持的模块和类¶
TorchScript 目前无法编译许多其他常用的 PyTorch 结构。下面列出了 TorchScript 不支持的模块,以及不支持的 PyTorch 类的列表(不完整)。对于不受支持的模块,我们建议使用 torch.jit.trace()
。
torch.autograd.enable_grad