示例#1
0
文件: Laura.py 项目: hycis/Pynet
    def run(self):

        dataset = self.build_dataset()
        learning_rule = self.build_learning_rule()
        learn_method = self.build_learning_method()

        if self.state.num_layers == 1:
            model = self.build_one_hid_model(dataset.feature_size())
        elif self.state.num_layers == 2:
            model = self.build_two_hid_model(dataset.feature_size())
        elif self.state.num_layers == 3:
            model = self.build_three_hid_model(dataset.feature_size())
        else:
            raise ValueError()

        database = self.build_database(dataset, learning_rule, learn_method, model)
        log = self.build_log(database)

        dataset.log = log

        train_obj = TrainObject(
            log=log, dataset=dataset, learning_rule=learning_rule, learning_method=learn_method, model=model
        )

        train_obj.run()

        log.info("Fine Tuning")

        for layer in train_obj.model.layers:
            layer.dropout_below = None
            layer.noise = None

        train_obj.setup()
        train_obj.run()
示例#2
0
    def run(self):

        dataset = self.build_dataset()
        learning_rule = self.build_learning_rule()
        learn_method = self.build_learning_method()

        model = self.build_model()

        if self.state.fine_tuning_only:
            for layer in model.layers:
                layer.dropout_below = None
                layer.noise = None
            print "Fine Tuning Only"

        if self.state.log.save_to_database_name:
            database = self.build_database(dataset, learning_rule, learn_method, model)
            database['records']['model'] = self.state.hidden1.model
            log = self.build_log(database)

        train_obj = TrainObject(log = log,
                                dataset = dataset,
                                learning_rule = learning_rule,
                                learning_method = learn_method,
                                model = model)

        train_obj.run()

        if not self.state.fine_tuning_only:
            log.info("..Fine Tuning after Noisy Training")
            for layer in train_obj.model.layers:
                layer.dropout_below = None
                layer.noise = None
            train_obj.setup()
            train_obj.run()
示例#3
0
    def run(self):

        dataset = self.build_dataset()
        learning_rule = self.build_learning_rule()
        learn_method = self.build_learning_method()

        if self.state.num_layers == 1:
            model = self.build_one_hid_model_no_transpose(dataset.feature_size())
        else:
            raise ValueError()

        if self.state.log.save_to_database_name:
            database = self.build_database(dataset, learning_rule, learn_method, model)
            log = self.build_log(database)

        train_obj = TrainObject(log = log,
                                dataset = dataset,
                                learning_rule = learning_rule,
                                learning_method = learn_method,
                                model = model)

        train_obj.run()

        # fine tuning
        log.info("fine tuning")
        train_obj.model.layers[0].dropout_below = None
        train_obj.setup()
        train_obj.run()
示例#4
0
文件: MLP.py 项目: hycis/Pynet
 def run(self):
     dataset = self.build_dataset()
     learning_rule = self.build_learning_rule()
     model = self.build_model(dataset)
     learn_method = self.build_learning_method()
     database = self.build_database(dataset, learning_rule, learn_method, model)
     log = self.build_log(database)
     train_obj = TrainObject(log = log,
                             dataset = dataset,
                             learning_rule = learning_rule,
                             learning_method = learn_method,
                             model = model)
     train_obj.run()
     log.info("fine tuning")
     for layer in train_obj.model.layers:
         layer.dropout_below = None
         layer.noise = None
     train_obj.setup()
     train_obj.run()
示例#5
0
文件: MLP.py 项目: hycis/Pynet
 def run(self):
     dataset = self.build_dataset()
     learning_rule = self.build_learning_rule()
     model = self.build_model(dataset)
     learn_method = self.build_learning_method()
     database = self.build_database(dataset, learning_rule, learn_method,
                                    model)
     log = self.build_log(database)
     train_obj = TrainObject(log=log,
                             dataset=dataset,
                             learning_rule=learning_rule,
                             learning_method=learn_method,
                             model=model)
     train_obj.run()
     log.info("fine tuning")
     for layer in train_obj.model.layers:
         layer.dropout_below = None
         layer.noise = None
     train_obj.setup()
     train_obj.run()
示例#6
0
    def run(self):

        dataset = self.build_dataset()
        learning_rule = self.build_learning_rule()
        learn_method = self.build_learning_method()

        if self.state.num_layers == 1:
            model = self.build_one_hid_model_no_transpose(
                dataset.feature_size())
        elif self.state.num_layers == 2:
            model = self.build_two_hid_model_no_transpose(
                dataset.feature_size())
        elif self.state.num_layers == 3:
            model = self.build_three_hid_model_no_transpose(
                dataset.feature_size())
        else:
            raise ValueError()

        database = self.build_database(dataset, learning_rule, learn_method,
                                       model)
        log = self.build_log(database)

        dataset.log = log

        train_obj = TrainObject(log=log,
                                dataset=dataset,
                                learning_rule=learning_rule,
                                learning_method=learn_method,
                                model=model)

        train_obj.run()

        log.info("Fine Tuning")

        for layer in train_obj.model.layers:
            layer.dropout_below = None
            layer.noise = None

        train_obj.setup()
        train_obj.run()