--random-state for optimzer to get reproducible results added

This commit is contained in:
hroff-1902
2019-04-23 21:18:52 +03:00
parent d3e956f7cc
commit a022b1a6c1
3 changed files with 24 additions and 1 deletions

View File

@@ -315,6 +315,14 @@ class Arguments(object):
dest='print_all',
default=False
)
parser.add_argument(
'--random-state',
help='Set random state to some positive integer for reproducible hyperopt results.',
dest='hyperopt_random_state',
default=None,
type=Arguments.check_positive,
metavar='INT',
)
def _build_subcommands(self) -> None:
"""
@@ -385,6 +393,16 @@ class Arguments(object):
return TimeRange(stype[0], stype[1], start, stop)
raise Exception('Incorrect syntax for timerange "%s"' % text)
@staticmethod
def check_positive(value) -> int:
try:
uint = int(value)
if uint <= 0:
raise ValueError
except:
raise argparse.ArgumentTypeError(f"{value} is invalid for this parameter, should be a positive integer value")
return uint
def scripts_options(self) -> None:
"""
Parses given arguments for scripts.