Parcourir la source

Make logging less verbose

Aleksandr Borzunov il y a 3 ans
Parent
commit
f621362466
4 fichiers modifiés avec 11 ajouts et 20 suppressions
  1. 1 2
      run_aux_peer.py
  2. 2 3
      run_trainer.py
  3. 4 2
      run_trainer_tpu.py
  4. 4 13
      utils.py

+ 1 - 2
run_aux_peer.py

@@ -14,8 +14,7 @@ from arguments import AuxiliaryPeerArguments, CollaborativeArguments, HFTrainerA
 from task import TrainingTask
 
 
-transformers.utils.logging.disable_default_handler()
-transformers.utils.logging.enable_propagation()
+transformers.utils.logging.set_verbosity_warning()
 use_hivemind_log_handler("in_root_logger")
 logger = get_logger(__name__)
 

+ 2 - 3
run_trainer.py

@@ -15,8 +15,7 @@ from arguments import TrainingPeerArguments, HFTrainerArguments, CollaborativeAr
 from task import TrainingTask
 
 
-transformers.utils.logging.disable_default_handler()
-transformers.utils.logging.enable_propagation()
+transformers.utils.logging.set_verbosity_warning()
 use_hivemind_log_handler("in_root_logger")
 logger = get_logger(__name__)
 
@@ -29,7 +28,7 @@ def main():
     # if len(training_peer_args.initial_peers) == 0:
     #     logger.warning("Please specify at least one network endpoint in initial peers.")
 
-    utils.setup_logging(trainer_args)
+    utils.log_process_rank(trainer_args)
     task = TrainingTask(training_peer_args, trainer_args, collab_args)
     model = task.model.to(trainer_args.device)
 

+ 4 - 2
run_trainer_tpu.py

@@ -3,7 +3,7 @@ import time
 
 import wandb
 import torch
-import transformers.training_args
+import transformers
 from hivemind.utils.logging import get_logger, use_hivemind_log_handler
 from transformers import HfArgumentParser
 
@@ -13,6 +13,8 @@ from lib.training.tpu import TPUManager
 from callback import CollaborativeCallback
 from task import TrainingTask
 
+
+transformers.utils.logging.set_verbosity_warning()
 use_hivemind_log_handler("in_root_logger")
 logger = get_logger()
 
@@ -27,7 +29,7 @@ def main():
     if len(peer_args.initial_peers) == 0:
         logger.warning("Please specify at least one network endpoint in initial peers.")
 
-    utils.setup_logging(trainer_args)
+    utils.log_process_rank(trainer_args)
     task = TrainingTask(peer_args, trainer_args, collab_args)
     model = task.model
 

+ 4 - 13
utils.py

@@ -1,6 +1,5 @@
 from typing import Dict, List, Tuple
 
-import transformers.utils.logging
 from multiaddr import Multiaddr
 from pydantic import BaseModel, StrictFloat, confloat, conint
 
@@ -9,7 +8,6 @@ from hivemind.dht.crypto import RSASignatureValidator
 from hivemind.dht.schema import BytesWithPublicKey, SchemaValidator
 from hivemind.dht.validation import RecordValidatorBase
 from hivemind.utils.logging import get_logger
-from transformers.trainer_utils import is_main_process
 
 logger = get_logger(__name__)
 
@@ -58,15 +56,8 @@ def log_visible_maddrs(visible_maddrs: List[Multiaddr], only_p2p: bool) -> None:
     logger.info(f"Full list of visible multiaddresses: {' '.join(str(addr) for addr in visible_maddrs)}")
 
 
-def setup_logging(training_args):
-    # Log on each process the small summary:
-    logger.warning(
-        f"Process rank: {training_args.local_rank}, device: {training_args.device}, n_gpu: {training_args.n_gpu}"
-        + f"distributed training: {bool(training_args.local_rank != -1)}, 16-bits training: {training_args.fp16}"
+def log_process_rank(training_args):
+    logger.info(
+        f"Process rank: {training_args.local_rank}, device: {training_args.device}, n_gpu: {training_args.n_gpu}, "
+        f"distributed training: {bool(training_args.local_rank != -1)}, 16-bits training: {training_args.fp16}"
     )
-    # Set the verbosity to info of the Transformers logger (on main process only):
-    if is_main_process(training_args.local_rank):
-        transformers.utils.logging.set_verbosity_info()
-        transformers.utils.logging.enable_default_handler()
-        transformers.utils.logging.enable_explicit_format()
-    logger.info("Training/evaluation parameters %s", training_args)