import latplan import latplan.puzzles.lightsout_twisted as p import itertools c = np.array([c for c in itertools.islice(p.generate_configs(4), 10000)]) from colors import color from functools import partial style = partial(color, fg='black', bg='white') from latplan.util.timer import Timer with Timer( style( "************************* states on cpu ***************************" )): s = p.generate_cpu(c) with Timer( style( "************************* states on gpu, batch=100 ***************************" )): s = p.generate_gpu(c, batch_size=100) with Timer( style( "************************* states on gpu, batch=1000 ***************************" )): s = p.generate_gpu(c, batch_size=1000)
importlib.reload(p) p.setup() import itertools c = [ c for c in itertools.islice(p.generate_configs(9), 10000) ] from colors import color from functools import partial style = partial(color, fg='black', bg='white') from latplan.util.timer import Timer with Timer(style("************************* states on gpu, batch=100 ***************************")): s = p.generate(c,3,3, batch_size=100) with Timer(style("************************* states on gpu, batch=1000 ***************************")): s = p.generate(c,3,3, batch_size=1000) with Timer(style("************************* validate_states on gpu, batch=100 ***************************")): print("results:", np.all(p.validate_states(s,batch_size=100)), "(should be True)") with Timer(style("************************* validate_states on gpu, batch=1000 ***************************")): print("results:", np.all(p.validate_states(s,batch_size=1000)), "(should be True)") with Timer(style("************************* validate_states + noise ***************************")): results = p.validate_states(np.clip(s+np.random.normal(0,0.1,s.shape),0,1)) print("results:", np.all(results), "(should be True)")
aae.plot(transitions, "aae_all_actions_for_a_state.png", ae=ae) from latplan.util.timer import Timer # with Timer("loading csv..."): # all_actions = np.loadtxt("{}/all_actions.csv".format(directory),dtype=np.int8) # transitions = aae.decode([np.repeat(all_actions[:1,:N], len(all_labels), axis=0), all_labels]) suc = transitions[:,N:] from latplan.util.plot import plot_grid, squarify plot_grid([x for x in ae.decode_binary(suc)], w=8, path=aae.local("aae_all_actions_for_a_state_8x16.png"), verbose=True) plot_grid([x for x in ae.decode_binary(suc)], w=16, path=aae.local("aae_all_actions_for_a_state_16x8.png"), verbose=True) plot_grid(ae.decode_binary(data[:1,:N]), w=1, path=aae.local("aae_all_actions_for_a_state_state.png"), verbose=True) if 'check' in mode: from latplan.util.timer import Timer with Timer("loading csv..."): all_actions = np.loadtxt("{}/all_actions.csv".format(directory),dtype=np.int8) with Timer("shuffling"): random.shuffle(all_actions) all_actions = all_actions[:10000] count = 0 try: pre_states = all_actions[:,:N] suc_states = all_actions[:,N:] pre_images = ae.decode_binary(pre_states,batch_size=1000) suc_images = ae.decode_binary(suc_states,batch_size=1000) import progressbar as pb bar = pb.ProgressBar(