log hyperopt progress to stdout instead to the logger

This commit is contained in:
gcarq 2018-03-25 22:57:40 +02:00
parent 403f59ef45
commit f4077a51c1
2 changed files with 5 additions and 4 deletions

View File

@ -217,13 +217,13 @@ class Hyperopt(Backtesting):
""" """
if results['loss'] < self.current_best_loss: if results['loss'] < self.current_best_loss:
self.current_best_loss = results['loss'] self.current_best_loss = results['loss']
log_msg = '{:5d}/{}: {}. Loss {:.5f}'.format( log_msg = '\n{:5d}/{}: {}. Loss {:.5f}'.format(
results['current_tries'], results['current_tries'],
results['total_tries'], results['total_tries'],
results['result'], results['result'],
results['loss'] results['loss']
) )
logger.info(log_msg) print(log_msg)
else: else:
print('.', end='') print('.', end='')
sys.stdout.flush() sys.stdout.flush()

View File

@ -124,7 +124,7 @@ def test_loss_calculation_has_limited_profit(init_hyperopt) -> None:
assert under > correct assert under > correct
def test_log_results_if_loss_improves(init_hyperopt, caplog) -> None: def test_log_results_if_loss_improves(init_hyperopt, capsys) -> None:
hyperopt = _HYPEROPT hyperopt = _HYPEROPT
hyperopt.current_best_loss = 2 hyperopt.current_best_loss = 2
hyperopt.log_results( hyperopt.log_results(
@ -135,7 +135,8 @@ def test_log_results_if_loss_improves(init_hyperopt, caplog) -> None:
'result': 'foo' 'result': 'foo'
} }
) )
assert log_has(' 1/2: foo. Loss 1.00000', caplog.record_tuples) out, err = capsys.readouterr()
assert ' 1/2: foo. Loss 1.00000'in out
def test_no_log_if_loss_does_not_improve(init_hyperopt, caplog) -> None: def test_no_log_if_loss_does_not_improve(init_hyperopt, caplog) -> None: