Update train_and_save_model.py
Browse files- train_and_save_model.py +10 -0
train_and_save_model.py
CHANGED
@@ -53,8 +53,14 @@ dataset = CustomDataset(texts, labels)
|
|
53 |
data_loader = DataLoader(dataset, batch_size=16, shuffle=True)
|
54 |
|
55 |
# Step 6: Training Loop
|
|
|
|
|
|
|
56 |
for epoch in range(num_epochs):
|
57 |
for inputs, targets in data_loader:
|
|
|
|
|
|
|
58 |
# Forward pass
|
59 |
outputs = model(inputs)
|
60 |
loss = criterion(outputs, targets)
|
@@ -63,7 +69,11 @@ for epoch in range(num_epochs):
|
|
63 |
optimizer.zero_grad()
|
64 |
loss.backward()
|
65 |
optimizer.step()
|
|
|
|
|
|
|
66 |
|
|
|
67 |
print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}')
|
68 |
|
69 |
# Step 7: Save the Model
|
|
|
53 |
data_loader = DataLoader(dataset, batch_size=16, shuffle=True)
|
54 |
|
55 |
# Step 6: Training Loop
|
56 |
+
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
57 |
+
model.to(device) # Move model to the correct device
|
58 |
+
|
59 |
for epoch in range(num_epochs):
|
60 |
for inputs, targets in data_loader:
|
61 |
+
# Move data to the same device as the model
|
62 |
+
inputs, targets = inputs.to(device), targets.to(device)
|
63 |
+
|
64 |
# Forward pass
|
65 |
outputs = model(inputs)
|
66 |
loss = criterion(outputs, targets)
|
|
|
69 |
optimizer.zero_grad()
|
70 |
loss.backward()
|
71 |
optimizer.step()
|
72 |
+
|
73 |
+
# Print loss for every batch
|
74 |
+
print(f'Epoch [{epoch+1}/{num_epochs}], Batch Loss: {loss.item():.4f}')
|
75 |
|
76 |
+
# Print epoch summary
|
77 |
print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}')
|
78 |
|
79 |
# Step 7: Save the Model
|