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