|
1 |
| -# =============================== # |
2 |
| -# Optimization # |
3 |
| -# =============================== # |
| 1 | +# ========================================= # |
| 2 | +# Optimization # |
| 3 | +# ========================================= # |
4 | 4 |
|
5 | 5 | # Prerequisite Code
|
6 | 6 |
|
@@ -65,9 +65,9 @@ def forward(self, x):
|
65 | 65 | optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate)
|
66 | 66 |
|
67 | 67 |
|
68 |
| -# =============================== # |
69 |
| -# Full Implementation # |
70 |
| -# =============================== # |
| 68 | +# ========================================= # |
| 69 | +# Full Implementation # |
| 70 | +# ========================================= # |
71 | 71 |
|
72 | 72 | def train_loop(dataloader, model, loss_fn, optimizer):
|
73 | 73 | size = len(dataloader.dataset)
|
@@ -101,19 +101,19 @@ def test_loop(dataloader, model, loss_fn):
|
101 | 101 | print(f"Test Error: \n Accuracy: {(100 * correct):>0.1f}%, Avg loss: {test_loss:>8f} \n")
|
102 | 102 |
|
103 | 103 |
|
104 |
| -# =============================== # |
105 |
| -# Training # |
106 |
| -# =============================== # |
| 104 | +# ========================================= # |
| 105 | +# Training # |
| 106 | +# ========================================= # |
107 | 107 |
|
108 | 108 | for t in range(epochs):
|
109 | 109 | print(f"Epoch {t + 1}\n-------------------------------")
|
110 | 110 | train_loop(train_dataloader, model, loss_fn, optimizer)
|
111 | 111 | test_loop(test_dataloader, model, loss_fn)
|
112 | 112 | print("Done!")
|
113 | 113 |
|
114 |
| -# =============================== # |
115 |
| -# Save and Load the Model # |
116 |
| -# =============================== # |
| 114 | +# ========================================= # |
| 115 | +# Save and Load the Model # |
| 116 | +# ========================================= # |
117 | 117 |
|
118 | 118 | model = models.vgg16(pretrained=True)
|
119 | 119 | torch.save(model.state_dict(), 'model_weights.pth') # save the model
|
|
0 commit comments