Skip to content
Snippets Groups Projects
Commit 7ecb50b6 authored by Dipam Chakraborty's avatar Dipam Chakraborty
Browse files

No LR Scheduler + 10 Epochs + Unfreeze all layers + No Training Blur

parent f5ca0510
No related branches found
No related tags found
No related merge requests found
...@@ -32,9 +32,6 @@ class ZEWDPCModel(torch.nn.Module): ...@@ -32,9 +32,6 @@ class ZEWDPCModel(torch.nn.Module):
self.base_model = torchvision.models.efficientnet_b4( self.base_model = torchvision.models.efficientnet_b4(
pretrained=self.use_pretrained, pretrained=self.use_pretrained,
) )
# Freeze feature extration layers
for param in self.base_model.features.parameters():
param.requires_grad = False
# Replace the final FC layer to support # Replace the final FC layer to support
# the required number of classes # the required number of classes
......
...@@ -25,7 +25,6 @@ from evaluator.evaluation_metrics import get_zew_dpc_metrics ...@@ -25,7 +25,6 @@ from evaluator.evaluation_metrics import get_zew_dpc_metrics
import torch import torch
import torchvision import torchvision
from torchvision import transforms as T from torchvision import transforms as T
from torch.optim.lr_scheduler import ReduceLROnPlateau, CosineAnnealingLR
import torchmetrics import torchmetrics
...@@ -171,8 +170,6 @@ class ZEWDPCTrainer: ...@@ -171,8 +170,6 @@ class ZEWDPCTrainer:
lr = self.hparams["learning_rate"] lr = self.hparams["learning_rate"]
optimizer = torch.optim.Adam(params=self.model.parameters(), lr=lr) optimizer = torch.optim.Adam(params=self.model.parameters(), lr=lr)
lr_sched = CosineAnnealingLR(optimizer, num_epochs, eta_min=1e-5, last_epoch=-1, verbose=True)
# Setup Metric Meters # Setup Metric Meters
val_loss_avg_meter = AverageMeter() val_loss_avg_meter = AverageMeter()
train_loss_avg_meter = AverageMeter() train_loss_avg_meter = AverageMeter()
...@@ -264,8 +261,6 @@ class ZEWDPCTrainer: ...@@ -264,8 +261,6 @@ class ZEWDPCTrainer:
val_loss_avg_meter.update(loss.item(), image.shape[0]) val_loss_avg_meter.update(loss.item(), image.shape[0])
tqdm_iter.set_postfix(avg_val_loss=val_loss_avg_meter.avg) tqdm_iter.set_postfix(avg_val_loss=val_loss_avg_meter.avg)
lr_sched.step()
print( print(
"Epoch %d - Average Val Loss: %.5f \t Val F1: %.5f \t Learning Rate %0.5f" "Epoch %d - Average Val Loss: %.5f \t Val F1: %.5f \t Learning Rate %0.5f"
% ( % (
...@@ -279,8 +274,6 @@ class ZEWDPCTrainer: ...@@ -279,8 +274,6 @@ class ZEWDPCTrainer:
best_val_loss = val_loss_avg_meter.avg best_val_loss = val_loss_avg_meter.avg
self.best_model = copy.deepcopy(self.model) self.best_model = copy.deepcopy(self.model)
train_metrics = {"f1": train_f1.compute().item()} train_metrics = {"f1": train_f1.compute().item()}
val_metrics = {"f1": val_f1.compute().item()} val_metrics = {"f1": val_f1.compute().item()}
info = {"learning_rate": optimizer.param_groups[0]["lr"]} info = {"learning_rate": optimizer.param_groups[0]["lr"]}
......
...@@ -131,7 +131,7 @@ else: ...@@ -131,7 +131,7 @@ else:
trainer = ZEWDPCTrainer(num_classes=6, use_pretrained=True) trainer = ZEWDPCTrainer(num_classes=6, use_pretrained=True)
trainer.train( trainer.train(
aggregated_dataset, num_epochs=25, validation_percentage=0.1, batch_size=64 aggregated_dataset, num_epochs=10, validation_percentage=0.1, batch_size=32
) )
y_pred = trainer.predict(val_dataset) y_pred = trainer.predict(val_dataset)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment