def _sample_n(self, n, seed=None):
shape = array_ops.concat(0, ([n], array_ops.shape(self._lam)))
# Sample uniformly-at-random from the open-interval (0, 1).
sampled = random_ops.random_uniform(
shape,
minval=np.nextafter(self.dtype.as_numpy_dtype(0.),
self.dtype.as_numpy_dtype(1.)),
maxval=array_ops.ones((), dtype=self.dtype),
seed=seed,
dtype=self.dtype)
return -math_ops.log(sampled) / self._lam
评论列表
文章目录