Fix hypeopt issue when no result found

This commit is contained in:
Gerald Lonlas
2018-01-07 17:45:31 -08:00
parent fca6a09a41
commit 9c21077dc1
2 changed files with 39 additions and 7 deletions

View File

@@ -235,13 +235,26 @@ def start(args):
else:
trials = Trials()
best = fmin(fn=optimizer, space=SPACE, algo=tpe.suggest, max_evals=TOTAL_TRIES, trials=trials)
try:
best_parameters = fmin(
fn=optimizer,
space=SPACE,
algo=tpe.suggest,
max_evals=TOTAL_TRIES,
trials=trials
)
results = sorted(trials.results, key=itemgetter('loss'))
best_result = results[0]['result']
except ValueError:
best_parameters = {}
best_result = 'Sorry, Hyperopt was not able to find good parameters. Please ' \
'try with more epochs (param: -e).'
# Improve best parameter logging display
if best:
best = space_eval(SPACE, best)
if best_parameters:
best_parameters = space_eval(SPACE, best_parameters)
logger.info('Best parameters:\n%s', json.dumps(best, indent=4))
results = sorted(trials.results, key=itemgetter('loss'))
logger.info('Best Result:\n%s', results[0]['result'])
logger.info('Best parameters:\n%s', json.dumps(best_parameters, indent=4))
logger.info('Best Result:\n%s', best_result)