Source code for mgplvm.models.svgplvm

from __future__ import print_function
import numpy as np
from ..utils import softplus
from . import svgp
from .. import rdist, kernels, utils
import torch
from torch import nn, Tensor
from torch.distributions.multivariate_normal import MultivariateNormal
import torch.nn.functional as F
import pickle
from .. import lpriors
from ..inducing_variables import InducingPoints
from ..kernels import Kernel
from ..likelihoods import Likelihood
from ..lpriors.common import Lprior
from ..rdist import Rdist

from .gplvm import Gplvm


[docs]class SvgpLvm(Gplvm): name = "Svgplvm" def __init__(self, n: int, m: int, n_samples: int, z: InducingPoints, kernel: Kernel, likelihood: Likelihood, lat_dist: Rdist, lprior: Lprior, whiten: bool = True, tied_samples=True): """ __init__ method for GPLVM model with svgp observation model Parameters ---------- n : int number of neurons m : int number of conditions n_samples: int number of samples z : Inducing Points inducing points kernel : Kernel kernel used for GP regression likelihood : Likelihood likelihood p(y|f) lat_dist : rdist latent distribution lprior: Lprior log prior over the latents whiten: bool parameter passed to Svgp """ #p(Y|X) obs = svgp.Svgp(kernel, n, m, n_samples, z, likelihood, whiten=whiten, tied_samples=tied_samples) super().__init__(obs, lat_dist, lprior, n, m, n_samples)