Skip to content

Commit 763e151

Browse files
Last update for a while in this project....
WOP Co-Authored-By: Ranuga-D <[email protected]>
1 parent 413cf93 commit 763e151

File tree

12 files changed

+42
-564
lines changed

12 files changed

+42
-564
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,4 +158,7 @@ cython_debug/
158158
# and can be added to the global gitignore or merged into this file. For a more nuclear
159159
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
160160
#.idea/
161+
162+
# local
161163
.history/
164+
wandb/
File renamed without changes.
File renamed without changes.
File renamed without changes.

ML/dataset/loader.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ class Loader(Dataset):
55
def __init__(self, path: str, transform: bool = None) -> None:
66
self.path = path
77
self.transform = transform
8-
self.data: pd.DataFrame = pd.read_csv(self.path).iloc[:5000]
8+
self.data: pd.DataFrame = pd.read_csv(self.path)
99

1010
def __len__(self) -> int:
1111
return len(self.data)

ML/dataset/main_loaders.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def __init__(
99
test_split: float = 0.125,
1010
seed: int = 42,
1111
batch_size: int = 32,
12-
**kwargs
12+
**kwargs,
1313
) -> None:
1414
super().__init__(**kwargs)
1515
self.X = self.data["text"].to_numpy()
@@ -27,36 +27,39 @@ def __init__(
2727
np.array(self.y_test),
2828
)
2929
self.batch_size = batch_size
30-
# self.get_batches()
31-
30+
self.get_batches()
3231

3332
def get_batches(self):
3433
X = self.X_train if self.train else self.X_test
3534
y = self.y_train if self.train else self.y_test
3635
X_batches = []
3736
y_batches = []
38-
for i in range(0, len(X), self.batch_size):
37+
iterator = tqdm(
38+
range(0, (round(len(X) / self.batch_size) - 1) * self.batch_size, self.batch_size)
39+
)
40+
for i in iterator:
3941
X_iter = X[i : i + self.batch_size]
4042
y_iter = y[i : i + self.batch_size]
41-
X_batches.append(X_iter)
42-
y_batches.append(y_iter)
43+
new_X_iter = []
44+
for j in X_iter:
45+
new_X_iter.append(self.transform(j))
46+
X_batches.append(new_X_iter)
47+
y_batches.append([y_iter])
4348
if self.train:
44-
self.X_train = F.to_tensor(X_batches, padding_value=1)
49+
self.X_train = X_batches
4550
self.y_train = np.array(y_batches)
4651
else:
47-
self.X_test = F.to_tensor(X_batches, padding_value=1)
52+
self.X_test = X_batches
4853
self.y_test = np.array(y_batches)
4954

50-
print(X_batches[0], y_batches[0])
51-
5255
def __getitem__(self, index) -> Tuple[torch.tensor, torch.tensor]:
5356
if self.train:
5457
return (
55-
self.transform(self.X_train[index]),
58+
self.X_train[index],
5659
[self.y_train[index]],
5760
)
5861
return (
59-
self.transform(self.X_test[index]),
62+
self.X_test[index],
6063
[self.y_test[index]],
6164
)
6265

ML/helper_functions/clearcache.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from ML import *
2+
3+
4+
class ClearCache:
5+
def __enter__(self):
6+
torch.cuda.empty_cache()
7+
8+
def __exit__(self, *args):
9+
torch.cuda.empty_cache()

ML/helper_functions/test.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,13 @@ def test(self):
2424
n = 0
2525
with torch.inference_mode():
2626
for X, y in self.test_dataloader:
27-
X = torch.tensor(X).to("cuda").view(1, -1)
27+
y = y[0]
28+
X = F.to_tensor(X, padding_value=1).to("cuda")
2829
y = torch.tensor(y).to("cuda")
2930
preds = torch.argmax(torch.softmax(self.model(X), dim=1), dim=1)
30-
results = classification_report(preds, y, class_names=["0", "1"])
31+
results = classification_report(
32+
preds, y.view(-1, 1).squeeze(1), class_names=["0", "1"]
33+
)
3134
precision = results["weighted avg"]["precision"]
3235
recall = results["weighted avg"]["recall"]
3336
f1score = results["weighted avg"]["f1-score"]

ML/helper_functions/train.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from ML import *
22
import torchtext.functional as F
3+
from ML.helper_functions.test import *
34

45

56
class Train:
@@ -33,12 +34,12 @@ def train(self, run_name):
3334
for _ in iterator:
3435
torch.cuda.empty_cache()
3536
for i, (X, y) in enumerate(self.train_dataloader):
37+
y = y[0]
3638
torch.cuda.empty_cache()
37-
X = torch.tensor(X).to("cuda").view(1, -1)
38-
y = torch.tensor(y).to("cuda")
39-
print(X.shape, y.shape)
39+
X = F.to_tensor(X, padding_value=1).to("cuda")
40+
y = torch.tensor(y).to(dtype=torch.long, device="cuda")
4041
self.optimizer.zero_grad()
41-
loss = self.criterion(self.model(X), y)
42+
loss = self.criterion(self.model(X), y.view(-1, 1).squeeze(1))
4243
loss.backward()
4344
self.optimizer.step()
4445
iterator.set_description(f"{i}/{len(self.train_dataloader)}")

0 commit comments

Comments
 (0)