mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-06 12:20:52 +01:00
Pull Request resolved: https://github.com/pytorch/pytorch/pull/136964 Approved by: https://github.com/justinchuby, https://github.com/albanD
119 lines
2.9 KiB
Python
119 lines
2.9 KiB
Python
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)
|
|
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(),
|
|
)
|