File size: 768 Bytes
6c01195
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5bdeead
 
 
 
 
 
 
 
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
41
from pathlib import Path


class TrainingLogger:

    def __init__(self, path):
        self.path = Path(path)
        self.path.parent.mkdir(
            parents=True,
            exist_ok=True,
        )

    def log(self, message):
        message = str(message)
        print(message)

        with self.path.open(
            "a",
            encoding="utf-8",
        ) as file:
            file.write(message + "\n")


def count_parameters(model):
    return sum(
        parameter.numel()
        for parameter in model.parameters()
        if parameter.requires_grad
    )

    print(
        f"Parameters: "
        f"{count_parameters(model):,}"
        )



def separator(title: str) -> None:
    print("\n" + "=" * 60)
    print(title)
    print("=" * 60)