mgplvm.optimisers.svgp module

mgplvm.optimisers.svgp.fit(dataset, model, optimizer=<class 'torch.optim.adam.Adam'>, n_mc=32, burnin=100, lrate=0.001, max_steps=1000, stop=None, print_every=50, mask_Ts=None, neuron_idxs=None, prior_m=None, analytic_kl=False, accumulate_gradient=True, batch_mc=None)[source]
Parameters
datasetUnion[Tensor,DataLoader]

data matrix of dimensions (n_samples x n x m)

modelSvgpLvm

model to be trained

n_mcint

number of MC samples for estimating the ELBO

burninint

number of iterations to burn in during optimization

lratefloat

initial learning rate passed to the optimizer

max_stepsOptional[int], default=1000

maximum number of training iterations

mgplvm.optimisers.svgp.print_progress(model, n, m, n_samples, i, loss_val, kl_val, svgp_elbo_val, print_every=50, Y=None, batch_idxs=None, sample_idxs=None)[source]
mgplvm.optimisers.svgp.sort_params(model, hook)[source]

apply burnin period to Sigma_Q and alpha^2 allow for masking of certain conditions for use in crossvalidation