Skip to content

Commit fbf7ebc

Browse files
committed
added a few small tools
1 parent e29a7ea commit fbf7ebc

2 files changed

Lines changed: 42 additions & 0 deletions

File tree

src/py_utils/automation.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,34 @@ def tsp_submit(*cmds):
77
tsp_cmd.extend(cmds)
88
result = subprocess.run(tsp_cmd, capture_output=True, text=True)
99
return int(result.stdout.strip())
10+
11+
12+
def _form_row_header(N):
13+
14+
row_0 = ["|"] * (N + 1)
15+
row_0 = (" " * 3).join(row_0)
16+
row_1 = ["|"] * (N + 1)
17+
row_1 = " --- ".join(row_1)
18+
19+
return "\n".join([row_0, row_1])
20+
21+
22+
def form_in_md_rows(*datas):
23+
24+
N = len(datas[0])
25+
for data in datas:
26+
assert N == len(data)
27+
28+
header = _form_row_header(N)
29+
30+
prefix = "| "
31+
suffix = " |"
32+
33+
rows = []
34+
for data in datas:
35+
row = map(str, data)
36+
row = " | ".join(row)
37+
row = prefix + row + suffix
38+
rows.append(row)
39+
40+
return "\n".join([header] + rows)

src/py_utils/utils_torch.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -541,3 +541,14 @@ def segmented_softmax(logits, groups, n_groups):
541541
denominator = denominator[groups] + 1e-12
542542

543543
return exp_logits / denominator
544+
545+
546+
def count_model_parameters(model, trainable_only=False):
547+
548+
num_params = []
549+
for p in model.parameters():
550+
if trainable_only and not p.requires_grad:
551+
continue
552+
num_params.append(p.numel())
553+
554+
return sum(num_params)

0 commit comments

Comments
 (0)