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
def run(self): """В функции создаётся объект модели. Данные передаются в модель. Модель возвращает результат """ evaluator = Evaluator() evaluator.fit(self.list1, self.list2) results = evaluator.evaluate() self.throw_resalts.emit(results)
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