Ejemplo n.º 1
0
def get_problem_from_model(task_json, model, size):
    p = Problem()
    data = dict()
    data["train"] = []
    data["test"] = []
    for pair in task_json['train']:
        inp = pair["input"]
        oup = predict(inp, model, size)
        data["train"].append({"input": oup, "output": pair["output"]})
    for pair in task_json['test']:
        inp = pair["input"]
        oup = predict(inp, model, size)
        data["test"].append({"input": oup})
    p.initialize(data)
    return p
    def load_file(self, i, file_list):
        """load and initialize(pre solve) problem"""
        p = Problem()
        if file_list == "train":
            with open(os.path.join(os.path.dirname(__file__), f"../../input/training/{train_file_list[i]}"), "r") as f:
                data = json.load(f)
                self.task_json = data
                self.json_name = train_file_list[i][:-5]
                if self.verbose:
                    print("train", i)
                p.initialize(data)
                for j in range(len(data["test"])):
                    answer_arr = data["test"][j]["output"]
                    answer_str = "|" + "|".join(["".join(map(str, x)) for x in answer_arr]) + "|"
                    self.answer_list.append(answer_str)
        else:
            with open(os.path.join(os.path.dirname(__file__), f"../../input/evaluation/{eval_file_list[i]}"), "r") as f:
                data = json.load(f)
                self.task_json = data
                self.json_name = eval_file_list[i][:-5]
                if self.verbose:
                    print("eval", i)
                p.initialize(data)
                for j in range(len(data["test"])):
                    answer_arr = data["test"][j]["output"]
                    answer_str = "|" + "|".join(["".join(map(str, x)) for x in answer_arr]) + "|"
                    self.answer_list.append(answer_str)

        self.original_problem = p
        self.problem_hand = p

        # static solvers
        for op in static_solvers:
            self.pre_solve(op)

        return None
 def initialize_from_data(self, data):
     p = Problem()
     p.initialize(data)
     self.original_problem = p
     self.problem_hand = p
     return None