code: 
  """simple docstring"""
  
  
  
  
  
  
  
  from __future__ import annotations
  
  import os
  
  
  
  
  
  
  class     __a			:
         _lowerCamelCase							:							Tuple       =			(
             'High card',
             'One pair',
             'Two pairs',
             'Three of a kind',
             'Straight',
             'Flush',
             'Full house',
             'Four of a kind',
             'Straight flush',
             'Royal flush',
         )
  
         _lowerCamelCase							:							str       =			(
             '',  # placeholder as tuples are zero-indexed
             'One',
             'Two',
             'Three',
             'Four',
             'Five',
             'Six',
             'Seven',
             'Eight',
             'Nine',
             'Ten',
             'Jack',
             'Queen',
             'King',
             'Ace',
         )
  
  
  
  
  
  
  
         def __init__(					self							,lowerCamelCase_		):
  
  
  
            '''simple docstring'''
  
            if not isinstance(lowerCamelCase_							,lowerCamelCase_		):
               _UpperCAmelCase   	=					f'''Hand should be of type \'str\': {hand!r}'''
               raise TypeError(lowerCamelCase_		)
            # split removes duplicate whitespaces so no need of strip
            if len(hand.split(" "		)		) != 5:
               _UpperCAmelCase   	=					f'''Hand should contain only 5 cards: {hand!r}'''
               raise ValueError(lowerCamelCase_		)
            _UpperCAmelCase   	=					hand
            _UpperCAmelCase   	=					0
            _UpperCAmelCase   	=					0
            _UpperCAmelCase	,							_UpperCAmelCase   	=					self._internal_state()
            _UpperCAmelCase   	=					self._get_hand_type()
            _UpperCAmelCase   	=					self._card_values[0]
  
  
  
  
  
  
  
         @property
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            return self._hand
  
  
  
  
  
  
  
         def    _snake_case			(					self							,lowerCamelCase_		):
  
  
  
            '''simple docstring'''
  
            if self._hand_type > other._hand_type:
               return "Win"
            elif self._hand_type < other._hand_type:
               return "Loss"
            elif self._first_pair == other._first_pair:
               if self._second_pair == other._second_pair:
                  return self._compare_cards(lowerCamelCase_		)
               else:
                  return "Win" if self._second_pair > other._second_pair else "Loss"
            return "Win" if self._first_pair > other._first_pair else "Loss"
  
  
  
  
  
  
  
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					PokerHand._HAND_NAME[self._hand_type - 14]
            _UpperCAmelCase   	=					PokerHand._CARD_NAME[self._high_card]
            _UpperCAmelCase   	=					PokerHand._CARD_NAME[self._first_pair]
            _UpperCAmelCase   	=					PokerHand._CARD_NAME[self._second_pair]
            if self._hand_type in [22, 19, 18]:
               return name + f''', {high}-high'''
            elif self._hand_type in [21, 17, 15]:
               return name + f''', {paira}s'''
            elif self._hand_type in [20, 16]:
               _UpperCAmelCase   	=					"over" if self._hand_type == 20 else "and"
               return name + f''', {paira}s {join} {paira}s'''
            elif self._hand_type == 23:
               return name
            else:
               return name + f''', {high}'''
  
  
  
  
  
  
  
         def    _snake_case			(					self							,lowerCamelCase_		):
  
  
  
            '''simple docstring'''
  
            for index, card_value in enumerate(self._card_values		):
               if card_value != other._card_values[index]:
                  return "Win" if card_value > other._card_values[index] else "Loss"
            return "Tie"
  
  
  
  
  
  
  
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            if self._is_flush():
               if self._is_five_high_straight() or self._is_straight():
                  return 23 if sum(self._card_values		) == 60 else 22
               return 19
            elif self._is_five_high_straight() or self._is_straight():
               return 18
            return 14 + self._is_same_kind()
  
  
  
  
  
  
  
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            return len(self._card_suit		) == 1
  
  
  
  
  
  
  
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            if sorted(self._card_values		) == [2, 3, 4, 5, 14]:
               if self._card_values[0] == 14:
                  # Remember, our list is sorted in reverse order
                  _UpperCAmelCase   	=					self._card_values.pop(0		)
                  self._card_values.append(lowerCamelCase_		)
               return True
            return False
  
  
  
  
  
  
  
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            for i in range(4		):
               if self._card_values[i] - self._card_values[i + 1] != 1:
                  return False
            return True
  
  
  
  
  
  
  
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					_UpperCAmelCase   	=					_UpperCAmelCase   	=					0
            for i in range(4		):
               # Compare two cards at a time, if they are same increase 'kind',
               # add the value of the card to val1, if it is repeating again we
               # will add 2 to 'kind' as there are now 3 cards with same value.
               # If we get card of different value than val1, we will do the same
               # thing with val2
               if self._card_values[i] == self._card_values[i + 1]:
                  if not vala:
                     _UpperCAmelCase   	=					self._card_values[i]
                     kind += 1
                  elif vala == self._card_values[i]:
                     kind += 2
                  elif not vala:
                     _UpperCAmelCase   	=					self._card_values[i]
                     kind += 1
                  elif vala == self._card_values[i]:
                     kind += 2
          # For consistency in hand type (look at note in _get_hand_type function)
            _UpperCAmelCase   	=					kind + 2 if kind in [4, 5] else kind
            # first meaning first pair to compare in 'compare_with'
            _UpperCAmelCase   	=					max(lowerCamelCase_							,lowerCamelCase_		)
            _UpperCAmelCase   	=					min(lowerCamelCase_							,lowerCamelCase_		)
            # If it's full house (three count pair + two count pair), make sure
            # first pair is three count and if not then switch them both.
            if kind == 6 and self._card_values.count(lowerCamelCase_		) != 3:
               _UpperCAmelCase	,							_UpperCAmelCase   	=					second, first
            _UpperCAmelCase   	=					first
            _UpperCAmelCase   	=					second
            return kind
  
  
  
  
  
  
  
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					{"T": "10", "J": "11", "Q": "12", "K": "13", "A": "14"}
            _UpperCAmelCase   	=					self._hand.translate(str.maketrans(lowerCamelCase_		)		).split()
            _UpperCAmelCase   	=					[int(card[:-1]		) for card in new_hand]
            _UpperCAmelCase   	=					{card[-1] for card in new_hand}
            return sorted(lowerCamelCase_							,reverse=lowerCamelCase_		), card_suit
  
  
  
  
  
  
  
         def __repr__(					self		):
  
  
  
            '''simple docstring'''
  
            return f'''{self.__class__}("{self._hand}")'''
  
  
  
  
  
  
  
         def __str__(					self		):
  
  
  
            '''simple docstring'''
  
            return self._hand
  
  
  
  
  
  
  
         def __eq__(					self							,lowerCamelCase_		):
  
  
  
            '''simple docstring'''
  
            if isinstance(lowerCamelCase_							,lowerCamelCase_		):
               return self.compare_with(lowerCamelCase_		) == "Tie"
            return NotImplemented
  
  
  
  
  
  
  
         def __lt__(					self							,lowerCamelCase_		):
  
  
  
            '''simple docstring'''
  
            if isinstance(lowerCamelCase_							,lowerCamelCase_		):
               return self.compare_with(lowerCamelCase_		) == "Loss"
            return NotImplemented
  
  
  
  
  
  
  
         def __le__(					self							,lowerCamelCase_		):
  
  
  
            '''simple docstring'''
  
            if isinstance(lowerCamelCase_							,lowerCamelCase_		):
               return self < other or self == other
            return NotImplemented
  
  
  
  
  
  
  
         def __gt__(					self							,lowerCamelCase_		):
  
  
  
            '''simple docstring'''
  
            if isinstance(lowerCamelCase_							,lowerCamelCase_		):
               return not self < other and self != other
            return NotImplemented
  
  
  
  
  
  
  
         def __ge__(					self							,lowerCamelCase_		):
  
  
  
            '''simple docstring'''
  
            if isinstance(lowerCamelCase_							,lowerCamelCase_		):
               return not self < other
            return NotImplemented
  
  
  
  
  
  
  
         def __hash__(					self		):
  
  
  
            '''simple docstring'''
  
            return object.__hash__(self		)
  
  
  
  def 			__UpperCAmelCase		(		)     ->       int:
     # Solution for problem number 54 from Project Euler
     # Input from poker_hands.txt file
     _UpperCAmelCase   	=					0
     _UpperCAmelCase   	=					os.path.abspath(os.path.dirname(a_				)				)
     _UpperCAmelCase   	=					os.path.join(a_    ,  "poker_hands.txt"				)
     with open(a_				) as file_hand:
        for line in file_hand:
           _UpperCAmelCase   	=					line[:14].strip()
           _UpperCAmelCase   	=					line[15:].strip()
           _UpperCAmelCase	,							_UpperCAmelCase   	=					PokerHand(a_				), PokerHand(a_				)
           _UpperCAmelCase   	=					player.compare_with(a_				)
           if output == "Win":
              answer += 1
     return answer
  
  
  if __name__ == "__main__":
    solution()
  
  
style_context: 
  """simple docstring"""
  
  
  
  
  
  
  
  from __future__ import annotations
  
  import unittest
  
  from transformers import AlbertConfig, is_tf_available
  from transformers.models.auto import get_values
  from transformers.testing_utils import require_tf, slow
  
  from ...test_configuration_common import ConfigTester
  from ...test_modeling_tf_common import TFModelTesterMixin, ids_tensor, random_attention_mask
  from ...test_pipeline_mixin import PipelineTesterMixin
  
  
  if is_tf_available():
    import tensorflow as tf
  
    from transformers import TF_MODEL_FOR_PRETRAINING_MAPPING
    from transformers.models.albert.modeling_tf_albert import (
        TF_ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFAlbertForMaskedLM,
        TFAlbertForMultipleChoice,
        TFAlbertForPreTraining,
        TFAlbertForQuestionAnswering,
        TFAlbertForSequenceClassification,
        TFAlbertForTokenClassification,
        TFAlbertModel,
    )
  
  
  
  
  
  
  class     __a			:
  
  
  
  
  
  
  
         def __init__(					self							,lowerCamelCase_							,lowerCamelCase_=13							,lowerCamelCase_=7							,lowerCamelCase_=True							,lowerCamelCase_=True							,lowerCamelCase_=True							,lowerCamelCase_=True							,lowerCamelCase_=99							,lowerCamelCase_=16							,lowerCamelCase_=32							,lowerCamelCase_=2							,lowerCamelCase_=4							,lowerCamelCase_=37							,lowerCamelCase_="gelu"							,lowerCamelCase_=0.1							,lowerCamelCase_=0.1							,lowerCamelCase_=512							,lowerCamelCase_=16							,lowerCamelCase_=2							,lowerCamelCase_=0.0_2							,lowerCamelCase_=3							,lowerCamelCase_=4							,lowerCamelCase_=None							,):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					parent
            _UpperCAmelCase   	=					13
            _UpperCAmelCase   	=					7
            _UpperCAmelCase   	=					True
            _UpperCAmelCase   	=					True
            _UpperCAmelCase   	=					True
            _UpperCAmelCase   	=					True
            _UpperCAmelCase   	=					99
            _UpperCAmelCase   	=					16
            _UpperCAmelCase   	=					32
            _UpperCAmelCase   	=					2
            _UpperCAmelCase   	=					4
            _UpperCAmelCase   	=					37
            _UpperCAmelCase   	=					"gelu"
            _UpperCAmelCase   	=					0.1
            _UpperCAmelCase   	=					0.1
            _UpperCAmelCase   	=					512
            _UpperCAmelCase   	=					16
            _UpperCAmelCase   	=					2
            _UpperCAmelCase   	=					0.0_2
            _UpperCAmelCase   	=					3
            _UpperCAmelCase   	=					4
            _UpperCAmelCase   	=					None
  
  
  
  
  
  
  
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					ids_tensor([self.batch_size, self.seq_length]							,self.vocab_size		)
  
            _UpperCAmelCase   	=					None
            if self.use_input_mask:
               _UpperCAmelCase   	=					random_attention_mask([self.batch_size, self.seq_length]		)
  
            _UpperCAmelCase   	=					None
            if self.use_token_type_ids:
               _UpperCAmelCase   	=					ids_tensor([self.batch_size, self.seq_length]							,self.type_vocab_size		)
  
            _UpperCAmelCase   	=					None
            _UpperCAmelCase   	=					None
            _UpperCAmelCase   	=					None
            if self.use_labels:
               _UpperCAmelCase   	=					ids_tensor([self.batch_size]							,self.type_sequence_label_size		)
               _UpperCAmelCase   	=					ids_tensor([self.batch_size, self.seq_length]							,self.num_labels		)
               _UpperCAmelCase   	=					ids_tensor([self.batch_size]							,self.num_choices		)
  
            _UpperCAmelCase   	=					AlbertConfig(
                vocab_size=self.vocab_size							,hidden_size=self.hidden_size							,embedding_size=self.embedding_size							,num_hidden_layers=self.num_hidden_layers							,num_attention_heads=self.num_attention_heads							,intermediate_size=self.intermediate_size							,hidden_act=self.hidden_act							,hidden_dropout_prob=self.hidden_dropout_prob							,attention_probs_dropout_prob=self.attention_probs_dropout_prob							,max_position_embeddings=self.max_position_embeddings							,type_vocab_size=self.type_vocab_size							,initializer_range=self.initializer_range							,)
  
            return config, input_ids, token_type_ids, input_mask, sequence_labels, token_labels, choice_labels
  
  
  
  
  
  
  
         def    _snake_case			(					self							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					TFAlbertModel(config=lowerCamelCase_		)
            # inputs = {'input_ids': input_ids,
            #           'attention_mask': input_mask,
            #           'token_type_ids': token_type_ids}
            # sequence_output, pooled_output = model(**inputs)
            _UpperCAmelCase   	=					{"input_ids": input_ids, "attention_mask": input_mask, "token_type_ids": token_type_ids}
            _UpperCAmelCase   	=					model(lowerCamelCase_		)
  
            _UpperCAmelCase   	=					[input_ids, input_mask]
            _UpperCAmelCase   	=					model(lowerCamelCase_		)
  
            _UpperCAmelCase   	=					model(lowerCamelCase_		)
  
            self.parent.assertEqual(result.last_hidden_state.shape							,(self.batch_size, self.seq_length, self.hidden_size)		)
            self.parent.assertEqual(result.pooler_output.shape							,(self.batch_size, self.hidden_size)		)
  
  
  
  
  
  
  
         def    _snake_case			(					self							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					self.num_labels
            _UpperCAmelCase   	=					TFAlbertForPreTraining(config=lowerCamelCase_		)
            _UpperCAmelCase   	=					{"input_ids": input_ids, "attention_mask": input_mask, "token_type_ids": token_type_ids}
            _UpperCAmelCase   	=					model(lowerCamelCase_		)
            self.parent.assertEqual(result.prediction_logits.shape							,(self.batch_size, self.seq_length, self.vocab_size)		)
            self.parent.assertEqual(result.sop_logits.shape							,(self.batch_size, self.num_labels)		)
  
  
  
  
  
  
  
         def    _snake_case			(					self							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					TFAlbertForMaskedLM(config=lowerCamelCase_		)
            _UpperCAmelCase   	=					{"input_ids": input_ids, "attention_mask": input_mask, "token_type_ids": token_type_ids}
            _UpperCAmelCase   	=					model(lowerCamelCase_		)
            self.parent.assertEqual(result.logits.shape							,(self.batch_size, self.seq_length, self.vocab_size)		)
  
  
  
  
  
  
  
         def    _snake_case			(					self							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					self.num_labels
            _UpperCAmelCase   	=					TFAlbertForSequenceClassification(config=lowerCamelCase_		)
            _UpperCAmelCase   	=					{"input_ids": input_ids, "attention_mask": input_mask, "token_type_ids": token_type_ids}
            _UpperCAmelCase   	=					model(lowerCamelCase_		)
            self.parent.assertEqual(result.logits.shape							,(self.batch_size, self.num_labels)		)
  
  
  
  
  
  
  
         def    _snake_case			(					self							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					TFAlbertForQuestionAnswering(config=lowerCamelCase_		)
            _UpperCAmelCase   	=					{"input_ids": input_ids, "attention_mask": input_mask, "token_type_ids": token_type_ids}
            _UpperCAmelCase   	=					model(lowerCamelCase_		)
            self.parent.assertEqual(result.start_logits.shape							,(self.batch_size, self.seq_length)		)
            self.parent.assertEqual(result.end_logits.shape							,(self.batch_size, self.seq_length)		)
  
  
  
  
  
  
  
         def    _snake_case			(					self							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					self.num_choices
            _UpperCAmelCase   	=					TFAlbertForMultipleChoice(config=lowerCamelCase_		)
            _UpperCAmelCase   	=					tf.tile(tf.expand_dims(lowerCamelCase_							,1		)							,(1, self.num_choices, 1)		)
            _UpperCAmelCase   	=					tf.tile(tf.expand_dims(lowerCamelCase_							,1		)							,(1, self.num_choices, 1)		)
            _UpperCAmelCase   	=					tf.tile(tf.expand_dims(lowerCamelCase_							,1		)							,(1, self.num_choices, 1)		)
            _UpperCAmelCase   	=					{
                "input_ids": multiple_choice_inputs_ids,
                "attention_mask": multiple_choice_input_mask,
                "token_type_ids": multiple_choice_token_type_ids,
            }
            _UpperCAmelCase   	=					model(lowerCamelCase_		)
            self.parent.assertListEqual(list(result["logits"].shape		)							,[self.batch_size, self.num_choices]		)
  
  
  
  
  
  
  
         def    _snake_case			(					self							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					self.num_labels
            _UpperCAmelCase   	=					TFAlbertForTokenClassification(config=lowerCamelCase_		)
            _UpperCAmelCase   	=					{
                "input_ids": input_ids,
                "attention_mask": input_mask,
                "token_type_ids": token_type_ids,
            }
            _UpperCAmelCase   	=					model(lowerCamelCase_		)
            self.parent.assertListEqual(list(result["logits"].shape		)							,[self.batch_size, self.seq_length, self.num_labels]		)
  
  
  
  
  
  
  
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					self.prepare_config_and_inputs()
            (
                (
                _UpperCAmelCase
            )	,							(
                _UpperCAmelCase
            )	,							(
                _UpperCAmelCase
            )	,							(
                _UpperCAmelCase
            )	,							(
                _UpperCAmelCase
            )	,							(
                _UpperCAmelCase
            )	,							(
                _UpperCAmelCase
            )	,							
            )   	=					config_and_inputs
            _UpperCAmelCase   	=					{"input_ids": input_ids, "token_type_ids": token_type_ids, "attention_mask": input_mask}
            return config, inputs_dict
  
  
  
  
  
  
  @require_tf
  class     __a			(					lowerCAmelCase_				,	lowerCAmelCase_				,	unittest.TestCase			):
         _lowerCamelCase							:							Any       =			(
             (
                 TFAlbertModel,
                 TFAlbertForPreTraining,
                 TFAlbertForMaskedLM,
                 TFAlbertForSequenceClassification,
                 TFAlbertForQuestionAnswering,
                 TFAlbertForTokenClassification,
                 TFAlbertForMultipleChoice,
             )
             if is_tf_available()
             else ()
         )
         _lowerCamelCase							:							int       =			(
             {
                 'feature-extraction': TFAlbertModel,
                 'fill-mask': TFAlbertForMaskedLM,
                 'question-answering': TFAlbertForQuestionAnswering,
                 'text-classification': TFAlbertForSequenceClassification,
                 'token-classification': TFAlbertForTokenClassification,
                 'zero-shot': TFAlbertForSequenceClassification,
             }
             if is_tf_available()
             else {}
         )
         _lowerCamelCase							:							List[str]       =			False
         _lowerCamelCase							:							Optional[Any]       =			False
  
  
  
  
  
  
  
         def    _snake_case			(					self							,lowerCamelCase_							,lowerCamelCase_							,lowerCamelCase_=False		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					super()._prepare_for_class(lowerCamelCase_							,lowerCamelCase_							,return_labels=lowerCamelCase_		)
  
            if return_labels:
               if model_class in get_values(lowerCamelCase_		):
                  _UpperCAmelCase   	=					tf.zeros(self.model_tester.batch_size							,dtype=tf.intaa		)
  
            return inputs_dict
  
  
  
  
  
  
  
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					TFAlbertModelTester(self		)
            _UpperCAmelCase   	=					ConfigTester(self							,config_class=lowerCamelCase_							,hidden_size=37		)
  
  
  
  
  
  
  
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            self.config_tester.run_common_tests()
  
  
  
  
  
  
  
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					self.model_tester.prepare_config_and_inputs()
            self.model_tester.create_and_check_albert_model(*lowerCamelCase_		)
  
  
  
  
  
  
  
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					self.model_tester.prepare_config_and_inputs()
            self.model_tester.create_and_check_albert_for_pretraining(*lowerCamelCase_		)
  
  
  
  
  
  
  
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					self.model_tester.prepare_config_and_inputs()
            self.model_tester.create_and_check_albert_for_masked_lm(*lowerCamelCase_		)
  
  
  
  
  
  
  
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					self.model_tester.prepare_config_and_inputs()
            self.model_tester.create_and_check_albert_for_multiple_choice(*lowerCamelCase_		)
  
  
  
  
  
  
  
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					self.model_tester.prepare_config_and_inputs()
            self.model_tester.create_and_check_albert_for_sequence_classification(*lowerCamelCase_		)
  
  
  
  
  
  
  
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					self.model_tester.prepare_config_and_inputs()
            self.model_tester.create_and_check_albert_for_question_answering(*lowerCamelCase_		)
  
  
  
  
  
  
  
         @slow
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            for model_name in TF_ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST[:1]:
               _UpperCAmelCase   	=					TFAlbertModel.from_pretrained(lowerCamelCase_		)
               self.assertIsNotNone(lowerCamelCase_		)
  
  
  
  
  
  
  @require_tf
  class     __a			(					unittest.TestCase			):
  
  
  
  
  
  
  
         @slow
         def    _snake_case			(					self		):
  
  
  
            '''simple docstring'''
  
            _UpperCAmelCase   	=					TFAlbertForPreTraining.from_pretrained("albert-base-v2"		)
            _UpperCAmelCase   	=					tf.constant([[0, 1, 2, 3, 4, 5]]		)
            _UpperCAmelCase   	=					model(lowerCamelCase_		)[0]
  
            _UpperCAmelCase   	=					[1, 6, 3_0000]
            self.assertEqual(output.shape							,lowerCamelCase_		)
  
            _UpperCAmelCase   	=					tf.constant(
                [
                    [
                        [4.5_9_5_6_6_8, 0.7_4_4_6_2_7_5_4, -1.8_1_8_1_4_7],
                        [4.5_9_5_4_3_4_7, 0.7_4_5_4_1_8_4, -1.8_1_8_8_2_5_8],
                        [4.5_9_5_4_9_0_5, 0.7_4_4_8_2_3_5, -1.8_1_8_2_3_1_6],
                    ]
                ]		)
            tf.debugging.assert_near(output[:, :3, :3]							,lowerCamelCase_							,atol=1e-4		)
  
  