def sample(self, size=1):
pvals = [e.weight for e in self.__elements]
u = self.__randomstate.multinomial(1, pvals, size)
result = []
for sample in u:
elementidx = np.ravel(np.where(sample))[0]
result.append(self.__elements[elementidx].distribution.sample()[0])
return np.array(result)
评论列表
文章目录