zeguru commited on
Commit
159b42e
·
verified ·
1 Parent(s): b8f2282

Delete files src/task/training.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. src/task/training.py +0 -103
src/task/training.py DELETED
@@ -1,103 +0,0 @@
1
- import torch
2
- import torch.nn as nn
3
-
4
- from src.infra.dataset import (AutoRegressiveDataset, get_batch)
5
-
6
-
7
- @torch.no_grad()
8
- def evaluate(
9
- model,
10
- dataset: AutoRegressiveDataset,
11
- model_config,
12
- training_config,
13
- ):
14
- model.eval()
15
-
16
- loss_function = nn.CrossEntropyLoss()
17
-
18
- losses = []
19
-
20
- for _ in range(training_config.eval_batches):
21
-
22
- x, y = get_batch(
23
- dataset=dataset,
24
- batch_size=training_config.batch_size,
25
- )
26
-
27
- logits = model(x)
28
-
29
- loss = loss_function(
30
- logits.view(-1, logits.size(-1)),
31
- y.view(-1),
32
- )
33
-
34
- losses.append(loss.item())
35
-
36
- model.train()
37
-
38
- return sum(losses) / len(losses)
39
-
40
-
41
-
42
-
43
-
44
-
45
- def train(
46
- model,
47
- train_dataset: AutoRegressiveDataset,
48
- val_dataset: AutoRegressiveDataset,
49
- model_config,
50
- training_config,
51
- ):
52
- loss_function = nn.CrossEntropyLoss()
53
-
54
- optimizer = torch.optim.AdamW(
55
- model.parameters(),
56
- lr=training_config.learning_rate,
57
- )
58
-
59
- model.train()
60
-
61
- for step in range(training_config.num_steps):
62
-
63
- if step % training_config.eval_interval == 0:
64
-
65
- train_loss = evaluate(
66
- model=model,
67
- dataset=train_dataset,
68
- model_config=model_config,
69
- training_config=training_config,
70
- )
71
-
72
- val_loss = evaluate(
73
- model=model,
74
- dataset=val_dataset,
75
- model_config=model_config,
76
- training_config=training_config,
77
- )
78
-
79
- print(
80
- f"step {step:4d} | "
81
- f"train {train_loss:.4f} | "
82
- f"val {val_loss:.4f}"
83
- )
84
-
85
- x, y = get_batch(
86
- dataset=train_dataset,
87
- batch_size=training_config.batch_size,
88
- )
89
-
90
- logits = model(x)
91
-
92
- loss = loss_function(
93
- logits.view(-1, logits.size(-1)),
94
- y.view(-1),
95
- )
96
-
97
- optimizer.zero_grad()
98
-
99
- loss.backward()
100
-
101
- optimizer.step()
102
-
103
- return model