It is clear that axis-aligned gaussian can be created using torch.distributions.Normal and if we need to compute KL we can wrap it into Independent with reinterpretation.
My questions is: can we achieve the same result for a given mean and sigma using the torch.distributions.MultivariateNormal ?
example case:
batch_size = 5
event dims = 2

>>> mu = torch.ones([5,2])
>>> log_sig = torch.ones([5,2])
>>> indep = Independent(Normal(loc=mu, scale=torch.exp(log_sig)), 1)
>>> indep.event_shape, indep.batch_shape
(torch.Size([2]), torch.Size([5]))

>>> mvn = Multivariate(mu, scale_tril=torch.diag(log_sig))  # THIS FAILS obviously

How can we create a MultivariateNormal instance out of the given mu and sigma with batch_size=5 ?
How can a MultivariateNormal be instantiated so that it infers a batch_shape=torch.Size([5]) in this case?