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)
Beispiel #2
0
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)")
Beispiel #3
0
        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(