





'''simple docstring'''




import logging
import os

from .state import PartialState


class 					SCREAMING_SNAKE_CASE       (logging.LoggerAdapter				):


     @staticmethod
     def 				SCREAMING_SNAKE_CASE    (		_UpperCAmelCase):

          '''simple docstring'''






          __A		:					Any						=			PartialState()
          return not main_process_only or (main_process_only and state.is_main_process)


     def 				SCREAMING_SNAKE_CASE    (		self		,      _UpperCAmelCase		,      _UpperCAmelCase		,      *_UpperCAmelCase		,      **_UpperCAmelCase):

          '''simple docstring'''






          if PartialState._shared_state == {}:
               raise RuntimeError(
                   'You must initialize the accelerate state by calling either `PartialState()` or `Accelerator()` before using the logging utility.')
          __A		:					List[Any]						=			kwargs.pop('main_process_only'		,      _UpperCAmelCase)
          __A		:					str						=			kwargs.pop('in_order'		,      _UpperCAmelCase)

          if self.isEnabledFor(_UpperCAmelCase):
               if self._should_log(_UpperCAmelCase):
                    __A					,__A		:					Dict						=			self.process(_UpperCAmelCase		,      _UpperCAmelCase)
                    self.logger.log(_UpperCAmelCase		,      _UpperCAmelCase		,      *_UpperCAmelCase		,      **_UpperCAmelCase)

               elif in_order:
                    __A		:					Tuple						=			PartialState()
                    for i in range(state.num_processes):
                         if i == state.process_index:
                              __A					,__A		:					Union[str, Any]						=			self.process(_UpperCAmelCase		,      _UpperCAmelCase)
                              self.logger.log(_UpperCAmelCase		,      _UpperCAmelCase		,      *_UpperCAmelCase		,      **_UpperCAmelCase)
                         state.wait_for_everyone()






def 			_lowerCAmelCase     (    __snake_case    :					str					,				__snake_case    :					str = None     )	->	str:
     if log_level is None:
          __A		:					List[Any]						=			os.environ.get('ACCELERATE_LOG_LEVEL'					,				__snake_case     )
     __A		:					Dict						=			logging.getLogger(__snake_case     )
     if log_level is not None:
          logger.setLevel(log_level.upper()     )
          logger.root.setLevel(log_level.upper()     )
     return MultiProcessAdapter(__snake_case					,				{}     )






'''simple docstring'''




from ...configuration_utils import PretrainedConfig
from ...utils import logging


lowercase__       : List[Any]         =       logging.get_logger(__name__)

lowercase__       : Optional[int]         =       {
    '''unc-nlp/lxmert-base-uncased''': '''https://huggingface.co/unc-nlp/lxmert-base-uncased/resolve/main/config.json''',
}


class 					SCREAMING_SNAKE_CASE       (a__				):
     lowerCAmelCase						     =			'''lxmert'''
     lowerCAmelCase						     =			{}


     def __init__(		self		,      _UpperCAmelCase=3_0522		,      _UpperCAmelCase=768		,      _UpperCAmelCase=12		,      _UpperCAmelCase=9500		,      _UpperCAmelCase=1600		,      _UpperCAmelCase=400		,      _UpperCAmelCase=3072		,      _UpperCAmelCase="gelu"		,      _UpperCAmelCase=0.1		,      _UpperCAmelCase=0.1		,      _UpperCAmelCase=512		,      _UpperCAmelCase=2		,      _UpperCAmelCase=0.02		,      _UpperCAmelCase=1e-1_2		,      _UpperCAmelCase=9		,      _UpperCAmelCase=5		,      _UpperCAmelCase=5		,      _UpperCAmelCase=2048		,      _UpperCAmelCase=4		,      _UpperCAmelCase=6.67		,      _UpperCAmelCase=True		,      _UpperCAmelCase=True		,      _UpperCAmelCase=True		,      _UpperCAmelCase=True		,      _UpperCAmelCase=True		,      _UpperCAmelCase=True		,      _UpperCAmelCase=True		,      **_UpperCAmelCase		,      ):

          '''simple docstring'''






          __A		:					Tuple						=			vocab_size
          __A		:					int						=			hidden_size
          __A		:					str						=			num_attention_heads
          __A		:					Tuple						=			hidden_act
          __A		:					int						=			intermediate_size
          __A		:					str						=			hidden_dropout_prob
          __A		:					Optional[int]						=			attention_probs_dropout_prob
          __A		:					Optional[Any]						=			max_position_embeddings
          __A		:					Tuple						=			type_vocab_size
          __A		:					Optional[int]						=			initializer_range
          __A		:					Any						=			layer_norm_eps
          __A		:					Optional[Any]						=			num_qa_labels
          __A		:					Optional[int]						=			num_object_labels
          __A		:					Any						=			num_attr_labels
          __A		:					Union[str, Any]						=			l_layers
          __A		:					Optional[int]						=			x_layers
          __A		:					List[Any]						=			r_layers
          __A		:					Tuple						=			visual_feat_dim
          __A		:					Tuple						=			visual_pos_dim
          __A		:					Optional[int]						=			visual_loss_normalizer
          __A		:					int						=			task_matched
          __A		:					List[Any]						=			task_mask_lm
          __A		:					Optional[Any]						=			task_obj_predict
          __A		:					str						=			task_qa
          __A		:					List[Any]						=			visual_obj_loss
          __A		:					Optional[Any]						=			visual_attr_loss
          __A		:					Union[str, Any]						=			visual_feat_loss
          __A		:					Union[str, Any]						=			{'vision': r_layers, 'cross_encoder': x_layers, 'language': l_layers}
          super().__init__(**_UpperCAmelCase)