评价此页

TorchScript 不支持的 PyTorch 结构#

创建于: 2019 年 12 月 18 日 | 最后更新于: 2023 年 11 月 21 日

Torch 和 Tensor 的不支持的属性#

TorchScript 支持 torchtorch.Tensor 上定义的大多数方法,但我们并没有完全覆盖。以下是 Python 和 TorchScript 之间行为有差异的特定已知操作和操作类别。如果您遇到其他不支持的内容,请提交 GitHub issue。已弃用的操作未在此列出。

不支持的 Tensor 方法#

不支持的 Tensor 属性#

未正确绑定到 Torch 的函数#

如果在 TorchScript 中使用以下函数,将会失败,因为它们没有绑定到 torch,或者 Python 期望的 schema 与 TorchScript 不同。

Torch 和 Python 之间 Schema 存在差异的操作#

以下类别操作的 Schema 存在差异

除了 torch.tensor 之外,使用非张量输入构造张量的函数不支持 requires_grad 参数。这涵盖了以下操作:

以下函数在 TorchScript 中需要 dtypelayoutdevice 作为参数,但这些参数在 Python 中是可选的。

PyTorch 不支持的模块和类#

TorchScript 目前无法编译许多其他常用的 PyTorch 结构。下面列出了 TorchScript 不支持的模块,以及不受支持的 PyTorch 类的列表(不完全)。对于不支持的模块,我们建议使用 torch.jit.trace()