The goal of this project is to write pytorch_lightning
based wrappers around regular torch.nn.Module
that follow the approach of initializing, training and testing models defined in keras
, i.e., we would like to be able to define a model with optimizers, metrics and loss functions, train the model with a fit
function and test the model with an evaluate
method.
The target models for this work are standard supervised DNNs and gpytorch
based GP models. Extensions to unsupervised models such as autoencoders will be considered later.
Example:
model = Model() ## subclass of PLkerasModel
model.compile(optimizer, baselr, lossfn, metrics) ## compile the model with an optimizer, loss function and a dictionary of metrics
model.fit(x, y, validation_split=0.2, batch_size, epochs) ## fit the model by passing data as either `torch.Tensor` or `numpy.ndarray`.
test_results = model.evaluate(x_test, y_test)