def test_that_the_output_is_of_the_correct_scale(self): # create random weights self.make_model() self.weights_path = os.path.join(self.weights_folder, 'testweights_E001_.hdf5') self.rdn.save_weights(self.weights_path) # test the network with random weights self.create_random_dataset('correct', dataset_size=1) cl_args = ['--no_verbose', '--test'] test_args = { 'test_folder': self.dataset_folder['correct']['LR'], 'results_folder': self.results_folder, 'weights_path': self.weights_path, } parser = get_parser() cl_args = parser.parse_args(cl_args) cl_args = vars(cl_args) load_configuration(cl_args, '../config.json') cl_args.update(test_args) cl_args.update(self.model_params) run.main(cl_args) for file in os.listdir(self.results_folder): img = imageio.imread(os.path.join(self.results_folder, file)) self.assertTrue(img.shape == (self.img_size['HR'], self.img_size['HR'], 3))
def test_that_configuration_is_loaded_correctly(self): parser = get_parser() cl_args = parser.parse_args(['--train', '--custom-data']) cl_args = vars(cl_args) load_configuration(cl_args, '../config.json') self.assertTrue(isinstance(cl_args['G'], int)) self.assertTrue(cl_args['log_dir'] == './logs') self.assertTrue(cl_args['weights_dir'] == './weights') self.assertTrue(cl_args['data_name'] == 'CUSTOM')
def test_if_train_is_executed(self): self.create_random_dataset('correct', dataset_size=14) train_arguments = { 'validation_labels': self.dataset_folder['correct']['HR'], 'validation_input': self.dataset_folder['correct']['LR'], 'training_labels': self.dataset_folder['correct']['HR'], 'training_input': self.dataset_folder['correct']['LR'], } cl_args = ['--pytest', '--no_verbose'] parser = get_parser() cl_args = parser.parse_args(cl_args) cl_args = vars(cl_args) load_configuration(cl_args, '../config.json') cl_args.update(train_arguments) run.main(cl_args) self.assertTrue(1 != 0)
def test_if_trainable_weights_update_with_one_step(self): self.scale = self.model_params['scale'] self.img_size = {'HR': 10 * self.scale, 'LR': 10} self.dataset_size = 8 self.create_random_dataset(type='correct') before_step = [] for layer in self.model.rdn.layers: if len(layer.trainable_weights) > 0: before_step.append(layer.get_weights()[0]) train_arguments = { 'validation_labels': self.dataset_folder['correct']['HR'], 'validation_input': self.dataset_folder['correct']['LR'], 'training_labels': self.dataset_folder['correct']['HR'], 'training_input': self.dataset_folder['correct']['LR'], } cl_args = ['--pytest', '--no_verbose'] parser = get_parser() cl_args = parser.parse_args(cl_args) cl_args = vars(cl_args) load_configuration(cl_args, '../config.json') cl_args.update(train_arguments) trainer = Trainer(train_arguments=cl_args) i = 0 for layer in self.model.rdn.layers: if len(layer.trainable_weights) > 0: self.assertTrue( np.all(before_step[i] == layer.get_weights()[0])) i += 1 trainer.train_model(self.model) i = 0 for layer in self.model.rdn.layers: if len(layer.trainable_weights) > 0: self.assertFalse( np.all(before_step[i] == layer.get_weights()[0])) i += 1
sm_inp.active = False vm_nrn.active = False for vm in vm_br: vm.active = False core.kernel.run_chunk(simulation_time - 40, 0, simulation_time) sm_inp.active = True vm_nrn.active = True for vm in vm_br: vm.active = True core.kernel.run_chunk(20.0, 0, simulation_time) if __name__ == '__main__': import copy from scoop import futures # Load the configuration file. config = utils.load_configuration("config_rewiring_ex1.yaml") configs = [] num_trials = 25 for trial in range(num_trials): config["master_seed"] = 10 * (trial + 1) configs.append(copy.deepcopy(config)) r = list( futures.map(main, [[trial, config] for trial, config in enumerate(configs)]))
'c_dim': 3, 'G0': arguments['G0'], } model = load_model(model_parameters, arguments['vgg'], verbose=arguments['verbose']) if arguments['summary'] is True: model.rdn.summary() if arguments['train'] is True: from trainer.train import Trainer trainer = Trainer(train_arguments=arguments) trainer.train_model(model) if arguments['test'] is True: from predict.predict import Predictor predictor = Predictor(test_arguments=arguments) predictor.get_predictions(model) if __name__ == '__main__': parser = get_parser() cl_args = parser.parse_args() cl_args = vars(cl_args) load_configuration(cl_args) main(cl_args)