From 4f05c5dc4bb92836c310bf58aa95fa705a1fa679 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ziy=C3=BA=20Ye?= Date: Fri, 13 Sep 2024 02:36:20 -0700 Subject: [PATCH 1/4] fix the wandb logging issue --- src/transformers/integrations/integration_utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/transformers/integrations/integration_utils.py b/src/transformers/integrations/integration_utils.py index 9172f9599f77..d5b1fc0bf2be 100755 --- a/src/transformers/integrations/integration_utils.py +++ b/src/transformers/integrations/integration_utils.py @@ -29,6 +29,7 @@ from enum import Enum from pathlib import Path from typing import TYPE_CHECKING, Any, Dict, Literal, Optional, Union +from wandb.sdk.lib.config_util import ConfigError import numpy as np import packaging.version @@ -851,7 +852,7 @@ def setup(self, args, state, model, **kwargs): # add number of model parameters to wandb config try: self._wandb.config["model/num_parameters"] = model.num_parameters() - except AttributeError: + except (AttributeError, ConfigError): logger.info("Could not log the number of model parameters in Weights & Biases.") # log the initial model architecture to an artifact From bbef91ac735c6694a37b01e913f91fbd7a0b87f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ziy=C3=BA=20Ye?= Date: Fri, 13 Sep 2024 08:59:59 -0700 Subject: [PATCH 2/4] handle ConfigError in WandbCallback; move import to local scope --- src/transformers/integrations/integration_utils.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/transformers/integrations/integration_utils.py b/src/transformers/integrations/integration_utils.py index d5b1fc0bf2be..23cd7d53279d 100755 --- a/src/transformers/integrations/integration_utils.py +++ b/src/transformers/integrations/integration_utils.py @@ -29,7 +29,6 @@ from enum import Enum from pathlib import Path from typing import TYPE_CHECKING, Any, Dict, Literal, Optional, Union -from wandb.sdk.lib.config_util import ConfigError import numpy as np import packaging.version @@ -768,6 +767,7 @@ def __init__(self): raise RuntimeError("WandbCallback requires wandb to be installed. Run `pip install wandb`.") if has_wandb: import wandb + from wandb.sdk.lib.config_util import ConfigError self._wandb = wandb self._initialized = False @@ -852,8 +852,12 @@ def setup(self, args, state, model, **kwargs): # add number of model parameters to wandb config try: self._wandb.config["model/num_parameters"] = model.num_parameters() - except (AttributeError, ConfigError): - logger.info("Could not log the number of model parameters in Weights & Biases.") + except AttributeError: + logger.info("Could not log the number of model parameters in Weights & Biases due to an AttributeError.") + except ConfigError: + logger.warning( + "A ConfigError was raised whilst setting the number of model parameters in Weights & Biases config." + ) # log the initial model architecture to an artifact if self._log_model.is_enabled: From d38265b378cf03f2ad4eaccba1f652865f21b629 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ziy=C3=BA=20Ye?= Date: Tue, 17 Sep 2024 19:39:52 -0700 Subject: [PATCH 3/4] update integration_utils.py; move import of ConfigError --- src/transformers/integrations/integration_utils.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/transformers/integrations/integration_utils.py b/src/transformers/integrations/integration_utils.py index 23cd7d53279d..5e21f85a0745 100755 --- a/src/transformers/integrations/integration_utils.py +++ b/src/transformers/integrations/integration_utils.py @@ -767,7 +767,6 @@ def __init__(self): raise RuntimeError("WandbCallback requires wandb to be installed. Run `pip install wandb`.") if has_wandb: import wandb - from wandb.sdk.lib.config_util import ConfigError self._wandb = wandb self._initialized = False @@ -804,6 +803,10 @@ def setup(self, args, state, model, **kwargs): if self._wandb is None: return self._initialized = True + + # prepare to handle potential configuration issues during setup + from wandb.sdk.lib.config_util import ConfigError as WandbConfigError + if state.is_world_process_zero: logger.info( 'Automatic Weights & Biases logging enabled, to disable set os.environ["WANDB_DISABLED"] = "true"' @@ -853,8 +856,10 @@ def setup(self, args, state, model, **kwargs): try: self._wandb.config["model/num_parameters"] = model.num_parameters() except AttributeError: - logger.info("Could not log the number of model parameters in Weights & Biases due to an AttributeError.") - except ConfigError: + logger.info( + "Could not log the number of model parameters in Weights & Biases due to an AttributeError." + ) + except WandbConfigError: logger.warning( "A ConfigError was raised whilst setting the number of model parameters in Weights & Biases config." ) From a0099f019125328a5d77456ffdd67e7e1de629dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ziy=C3=BA=20Ye?= Date: Tue, 17 Sep 2024 20:16:31 -0700 Subject: [PATCH 4/4] Update integration_utils.py: remove trailing whitespace --- src/transformers/integrations/integration_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/transformers/integrations/integration_utils.py b/src/transformers/integrations/integration_utils.py index 5e21f85a0745..40298f9c6fc7 100755 --- a/src/transformers/integrations/integration_utils.py +++ b/src/transformers/integrations/integration_utils.py @@ -806,7 +806,7 @@ def setup(self, args, state, model, **kwargs): # prepare to handle potential configuration issues during setup from wandb.sdk.lib.config_util import ConfigError as WandbConfigError - + if state.is_world_process_zero: logger.info( 'Automatic Weights & Biases logging enabled, to disable set os.environ["WANDB_DISABLED"] = "true"'