


"""simple docstring"""






import inspect
import unittest

from transformers import EfficientNetConfig
from transformers.testing_utils import is_pipeline_test, require_torch, require_vision, slow, torch_device
from transformers.utils import cached_property, is_torch_available, is_vision_available

from ...test_configuration_common import ConfigTester
from ...test_modeling_common import ModelTesterMixin, floats_tensor, ids_tensor
from ...test_pipeline_mixin import PipelineTesterMixin


if is_torch_available():
     import torch

     from transformers import EfficientNetForImageClassification, EfficientNetModel
     from transformers.models.efficientnet.modeling_efficientnet import EFFICIENTNET_PRETRAINED_MODEL_ARCHIVE_LIST


if is_vision_available():
     from PIL import Image

     from transformers import AutoImageProcessor






class     A:

  """simple docstring"""





  def __init__(   self				,							SCREAMING_SNAKE_CASE__				,							SCREAMING_SNAKE_CASE__=13				,							SCREAMING_SNAKE_CASE__=32				,							SCREAMING_SNAKE_CASE__=3				,							SCREAMING_SNAKE_CASE__=[3, 3, 5]				,							SCREAMING_SNAKE_CASE__=[32, 16, 24]				,							SCREAMING_SNAKE_CASE__=[16, 24, 40]				,							SCREAMING_SNAKE_CASE__=[1, 1, 2]				,							SCREAMING_SNAKE_CASE__=[1, 1, 2]				,							SCREAMING_SNAKE_CASE__=[1, 6, 6]				,							SCREAMING_SNAKE_CASE__=True				,							SCREAMING_SNAKE_CASE__=True				,							SCREAMING_SNAKE_CASE__=37				,							SCREAMING_SNAKE_CASE__="gelu"				,							SCREAMING_SNAKE_CASE__=10				,							)			->  str:

     """simple docstring"""



     _UpperCamelCase				:Dict				    =  parent
     _UpperCamelCase				:List[Any]				    =  batch_size
     _UpperCamelCase				:str				    =  image_size
     _UpperCamelCase				:List[str]				    =  num_channels
     _UpperCamelCase				:int				    =  kernel_sizes
     _UpperCamelCase				:Tuple				    =  in_channels
     _UpperCamelCase				:List[Any]				    =  out_channels
     _UpperCamelCase				:Any				    =  strides
     _UpperCamelCase				:Union[str, Any]				    =  num_block_repeats
     _UpperCamelCase				:List[str]				    =  expand_ratios
     _UpperCamelCase				:Union[str, Any]				    =  is_training
     _UpperCamelCase				:Optional[Any]				    =  hidden_act
     _UpperCamelCase				:Optional[int]				    =  num_labels
     _UpperCamelCase				:List[str]				    =  use_labels
  def      _UpperCamelCase(   self      )			->  Tuple:

     """simple docstring"""



     _UpperCamelCase				:Union[str, Any]				    =  floats_tensor([self.batch_size, self.num_channels, self.image_size, self.image_size]      )

     _UpperCamelCase				:int				    =  None
     if self.use_labels:
        _UpperCamelCase				:Tuple				    =  ids_tensor([self.batch_size]				,							self.num_labels      )

     _UpperCamelCase				:str				    =  self.get_config()
     return config, pixel_values, labels
  def      _UpperCamelCase(   self      )			->  Dict:

     """simple docstring"""



     return EfficientNetConfig(
         num_channels=self.num_channels				,							kernel_sizes=self.kernel_sizes				,							in_channels=self.in_channels				,							out_channels=self.out_channels				,							strides=self.strides				,							num_block_repeats=self.num_block_repeats				,							expand_ratios=self.expand_ratios				,							hidden_act=self.hidden_act				,							num_labels=self.num_labels				,							)
  def      _UpperCamelCase(   self				,							SCREAMING_SNAKE_CASE__				,							SCREAMING_SNAKE_CASE__				,							SCREAMING_SNAKE_CASE__      )			->  List[str]:

     """simple docstring"""



     _UpperCamelCase				:Optional[Any]				    =  EfficientNetModel(config=SCREAMING_SNAKE_CASE__      )
     model.to(SCREAMING_SNAKE_CASE__      )
     model.eval()
     _UpperCamelCase				:List[str]				    =  model(SCREAMING_SNAKE_CASE__      )
     # expected last hidden states: B, C, H // 4, W // 4
     self.parent.assertEqual(
         result.last_hidden_state.shape				,							(self.batch_size, config.hidden_dim, self.image_size // 4, self.image_size // 4)				,							)
  def      _UpperCamelCase(   self				,							SCREAMING_SNAKE_CASE__				,							SCREAMING_SNAKE_CASE__				,							SCREAMING_SNAKE_CASE__      )			->  Optional[Any]:

     """simple docstring"""



     _UpperCamelCase				:Any				    =  EfficientNetForImageClassification(SCREAMING_SNAKE_CASE__      )
     model.to(SCREAMING_SNAKE_CASE__      )
     model.eval()
     _UpperCamelCase				:Tuple				    =  model(SCREAMING_SNAKE_CASE__				,							labels=SCREAMING_SNAKE_CASE__      )
     self.parent.assertEqual(result.logits.shape				,							(self.batch_size, self.num_labels)      )





  def      _UpperCamelCase(   self      )			->  Union[str, Any]:

     """simple docstring"""



     _UpperCamelCase				:Optional[Any]				    =  self.prepare_config_and_inputs()
     _UpperCamelCase				:Union[str, Any]				    =  config_and_inputs
     _UpperCamelCase				:Optional[int]				    =  {'''pixel_values''': pixel_values}
     return config, inputs_dict






@require_torch
class     A(     lowerCamelCase__							,       lowerCamelCase__							,       unittest.TestCase		):

  """simple docstring"""





  A         =       (EfficientNetModel, EfficientNetForImageClassification) if is_torch_available() else ()
  A         =       (
      {"feature-extraction": EfficientNetModel, "image-classification": EfficientNetForImageClassification}
      if is_torch_available()
      else {}
  )

  A         =       False
  A         =       False
  A         =       False
  A         =       False
  A         =       False
  def      _UpperCamelCase(   self      )			->  Any:

     """simple docstring"""



     _UpperCamelCase				:Optional[Any]				    =  EfficientNetModelTester(self      )
     _UpperCamelCase				:Union[str, Any]				    =  ConfigTester(
         self				,							config_class=SCREAMING_SNAKE_CASE__				,							has_text_modality=SCREAMING_SNAKE_CASE__				,							hidden_size=37      )
  def      _UpperCamelCase(   self      )			->  Any:

     """simple docstring"""



     self.create_and_test_config_common_properties()
     self.config_tester.create_and_test_config_to_json_string()
     self.config_tester.create_and_test_config_to_json_file()
     self.config_tester.create_and_test_config_from_and_save_pretrained()
     self.config_tester.create_and_test_config_with_num_labels()
     self.config_tester.check_config_can_be_init_without_params()
     self.config_tester.check_config_arguments_init()
  def      _UpperCamelCase(   self      )			->  int:

     """simple docstring"""



     return
  @unittest.skip(reason='''EfficientNet does not use inputs_embeds'''      )
  def      _UpperCamelCase(   self      )			->  Union[str, Any]:

     """simple docstring"""



     pass
  @unittest.skip(reason='''EfficientNet does not support input and output embeddings'''      )
  def      _UpperCamelCase(   self      )			->  str:

     """simple docstring"""



     pass
  @unittest.skip(reason='''EfficientNet does not use feedforward chunking'''      )
  def      _UpperCamelCase(   self      )			->  Optional[int]:

     """simple docstring"""



     pass
  def      _UpperCamelCase(   self      )			->  Any:

     """simple docstring"""



     _UpperCamelCase				:Optional[Any]				    =  self.model_tester.prepare_config_and_inputs_for_common()

     for model_class in self.all_model_classes:
        _UpperCamelCase				:Optional[Any]				    =  model_class(SCREAMING_SNAKE_CASE__      )
        _UpperCamelCase				:Any				    =  inspect.signature(model.forward      )
        # signature.parameters is an OrderedDict => so arg_names order is deterministic
        _UpperCamelCase				:Dict				    =  [*signature.parameters.keys()]

        _UpperCamelCase				:Any				    =  ['''pixel_values''']
        self.assertListEqual(arg_names[:1]				,							SCREAMING_SNAKE_CASE__      )
  def      _UpperCamelCase(   self      )			->  List[Any]:

     """simple docstring"""



     _UpperCamelCase				:int				    =  self.model_tester.prepare_config_and_inputs()
     self.model_tester.create_and_check_model(*SCREAMING_SNAKE_CASE__      )
  def      _UpperCamelCase(   self      )			->  Dict:

     """simple docstring"""



     def check_hidden_states_output(SCREAMING_SNAKE_CASE__				,							SCREAMING_SNAKE_CASE__				,							SCREAMING_SNAKE_CASE__      ):
        _UpperCamelCase				:Any				    =  model_class(SCREAMING_SNAKE_CASE__      )
        model.to(SCREAMING_SNAKE_CASE__      )
        model.eval()

        with torch.no_grad():
           _UpperCamelCase				:Union[str, Any]				    =  model(**self._prepare_for_class(SCREAMING_SNAKE_CASE__				,							SCREAMING_SNAKE_CASE__      )      )

        _UpperCamelCase				:List[str]				    =  outputs.encoder_hidden_states if config.is_encoder_decoder else outputs.hidden_states
        _UpperCamelCase				:Tuple				    =  sum(config.num_block_repeats      ) * 4
        self.assertEqual(len(SCREAMING_SNAKE_CASE__      )				,							SCREAMING_SNAKE_CASE__      )

        # EfficientNet's feature maps are of shape (batch_size, num_channels, height, width)
        self.assertListEqual(
            list(hidden_states[0].shape[-2:]      )				,							[self.model_tester.image_size // 2, self.model_tester.image_size // 2]				,							)

     _UpperCamelCase				:Tuple				    =  self.model_tester.prepare_config_and_inputs_for_common()

     for model_class in self.all_model_classes:
        _UpperCamelCase				:Dict				    =  True
        check_hidden_states_output(SCREAMING_SNAKE_CASE__				,							SCREAMING_SNAKE_CASE__				,							SCREAMING_SNAKE_CASE__      )

        # check that output_hidden_states also work using config
        del inputs_dict["output_hidden_states"]
        _UpperCamelCase				:int				    =  True

        check_hidden_states_output(SCREAMING_SNAKE_CASE__				,							SCREAMING_SNAKE_CASE__				,							SCREAMING_SNAKE_CASE__      )
  def      _UpperCamelCase(   self      )			->  List[str]:

     """simple docstring"""



     _UpperCamelCase				:Union[str, Any]				    =  self.model_tester.prepare_config_and_inputs()
     self.model_tester.create_and_check_for_image_classification(*SCREAMING_SNAKE_CASE__      )
  @unittest.skip('''Will be fixed soon by reducing the size of the model used for common tests.'''      )
  def      _UpperCamelCase(   self      )			->  str:

     """simple docstring"""



     pass
  @slow
  def      _UpperCamelCase(   self      )			->  Union[str, Any]:

     """simple docstring"""



     for model_name in EFFICIENTNET_PRETRAINED_MODEL_ARCHIVE_LIST[:1]:
        _UpperCamelCase				:Optional[Any]				    =  EfficientNetModel.from_pretrained(SCREAMING_SNAKE_CASE__      )
        self.assertIsNotNone(SCREAMING_SNAKE_CASE__      )





  @is_pipeline_test
  @require_vision
  @slow
  def      _UpperCamelCase(   self      )			->  Optional[int]:

     """simple docstring"""



     super().test_pipeline_image_classification()





def 							A_					(   )				->     Union[str, Any]:
   _UpperCamelCase				:List[str]				    =  Image.open('''./tests/fixtures/tests_samples/COCO/000000039769.png'''		)
   return image






@require_torch
@require_vision
class     A(     unittest.TestCase		):

  """simple docstring"""





  @cached_property
  def      _UpperCamelCase(   self      )			->  int:

     """simple docstring"""



     return AutoImageProcessor.from_pretrained('''google/efficientnet-b7'''      ) if is_vision_available() else None





  @slow
  def      _UpperCamelCase(   self      )			->  Tuple:

     """simple docstring"""



     _UpperCamelCase				:Optional[int]				    =  EfficientNetForImageClassification.from_pretrained('''google/efficientnet-b7'''      ).to(SCREAMING_SNAKE_CASE__      )

     _UpperCamelCase				:str				    =  self.default_image_processor
     _UpperCamelCase				:Dict				    =  prepare_img()
     _UpperCamelCase				:Dict				    =  image_processor(images=SCREAMING_SNAKE_CASE__				,							return_tensors='''pt'''      ).to(SCREAMING_SNAKE_CASE__      )

     # forward pass
     with torch.no_grad():
        _UpperCamelCase				:Any				    =  model(**SCREAMING_SNAKE_CASE__      )

     # verify the logits
     _UpperCamelCase				:List[str]				    =  torch.Size((1, 10_00)      )
     self.assertEqual(outputs.logits.shape				,							SCREAMING_SNAKE_CASE__      )

     _UpperCamelCase				:str				    =  torch.tensor([0.0_0_0_1, 0.0_0_0_2, 0.0_0_0_2]      ).to(SCREAMING_SNAKE_CASE__      )
     self.assertTrue(torch.allclose(outputs.logits[0, :3]				,							SCREAMING_SNAKE_CASE__				,							atol=1E-4      )      )





"""simple docstring"""






import unittest

from transformers import ErnieMTokenizer
from transformers.testing_utils import get_tests_dir, require_sentencepiece, require_tokenizers, slow

from ...test_tokenization_common import TokenizerTesterMixin


UpperCamelCase__							:Optional[int]       =  get_tests_dir("""fixtures/spiece.model""")






@require_sentencepiece
@require_tokenizers
class     A(     lowerCamelCase__							,       unittest.TestCase		):

		"""simple docstring"""





		A         =       ErnieMTokenizer
		A         =       False
		A         =       True
		A         =       False
		A         =       False
		def      _UpperCamelCase(   self      )			->  Union[str, Any]:

					"""simple docstring"""



					super().setUp()

					# We have a SentencePiece fixture for testing
					_UpperCamelCase				:int				    =  ErnieMTokenizer(SCREAMING_SNAKE_CASE__				,							unk_token='''<unk>'''				,							pad_token='''<pad>'''      )
					tokenizer.save_pretrained(self.tmpdirname      )
		def      _UpperCamelCase(   self				,							SCREAMING_SNAKE_CASE__      )			->  List[Any]:

					"""simple docstring"""



					_UpperCamelCase				:List[Any]				    =  '''this is a test'''
					_UpperCamelCase				:Optional[Any]				    =  '''this is a test'''
					return input_text, output_text
		def      _UpperCamelCase(   self      )			->  Union[str, Any]:

					"""simple docstring"""



					_UpperCamelCase				:Dict				    =  '''<pad>'''
					_UpperCamelCase				:Optional[Any]				    =  0

					self.assertEqual(self.get_tokenizer()._convert_token_to_id(SCREAMING_SNAKE_CASE__      )				,							SCREAMING_SNAKE_CASE__      )
					self.assertEqual(self.get_tokenizer()._convert_id_to_token(SCREAMING_SNAKE_CASE__      )				,							SCREAMING_SNAKE_CASE__      )
		def      _UpperCamelCase(   self      )			->  int:

					"""simple docstring"""



					_UpperCamelCase				:Dict				    =  list(self.get_tokenizer().get_vocab().keys()      )

					self.assertEqual(vocab_keys[0]				,							'''<pad>'''      )
					self.assertEqual(vocab_keys[1]				,							'''<unk>'''      )
					self.assertEqual(vocab_keys[-1]				,							'''▁eloquent'''      )
					self.assertEqual(len(SCREAMING_SNAKE_CASE__      )				,							3_00_00      )
		def      _UpperCamelCase(   self      )			->  str:

					"""simple docstring"""



					self.assertEqual(self.get_tokenizer().vocab_size				,							3_00_00      )
		def      _UpperCamelCase(   self      )			->  Dict:

					"""simple docstring"""



					if not self.test_rust_tokenizer:
								return

					_UpperCamelCase				:Tuple				    =  self.get_tokenizer()
					_UpperCamelCase				:str				    =  self.get_rust_tokenizer()

					_UpperCamelCase				:List[Any]				    =  '''I was born in 92000, and this is falsé.'''

					_UpperCamelCase				:Any				    =  tokenizer.tokenize(SCREAMING_SNAKE_CASE__      )
					_UpperCamelCase				:List[Any]				    =  rust_tokenizer.tokenize(SCREAMING_SNAKE_CASE__      )
					self.assertListEqual(SCREAMING_SNAKE_CASE__				,							SCREAMING_SNAKE_CASE__      )

					_UpperCamelCase				:List[str]				    =  tokenizer.encode(SCREAMING_SNAKE_CASE__				,							add_special_tokens=SCREAMING_SNAKE_CASE__      )
					_UpperCamelCase				:List[str]				    =  rust_tokenizer.encode(SCREAMING_SNAKE_CASE__				,							add_special_tokens=SCREAMING_SNAKE_CASE__      )
					self.assertListEqual(SCREAMING_SNAKE_CASE__				,							SCREAMING_SNAKE_CASE__      )

					_UpperCamelCase				:Any				    =  self.get_rust_tokenizer()
					_UpperCamelCase				:List[Any]				    =  tokenizer.encode(SCREAMING_SNAKE_CASE__      )
					_UpperCamelCase				:int				    =  rust_tokenizer.encode(SCREAMING_SNAKE_CASE__      )
					self.assertListEqual(SCREAMING_SNAKE_CASE__				,							SCREAMING_SNAKE_CASE__      )
		def      _UpperCamelCase(   self      )			->  Dict:

					"""simple docstring"""



					_UpperCamelCase				:Any				    =  ErnieMTokenizer(SCREAMING_SNAKE_CASE__				,							do_lower_case=SCREAMING_SNAKE_CASE__				,							unk_token='''<unk>'''				,							pad_token='''<pad>'''      )

					_UpperCamelCase				:List[str]				    =  tokenizer.tokenize('''This is a test'''      )
					self.assertListEqual(SCREAMING_SNAKE_CASE__				,							['''▁this''', '''▁is''', '''▁a''', '''▁test''']      )

					self.assertListEqual(tokenizer.convert_tokens_to_ids(SCREAMING_SNAKE_CASE__      )				,							[48, 25, 21, 12_89]      )

					_UpperCamelCase				:str				    =  tokenizer.tokenize('''I was born in 92000, and this is falsé.'''      )
					# ErnieMTokenizer(paddlenlp implementation) outputs '9' instead of '_9' so to mimic that '_9' is changed to '9'
					self.assertListEqual(
					    SCREAMING_SNAKE_CASE__				,							['''▁i''', '''▁was''', '''▁born''', '''▁in''', '''9''', '''2000''', ''',''', '''▁and''', '''▁this''', '''▁is''', '''▁fal''', '''s''', '''é''', '''.''']      )
					_UpperCamelCase				:Optional[int]				    =  tokenizer.convert_tokens_to_ids(SCREAMING_SNAKE_CASE__      )
					self.assertListEqual(SCREAMING_SNAKE_CASE__				,							[31, 23, 3_86, 19, 5_18, 30_50, 15, 17, 48, 25, 82_56, 18, 1, 9]      )

					_UpperCamelCase				:Dict				    =  tokenizer.convert_ids_to_tokens(SCREAMING_SNAKE_CASE__      )
					self.assertListEqual(
					    SCREAMING_SNAKE_CASE__				,							['''▁i''', '''▁was''', '''▁born''', '''▁in''', '''9''', '''2000''', ''',''', '''▁and''', '''▁this''', '''▁is''', '''▁fal''', '''s''', '''<unk>''', '''.''']				,							)
		def      _UpperCamelCase(   self      )			->  List[str]:

					"""simple docstring"""



					_UpperCamelCase				:Dict				    =  ErnieMTokenizer(SCREAMING_SNAKE_CASE__				,							unk_token='''<unk>'''				,							pad_token='''<pad>'''      )

					_UpperCamelCase				:str				    =  tokenizer.encode('''sequence builders'''      )
					_UpperCamelCase				:Optional[Any]				    =  tokenizer.encode('''multi-sequence build'''      )

					_UpperCamelCase				:int				    =  tokenizer.build_inputs_with_special_tokens(SCREAMING_SNAKE_CASE__      )
					_UpperCamelCase				:Union[str, Any]				    =  tokenizer.build_inputs_with_special_tokens(SCREAMING_SNAKE_CASE__				,							SCREAMING_SNAKE_CASE__      )

					assert encoded_sentence == [tokenizer.cls_token_id] + text + [tokenizer.sep_token_id]
					assert encoded_pair == [tokenizer.cls_token_id] + text + [tokenizer.sep_token_id] + [
					    tokenizer.sep_token_id
					] + text_a + [tokenizer.sep_token_id]





		@slow
		def      _UpperCamelCase(   self      )			->  int:

					"""simple docstring"""



					_UpperCamelCase				:List[str]				    =  {'''input_ids''': [[0, 1_10_62, 8_27_72, 7, 15, 8_27_72, 5_38, 5_15_29, 2_37, 1_71_98, 12_90, 2_06, 9, 21_51_75, 13_14, 1_36, 1_71_98, 12_90, 2_06, 9, 5_63_59, 42, 12_20_09, 9, 1_64_66, 16, 8_73_44, 45_37, 9, 47_17, 7_83_81, 6, 15_99_58, 7, 15, 2_44_80, 6_18, 4, 5_27, 2_26_93, 9, 3_04, 4, 27_77, 2_44_80, 98_74, 4, 4_35_23, 5_94, 4, 8_03, 1_83_92, 3_31_89, 18, 4, 4_35_23, 2_44_47, 5, 5, 5, 16, 1_00, 2_49_55, 8_36_58, 96_26, 14_40_57, 15, 8_39, 2_23_35, 16, 1_36, 2_49_55, 8_36_58, 8_34_79, 15, 3_91_02, 7_24, 16, 6_78, 6_45, 64_60, 13_28, 45_89, 42, 12_20_09, 11_57_74, 23, 35_59, 13_28, 4_68_76, 7, 1_36, 5_38_94, 19_40, 4_22_27, 4_11_59, 1_77_21, 8_23, 4_25, 4, 2_75_12, 9_87_22, 2_06, 1_36, 55_31, 49_70, 9_19, 1_73_36, 5, 2], [0, 2_00_80, 6_18, 83, 8_27_75, 47, 4_79, 9, 15_17, 73, 5_38_94, 3_33, 8_05_81, 11_01_17, 1_88_11, 52_56, 12_95, 51, 15_25_26, 2_97, 79_86, 3_90, 12_44_16, 5_38, 3_54_31, 2_14, 98, 1_50_44, 2_57_37, 1_36, 71_08, 4_37_01, 23, 7_56, 13_53_55, 7, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 5_81, 6_37_73, 11_94_55, 6, 14_77_97, 8_82_03, 7, 6_45, 70, 21, 32_85, 1_02_69, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]}
					# fmt: on

					self.tokenizer_integration_test_util(
					    expected_encoding=SCREAMING_SNAKE_CASE__				,							model_name='''susnato/ernie-m-base_pytorch'''				,							sequences=[
					        '''Transformers (formerly known as pytorch-transformers and pytorch-pretrained-bert) provides '''
					        '''general-purpose architectures (BERT, GPT-2, RoBERTa, XLM, DistilBert, XLNet...) for Natural '''
					        '''Language Understanding (NLU) and Natural Language Generation (NLG) with over32+ pretrained '''
					        '''models in100+ languages and deep interoperability between Jax, PyTorch and TensorFlow.''',
					        '''BERT is designed to pre-train deep bidirectional representations from unlabeled text by jointly '''
					        '''conditioning on both left and right context in all layers.''',
					        '''The quick brown fox jumps over the lazy dog.''',
					    ]				,							)

