def _test_runner_simple(defn, kc_fn): views = map(numpy_dataview, toy_dataset(defn)) kc = kc_fn(defn) prng = rng() latent = model.initialize(defn, views, prng) r = runner.runner(defn, views, latent, kc) r.run(prng, 10)
def test_state_pickle(): defn = model_definition([5], [((0, 0), bb)]) r = rng() relations = toy_dataset(defn) views = map(numpy_dataview, relations) s1 = model.initialize(defn, views, r) s2 = pickle.loads(pickle.dumps(s1)) _assert_structure_equals(defn, s1, s2, views, r)
def test_runner_multiprocessing(): defn = model_definition([10, 10], [((0, 0), bb), ((0, 1), nich)]) views = map(numpy_dataview, toy_dataset(defn)) kc = runner.default_kernel_config(defn) prng = rng() latents = [model.initialize(defn, views, prng) for _ in xrange(mp.cpu_count())] runners = [runner.runner(defn, views, latent, kc) for latent in latents] r = parallel.runner(runners) # check it is restartable r.run(r=prng, niters=10) r.run(r=prng, niters=10)
def test_state_copy(): defn = model_definition([5], [((0, 0), bb)]) r = rng() relations = toy_dataset(defn) views = map(numpy_dataview, relations) s1 = model.initialize(defn, views, r) s2 = copy.copy(s1) assert_is_not(s1, s2) _assert_structure_equals(defn, s1, s2, views, r) s2 = copy.deepcopy(s1) assert_is_not(s1, s2) _assert_structure_equals(defn, s1, s2, views, r)
def test_runner_multiprocessing(): defn = model_definition([10, 10], [((0, 0), bb), ((0, 1), nich)]) views = map(numpy_dataview, toy_dataset(defn)) kc = runner.default_kernel_config(defn) prng = rng() latents = [ model.initialize(defn, views, prng) for _ in xrange(mp.cpu_count()) ] runners = [runner.runner(defn, views, latent, kc) for latent in latents] r = parallel.runner(runners) # check it is restartable r.run(r=prng, niters=10) r.run(r=prng, niters=10)