Commit 6117f827 authored by Wei Ho's avatar Wei Ho Committed by Facebook Github Bot
Browse files

Fix print & add more informative logging

Summary: Fix fairseq's `force` option for disabling print suppression (otherwise, `print(..., force=True)` fails on master since the force kwarg gets passed to the builtin print).

Reviewed By: dpacgopinath

Differential Revision: D10522058

fbshipit-source-id: bbc10c021a7d21396ebfbb1bf007f6b9b162f4fd
parent 0d63cf03
...@@ -65,21 +65,19 @@ def distributed_init(args): ...@@ -65,21 +65,19 @@ def distributed_init(args):
rank=args.distributed_rank, rank=args.distributed_rank,
) )
if not is_master(args): suppress_output(is_master(args))
suppress_output()
return args.distributed_rank return args.distributed_rank
def suppress_output(): def suppress_output(is_master):
"""Suppress printing on the current device. Force printing with `force=True`.""" """Suppress printing on the current device. Force printing with `force=True`."""
import builtins as __builtin__ import builtins as __builtin__
builtin_print = __builtin__.print builtin_print = __builtin__.print
def print(*args, **kwargs): def print(*args, **kwargs):
if 'force' in kwargs: force = kwargs.pop('force', False)
force = kwargs.pop('force') if is_master or force:
if force:
builtin_print(*args, **kwargs) builtin_print(*args, **kwargs)
__builtin__.print = print __builtin__.print = print
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment