search
Search
¶
Base class which other searches inherit from.
The base search class takes care of evaluation logging, saving and loading, and is also able to recover from interrupted search runs and cache the search history.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
eval_fn |
Callable[..., Dict]
|
Function that evaluates result given parameter. One of its arguments must be 'search_idx' which will be automatically provided by the search routine. This can help with file saving / logging during the search. The eval_fn should return a dictionary, or else the return would be wrapped inside one. |
required |
name |
str
|
The name of the search instance. This is used for saving and loading purposes. |
'search'
|
Raises:
Type | Description |
---|---|
AssertionError
|
If |
Source code in fastestimator/fastestimator/search/search.py
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 |
|
evaluate
¶
Evaluate the eval_fn and return the result.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
kwargs |
Any
|
Any keyword argument(s) to pass to the score function. Should not contain search_idx as this will be populated manually here. |
{}
|
Returns:
Type | Description |
---|---|
Dict[str, Union[float, int, str]]
|
result returned by |
Source code in fastestimator/fastestimator/search/search.py
fit
¶
Start the search.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
save_dir |
str
|
When |
None
|
Source code in fastestimator/fastestimator/search/search.py
get_best_results
¶
Get the best result from the current search summary.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
best_mode |
Optional[str]
|
Whether maximal or minimal objective is desired. Must be either 'min' or 'max'. |
None
|
optimize_field |
Optional[str]
|
the key corresponding to the target value when deciding the best. If None and multiple keys exist in result dictionary, the optimization is ambiguous therefore an error will be raised. |
None
|
Returns:
Type | Description |
---|---|
Dict[str, Dict[str, Any]]
|
The best results in the format of {"param":parameter, "result": result} |
Source code in fastestimator/fastestimator/search/search.py
get_search_summary
¶
Get the current search history.
Returns:
Type | Description |
---|---|
List[Dict[str, Dict[str, Any]]]
|
The evaluation history list, with each element being a tuple of parameters and score. |
Source code in fastestimator/fastestimator/search/search.py
load
¶
Load the search summary from a given directory. It will look for name.json
within the load_dir
.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
load_dir |
str
|
The folder path to load the state from. |
required |
not_exist_ok |
bool
|
whether to ignore when the file does not exist. |
False
|
Source code in fastestimator/fastestimator/search/search.py
save
¶
Save the state of the instance to a specific directory, it will create name.json
file in the save_dir
.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
save_dir |
str
|
The folder path to save to. |
required |