def samples(self, gp, Y_metadata=None):
orig_shape = gp.shape<EOL>gp = gp.flatten()<EOL>Ysim = np.random.exponential(<NUM_LIT:1.0>/self.gp_link.transf(gp))<EOL>return Ysim.reshape(orig_shape)<EOL>
Returns a set of samples of observations based on a given value of the latent variable.

:param gp: latent variable