def sample(self, size=1, sess=None): """z ~ q(z | lambda)""" pi = sess.run(self.pi) z = np.zeros((size, self.num_vars)) for i in range(self.num_factors): z[:, (i*self.K):((i+1)*self.K)] = multinomial.rvs(1, pi[i, :], size=size) return z
def sample(self, size=1): """x ~ p(x | params)""" pi = self.pi.eval() x = np.zeros((size, self.num_vars)) for i in range(self.num_factors): x[:, (i*self.K):((i+1)*self.K)] = multinomial.rvs(1, pi[i, :], size=size) return x
def sample(self, size=1): """z ~ q(z | lambda)""" pi = self.pi.eval() z = np.zeros((size, self.num_vars)) for i in range(self.num_factors): z[:, (i * self.K):((i + 1) * self.K)] = multinomial.rvs(1, pi[i, :], size=size) return z
def _test(n, p, size): val_est = multinomial.rvs(n, p, size=size).shape val_true = (size, ) + np.asarray(p).shape assert val_est == val_true
def sample(self, size=1): pi = self.pi.eval() return multinomial.rvs(np.ones(self.shape[:-1]), pi, size=size)
def np_sample(p): # get `size` from lexical scoping return multinomial.rvs(np.ones(self.shape[:-1]), p, size=n).astype(np.float32)
def np_sample(p): # get ``n`` from lexical scoping return multinomial.rvs(np.ones(self.shape[:-1]), p, size=n).astype(np.float32)