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)]))
Ejemplo n.º 6
0
        '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)