1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
from typing import Any
import torch
@torch.jit.script
class MyScriptClass:
"""Intended to be scripted."""
def __init__(self, x):
self.foo = x
def set_foo(self, x):
self.foo = x
@torch.jit.script
def uses_script_class(x):
"""Intended to be scripted."""
foo = MyScriptClass(x)
return foo.foo
class IdListFeature:
def __init__(self):
self.id_list = torch.ones(1, 1)
def returns_self(self) -> "IdListFeature":
return IdListFeature()
class UsesIdListFeature(torch.nn.Module):
def __init__(self):
super().__init__()
def forward(self, feature: Any):
if isinstance(feature, IdListFeature):
return feature.id_list
else:
return feature
|