def visualize_rbn_state(n=100, working_dir=None): if not working_dir: working_dir = get_working_dir() rbn, rbn_name = glob_load(working_dir + '*-reservoir')[0] rbn.reset_state() if not user_denies('Perturb?'): test_data, _ = glob_load(working_dir + '*-dataset')[0] test_input, _ = test_data test_input = test_input[:n] else: test_input = np.zeros((n, 1)) rbn.should_perturb = False rbn_states = rbn._execute(test_input) plt.matshow(rbn_states, cmap=plt.cm.gray) plt.axis('off') #plt.xlabel('State of node n in RBN') #plt.gca().xaxis.set_label_position('top') #plt.ylabel('Time') plt.savefig(raw_input('Name: '), bbox_inches='tight')
# Set pickle working dir working_dir = get_working_dir() log.setup(logging.DEBUG, path=working_dir) log_git_info() # Create datasets use_existing_dataset = user_confirms('Use existing dataset in folder?') if use_existing_dataset: test_dataset, _ = glob_load(working_dir + '*-dataset')[0] dataset_description = '[dataset_from_folder]' else: datasets, dataset_description = create_dataset() training_dataset, test_dataset = datasets[:-1], datasets[-1] if not use_existing_dataset and not user_denies('Pickle test dataset?'): dump(test_dataset, dataset_description + '-dataset', folder=working_dir) # Create or load reservoir and readout layer if user_confirms('Use readout layer from folder?'): readout, _ = glob_load(working_dir + '*readout')[0] else: rbn_reservoir = create_reservoir() readout = Oger.nodes.RidgeRegressionNode( input_dim=rbn_reservoir.output_dim, output_dim=1, verbose=True) # Train and execute newly created flow flow = mdp.Flow([rbn_reservoir, readout], verbose=1)
# Set pickle working dir working_dir = get_working_dir() log.setup(logging.DEBUG, path=working_dir) log_git_info() # Create datasets use_existing_dataset = user_confirms('Use existing dataset in folder?') if use_existing_dataset: test_dataset, _ = glob_load(working_dir + '*-dataset')[0] dataset_description = '[dataset_from_folder]' else: datasets, dataset_description = create_dataset() training_dataset, test_dataset = datasets[:-1], datasets[-1] if not use_existing_dataset and not user_denies('Pickle test dataset?'): dump(test_dataset, dataset_description + '-dataset', folder=working_dir) # Create or load reservoir and readout layer if user_confirms('Use readout layer from folder?'): readout, _ = glob_load(working_dir + '*readout')[0] else: rbn_reservoir = create_reservoir() readout = Oger.nodes.RidgeRegressionNode( input_dim=rbn_reservoir.output_dim, output_dim=1, verbose=True) # Train and execute newly created flow flow = mdp.Flow([rbn_reservoir, readout], verbose=1) flow.train([None, training_dataset])