@SanketK Sorry for not making things clear enough in tutorials and docs. From next week, I will have time to write more on them.
About hiding things behind the scene, in my opinion, pretty much core things of a GP model lie in their class definitions. I implemented what I learned from literature, so I guess there are not many things hidden. In addition, priors and guides of kernels' parameters are not topics of GP papers, so I think that we should not focus much on them.
To combine with other models, we have
set_data method to set the input; and to get a latent output, we just use
y = None. The example sv-dkl and the docs of set_data might be good examples for combining things.
To fix parameters, we have fix_param method. To unfix it, you can raise an issue or make a pull request to implement that functionality in Parameterized class (initially, I implemented it but did not use). Something like this
def unfix_param(self, param):
if param in self._fixed_params:
untag_params, I don't use them so I don't know how to work with them. On the other hand, they were removed in Pyro 0.2 I guess.
Do you have another idea on how to make guide for an unknown GP model? I would love to know to improve the current code.