TorchScript 不支持的 PyTorch 构造
Torch 和 Tensor 的不支持的属性
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