def hanoi(disks=7, towers=4, num_examples=6500, N=None, num_actions=None, direct=None, stop_gradient=False, aeclass="ConvolutionalGumbelAE", comment=""): for name, value in locals().items(): if value is not None: parameters[name] = [value] default_parameters["aeclass"] = aeclass import latplan.puzzles.hanoi as p p.setup() path = os.path.join(latplan.__path__[0], "puzzles", "-".join(map(str, ["hanoi", disks, towers])) + ".npz") with np.load(path) as data: pre_configs = data['pres'][:num_examples] suc_configs = data['sucs'][:num_examples] pres = p.generate(pre_configs, disks, towers) sucs = p.generate(suc_configs, disks, towers) transitions = np.array([pres, sucs]) states = np.concatenate((transitions[0], transitions[1]), axis=0) data = np.swapaxes(transitions, 0, 1) print(data.shape) train = data[:int(len(data) * 0.9)] val = data[int(len(data) * 0.9):int(len(data) * 0.95)] test = data[int(len(data) * 0.95):] ae = run(os.path.join("samples", sae_path), train, val, parameters) show_summary(ae, train, test) plot_autoencoding_image(ae, test, train) dump_actions(ae, transitions) dump_states(ae, states)
def hanoi(disks=7,towers=4,limit=None): path = os.path.join(latplan.__path__[0],"puzzles","-".join(map(str,["hanoi",disks,towers]))+".npz") import latplan.puzzles.hanoi as p p.setup() pres = p.generate_random_configs(disks,towers, limit) np.random.shuffle(pres) sucs = [ random.choice(p.successors(c1,disks,towers)) for c1 in pres ] np.savez_compressed(path,pres=pres,sucs=sucs)
def lightsout(type='digital', size=4): import importlib p = importlib.import_module('latplan.puzzles.lightsout_{}'.format(type)) p.setup() ics = reservoir_sampling( lightsout_special(np.full(size * size, -1), steps, lambda config: p.successors(config)), instances) gcs = np.full((1, size * size), -1) generate(p, ics, gcs)
def lightsout(type='digital',size=4,limit=None): path = os.path.join(latplan.__path__[0],"puzzles","-".join(map(str,["lightsout",type,size]))+".npz") import importlib p = importlib.import_module('latplan.puzzles.lightsout_{}'.format(type)) p.setup() pres = p.generate_random_configs(size, limit) np.random.shuffle(pres) sucs = [ random.choice(p.successors(c1)) for c1 in pres ] np.savez_compressed(path,pres=pres,sucs=sucs)
def lightsout(type='digital', size=4): import importlib p = importlib.import_module('latplan.puzzles.lightsout_{}'.format(type)) p.setup() ics = [ random_walk(np.full(size*size,-1), steps, lambda config: p.successors(config)) for i in range(instances) ] gcs = np.full((1,size*size),-1) generate(p, ics, gcs)
def hanoi(disks=5, towers=3): import latplan.puzzles.hanoi as p p.setup() ics = [ np.zeros(disks, dtype=int), *reservoir_sampling( dijkstra(np.full(disks, towers - 1, dtype=int), steps, lambda config: p.successors(config, disks, towers)), instances - 1) ] gcs = np.full((1, disks), towers - 1, dtype=int) generate(p, ics, gcs, disks, towers)
def hanoi(disks=5, towers=3): import latplan.puzzles.hanoi as p p.setup() ics = [ np.zeros(disks, dtype=int), *[ random_walk(np.full(disks, towers - 1, dtype=int), steps, lambda config: p.successors(config, disks, towers)) for i in range(instances - 1) ] ] gcs = np.full((1, disks), towers - 1, dtype=int) generate(p, ics, gcs, disks, towers)
def hanoi(disks=7, towers=4, num_examples=6500, plannpz=None, planjson=None, allow_invalid=False): path = os.path.join("puzzles", "-".join(map(str, ["hanoi", disks, towers])) + ".npz") import latplan.puzzles.hanoi as p p.setup() common_operation(path, p, num_examples, plannpz, planjson, allow_invalid, disks, towers)
def lightsout(type='digital', size=4, num_examples=6500, plannpz=None, planjson=None, allow_invalid=False): path = os.path.join("puzzles", "-".join(map(str, ["lightsout", type, size])) + ".npz") import importlib p = importlib.import_module('latplan.puzzles.lightsout_{}'.format(type)) p.setup() common_operation(path, p, num_examples, plannpz, planjson, allow_invalid)
def lightsout(type='digital', size=4, num_examples=6500, N=None, num_actions=None, direct=None, stop_gradient=False, aeclass="ConvolutionalGumbelAE", comment="", prob_vis=1.00): for name, value in locals().items(): if value is not None: parameters[name] = [value] default_parameters["aeclass"] = aeclass import importlib p = importlib.import_module('latplan.puzzles.lightsout_{}'.format(type)) p.setup() path = os.path.join(latplan.__path__[0], "puzzles", "-".join(map(str, ["lightsout", type, size])) + ".npz") with np.load(path) as data: pre_configs = data['pres'][:num_examples] suc_configs = data['sucs'][:num_examples] # TWK: Wrap custom `add_missingness()` method around the data generators pres = add_missingness(p.generate(pre_configs), prob_vis) sucs = add_missingness(p.generate(suc_configs), prob_vis) transitions = np.array([pres, sucs]) states = np.concatenate((transitions[0], transitions[1]), axis=0) data = np.swapaxes(transitions, 0, 1) print(data.shape) train = data[:int(len(data) * 0.9)] val = data[int(len(data) * 0.9):int(len(data) * 0.95)] test = data[int(len(data) * 0.95):] ae = run(os.path.join("samples", sae_path), train, val, parameters) show_summary(ae, train, test) plot_autoencoding_image(ae, test, train) dump_actions(ae, transitions) dump_states(ae, states)