Add validation and test logic

This commit is contained in:
Jensun Ravichandran
2021-05-19 16:30:19 +02:00
parent 7700bb7f8d
commit fdf9443a2c
4 changed files with 65 additions and 24 deletions

View File

@@ -7,14 +7,14 @@ import torch
if __name__ == "__main__":
# Dataset
train_ds = pt.datasets.Tecator(root="~/datasets/", train=True)
test_ds = pt.datasets.Tecator(root="~/datasets/", train=False)
# Reproducibility
pl.utilities.seed.seed_everything(seed=42)
# Dataloaders
train_loader = torch.utils.data.DataLoader(train_ds,
num_workers=0,
batch_size=32)
train_loader = torch.utils.data.DataLoader(train_ds, batch_size=32)
test_loader = torch.utils.data.DataLoader(test_ds, batch_size=32)
# Hyperparameters
nclasses = 2
@@ -23,8 +23,8 @@ if __name__ == "__main__":
distribution=(nclasses, prototypes_per_class),
input_dim=100,
latent_dim=2,
proto_lr=0.001,
bb_lr=0.001,
proto_lr=0.005,
bb_lr=0.005,
)
# Initialize the model
@@ -35,10 +35,15 @@ if __name__ == "__main__":
vis = pt.models.VisSiameseGLVQ2D(train_ds, border=0.1)
# Setup trainer
trainer = pl.Trainer(max_epochs=200, callbacks=[vis], gpus=0)
trainer = pl.Trainer(
gpus=0,
max_epochs=20,
callbacks=[vis],
weights_summary=None,
)
# Training loop
trainer.fit(model, train_loader)
trainer.fit(model, train_loader, test_loader)
# Save the model
torch.save(model, "liramlvq_tecator.pt")
@@ -48,3 +53,7 @@ if __name__ == "__main__":
# Display the Lambda matrix
saved_model.show_lambda()
# Testing
# TODO
# trainer.test(model, test_dataloaders=test_loader)

View File

@@ -48,7 +48,7 @@ if __name__ == "__main__":
hparams,
prototype_initializer=pt.components.SMI(train_ds),
backbone=backbone,
both_path_gradients=True,
both_path_gradients=False,
)
# Model summary