def samples(self, gp, Y_metadata=None):
orig_shape = gp.shape<EOL>gp = gp.flatten()<EOL>gp = gp.flatten()<EOL>Ysim = np.array([np.random.normal(self.gp_link.transf(gpj), scale=np.sqrt(self.variance), size=<NUM_LIT:1>) for gpj in 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