| import torch |
| |
| |
| # https://pytorch.org/docs/stable/jit_builtin_functions.html#builtin-functions |
| |
| |
| class TSBuiltinOpsModule(torch.nn.Module): |
| def forward(self): |
| x = torch.tensor(1) |
| y = torch.tensor(0.5) |
| b = float(1) |
| s = "abcde" |
| l = ["1", "2", "test", "a{}b"] |
| d = {"key": 1} |
| d2 = {0: 100} |
| return len( |
| # type |
| bool(x), |
| bool(x.item()), |
| int(y), |
| int(y.item()), |
| float(x), |
| float(x.item()), |
| # math |
| x & x, |
| bool(x) & bool(x), |
| int(x) & int(x), |
| x | x, |
| bool(x) | bool(x), |
| int(x) | int(x), |
| x << x, |
| int(x) << int(x), |
| x >> x, |
| int(x) >> int(x), |
| x ^ x, |
| bool(x) ^ bool(x), |
| int(x) ^ int(x), |
| b * float(x), |
| b * int(x), |
| b + float(x), |
| b - float(x), |
| x.item() + y.item(), |
| x.item() - y.item(), |
| x.item() * y.item(), |
| x.item() / y.item(), |
| float(x) < float(y), |
| float(x) <= float(y), |
| float(x) > float(y), |
| float(x) > int(y), |
| float(x) >= float(y), |
| float(x) >= int(y), |
| float(x) == float(y), |
| float(x) == int(y), |
| float(x) != float(y), |
| int(x) != float(y), |
| float(x) / float(y), |
| int(x) / int(y), |
| max(x), |
| max(x.item(), y.item()), |
| max(int(x), int(y)), |
| max(float(x), float(y)), |
| min(x), |
| min(x.item(), y.item()), |
| min(int(x), int(y)), |
| min(float(x), float(y)), |
| int(l[0]), |
| float(l[0]), |
| # string |
| str(torch.tensor(1)), |
| l[2].find("t"), |
| l[2].replace("t", "x"), |
| l[2].lower(), |
| l[2].startswith("t"), |
| l[2].split("t"), |
| l[2].strip(), |
| l[2].rstrip(), |
| l[2].lstrip(), |
| l[2][slice(2)], |
| l[3].format("x"), |
| ord(l[2][0]), |
| len(torch.randn(3)), |
| len(l), |
| len(l[2]), |
| len(d), |
| len(d2), |
| ) |
| |
| |
| class TSCollectionOpsModule(torch.nn.Module): |
| def forward(self): |
| s = "abcde" |
| # list |
| l = ["1", "2", "test"] |
| l.reverse() |
| l.reverse() |
| l[1] = "3" |
| l.extend(["4"]) |
| # str dict |
| d = {"key": 1} |
| d.clear() |
| d.update({"key": 0}) |
| if "key" in d: |
| d["key"] = 2 |
| # int dict |
| d2 = {0: 100} |
| if 0 in d2: |
| d2.clear() |
| d2[0] = 100 |
| |
| return len( |
| s[torch.tensor(1)], |
| d["key"], |
| d2[0], |
| d.keys(), |
| d.items(), |
| d.values(), |
| d2.values(), |
| l.pop(), |
| ) |