Skip to content

Commit

Permalink
Support integer learning rates (#279)
Browse files Browse the repository at this point in the history
  • Loading branch information
myleott committed May 14, 2018
1 parent e987c9e commit 5bccaca
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions fairseq/options.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,15 @@ def get_generation_parser(interactive=False):
return parser


def _eval_float_list(x):
if isinstance(x, str):
x = eval(x)
try:
return list(x)
except:
return [float(x)]


def parse_args_and_arch(parser, input_args=None):
# The parser doesn't know about model/criterion/optimizer-specific args, so
# we parse twice. First we parse the model/criterion/optimizer, then we
Expand All @@ -59,9 +68,8 @@ def parse_args_and_arch(parser, input_args=None):
args = parser.parse_args(input_args)

# Post-process args.
args.lr = eval(args.lr)
args.lr = [args.lr] if isinstance(args.lr, float) else list(args.lr)
args.update_freq = list(map(float, args.update_freq.split(',')))
args.lr = _eval_float_list(args.lr)
args.update_freq = _eval_float_list(args.update_freq)
if args.max_sentences_valid is None:
args.max_sentences_valid = args.max_sentences

Expand Down

0 comments on commit 5bccaca

Please sign in to comment.