torch.jit.unused#
- torch.jit.unused(fn)[原始碼]#
此裝飾器指示編譯器忽略某個函式或方法,並將其替換為丟擲異常。這使得您可以在模型中保留尚未相容TorchScript的程式碼,並且仍然可以匯出您的模型。
示例(在方法上使用
@torch.jit.unused)import torch import torch.nn as nn class MyModule(nn.Module): def __init__(self, use_memory_efficient): super().__init__() self.use_memory_efficient = use_memory_efficient @torch.jit.unused def memory_efficient(self, x): import pdb pdb.set_trace() return x + 10 def forward(self, x): # Use not-yet-scriptable memory efficient mode if self.use_memory_efficient: return self.memory_efficient(x) else: return x + 10 m = torch.jit.script(MyModule(use_memory_efficient=False)) m.save("m.pt") m = torch.jit.script(MyModule(use_memory_efficient=True)) # exception raised m(torch.rand(100))
- 返回型別
Callable[[~_P], _R]