read hyperopt results from pickle or json
This commit is contained in:
parent
06bf1aa274
commit
3cbe40875d
@ -31,15 +31,27 @@ class HyperoptTools():
|
|||||||
else:
|
else:
|
||||||
return any(s in config['spaces'] for s in [space, 'all', 'default'])
|
return any(s in config['spaces'] for s in [space, 'all', 'default'])
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _read_results_pickle(results_file: Path) -> List:
|
||||||
|
"""
|
||||||
|
Read hyperopt results from pickle file
|
||||||
|
LEGACY method - new files are written as json and cannot be read with this method.
|
||||||
|
"""
|
||||||
|
from joblib import load
|
||||||
|
|
||||||
|
logger.info(f"Reading pickled epochs from '{results_file}'")
|
||||||
|
data = load(results_file)
|
||||||
|
return data
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _read_results(results_file: Path) -> List:
|
def _read_results(results_file: Path) -> List:
|
||||||
"""
|
"""
|
||||||
Read hyperopt results from file
|
Read hyperopt results from file
|
||||||
"""
|
"""
|
||||||
from joblib import load
|
import rapidjson
|
||||||
|
logger.info(f"Reading epochs from '{results_file}'")
|
||||||
logger.info("Reading epochs from '%s'", results_file)
|
with results_file.open('r') as f:
|
||||||
data = load(results_file)
|
data = [rapidjson.loads(line) for line in f]
|
||||||
return data
|
return data
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@ -49,6 +61,9 @@ class HyperoptTools():
|
|||||||
"""
|
"""
|
||||||
epochs: List = []
|
epochs: List = []
|
||||||
if results_file.is_file() and results_file.stat().st_size > 0:
|
if results_file.is_file() and results_file.stat().st_size > 0:
|
||||||
|
if results_file.suffix == '.pickle':
|
||||||
|
epochs = HyperoptTools._read_results_pickle(results_file)
|
||||||
|
else:
|
||||||
epochs = HyperoptTools._read_results(results_file)
|
epochs = HyperoptTools._read_results(results_file)
|
||||||
# Detection of some old format, without 'is_best' field saved
|
# Detection of some old format, without 'is_best' field saved
|
||||||
if epochs[0].get('is_best') is None:
|
if epochs[0].get('is_best') is None:
|
||||||
|
Loading…
Reference in New Issue
Block a user