def work(sample, simulate, accept,
queue, n_eval: Value, n_particles: Value):
random.seed()
np.random.seed()
while n_particles.value > 0:
with n_eval.get_lock():
particle_id = n_eval.value
n_eval.value += 1
new_param = sample()
new_sim = simulate(new_param)
if accept(new_sim):
with n_particles.get_lock():
n_particles.value -= 1
queue.put((particle_id, new_sim))
queue.put(DONE)
评论列表
文章目录