`X` in pyro GPLVM - why does it have a scale of one?

On this line in the pyro GPLVM code:

… why is the scale of X set to 1?

@aditya You can change it to

gplvm.X = PyroSample(dist.Normal(X.new_zeros(X.shape), 0.1).to_event())

if you want. The implementation is just an example of how to put a prior on a parameter for gp models (the gplvm tutorial does not even use GPLVM), so 1 is used for simplicity. There is no other reason for why 1 is used there.

I see, so it is a prior. If I use my own variational guide, is there any change that I’d have to make to gplvm.X?

I think that “no”. Your code with VarParams in other thread looks correct to me.