示例#1
0
    def _attempt(self):

        missing_numbers = self._debut_board.get_missing_numbers()
        empty_cells = self._debut_board.get_empty_cell_locations()
        number_combinations = permutations(missing_numbers,
                                           len(missing_numbers))

        for combo in number_combinations:

            cloned_board = self._debut_board.clone()
            cell_index = 0

            for empty_cell in empty_cells:
                try:
                    cloned_board.set_cell_value(empty_cell.get_x(),
                                                empty_cell.get_y(),
                                                combo[cell_index])
                    cell_index = cell_index + 1
                except NumberAssignmentError:
                    break

            if cloned_board.has_empty_cell():
                continue

            evaluator = Evaluator()
            evaluator.evaluate(cloned_board)

            if evaluator.is_complete() and evaluator.is_valid():
                self._result.complete = True
                self._result.success = True
                self._result.solution = cloned_board
                return
示例#2
0
 def run(self):
     """В функции создаётся объект 
     модели. Данные передаются в модель.
     Модель возвращает результат
     
     """
     evaluator = Evaluator()
     evaluator.fit(self.list1, self.list2)
     results = evaluator.evaluate()
     self.throw_resalts.emit(results)
示例#3
0
        
        predictor = Predictor()
        evaluator = Evaluator(predictor, label2idx, word2idx, pos2idx, args)

        best_scores = []
        best_dev_f1_sum = 0
        patience = 0

        print('\n'*2)
        print('='*10 + 'Phase1, train on train_data, epoch=args.epochs' + '='*10)
        print('\n'*2)
        for epoch in range(1, args.epochs+1):
            
            loss = train_epoch(train_data, ner_model, optimizer, criterion, args)
            print("*"*10 + "epoch:{}, loss:{}".format(epoch, loss) + "*"*10)
            eval_result_train = evaluator.evaluate(train_data, ner_model, args, cuda = args.cuda)
            print("On train_data: ")
            print_scores(eval_result_train, args)
            eval_result_dev = evaluator.evaluate(dev_data, ner_model, args, cuda = args.cuda)
            print("On dev_data: ")
            print_scores(eval_result_dev, args)

            if eval_result_dev[0][0] + eval_result_dev[0][1] >= best_dev_f1_sum:
                best_scores = [loss, eval_result_train, eval_result_dev]
                best_dev_f1_sum = eval_result_dev[0][0] + eval_result_dev[0][1]
                
                save_model(epoch, args, ner_model, best_scores, optimizer,
                           args.save_model + '/epoch{}_dev_TF1_{}_EF1_{}.model'.format(epoch, eval_result_dev[0][0], eval_result_dev[0][1]))
                print('Model saved as:', args.save_model + '/epoch{}_dev_TF1_{}_EF1_{}.model'.format(epoch, eval_result_dev[0][0], eval_result_dev[0][1]))
                best_epoch = epoch
                patience = 0