Passed
Push — master ( 4bb259...06915f )
by Simon
04:09
created

hyperactive.results_manager   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 52
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 31
dl 0
loc 52
rs 10
c 0
b 0
f 0
wmc 5

5 Methods

Rating   Name   Duplication   Size   Complexity  
A ResultsManagerMemory.load_long_term_memory() 0 2 1
A ResultsManagerMemory.__init__() 0 13 1
A ResultsManager.__init__() 0 5 1
A ResultsManagerBase.__init__() 0 9 1
A ResultsManagerMemory.save_long_term_memory() 0 2 1
1
# Author: Simon Blanke
2
# Email: [email protected]
3
# License: MIT License
4
5
6
from optimization_metadata import HyperactiveWrapper
7
from .meta_data.meta_data_path import meta_data_path
8
9
10
class ResultsManagerBase:
11
    def __init__(
12
        self, search_name, objective_function, search_space, function_parameter,
13
    ):
14
        self.search_name = search_name
15
        self.objective_function = objective_function
16
        self.search_space = search_space
17
        self.function_parameter = function_parameter
18
19
        self.memory_dict_new = {}
20
21
22
class ResultsManager(ResultsManagerBase):
23
    def __init__(
24
        self, search_name, objective_function, search_space, function_parameter,
25
    ):
26
        super().__init__(
27
            search_name, objective_function, search_space, function_parameter
28
        )
29
30
31
class ResultsManagerMemory(ResultsManagerBase):
32
    def __init__(
33
        self, search_name, objective_function, search_space, function_parameter,
34
    ):
35
        super().__init__(
36
            search_name, objective_function, search_space, function_parameter
37
        )
38
39
        self.hypermem = HyperactiveWrapper(
40
            main_path=meta_data_path(),
41
            X=function_parameter["features"],
42
            y=function_parameter["target"],
43
            model=self.objective_function,
44
            search_space=search_space,
45
        )
46
47
    def load_long_term_memory(self):
48
        return self.hypermem.load()
49
50
    def save_long_term_memory(self):
51
        self.hypermem.save(self.memory_dict_new)
52