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,22 +65,20 @@ def distributed_init(args):
rank=args.distributed_rank,
)
if not is_master(args):
suppress_output()
suppress_output(is_master(args))
return args.distributed_rank
def suppress_output():
def suppress_output(is_master):
"""Suppress printing on the current device. Force printing with `force=True`."""
import builtins as __builtin__
builtin_print = __builtin__.print
def print(*args, **kwargs):
if 'force' in kwargs:
force = kwargs.pop('force')
if force:
builtin_print(*args, **kwargs)
force = kwargs.pop('force', False)
if is_master or force:
builtin_print(*args, **kwargs)
__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