



from __future__ import annotations

import unittest

from transformers import is_tf_available
from transformers.testing_utils import require_sentencepiece, require_tf, require_tokenizers, slow


if is_tf_available():
     import numpy as np
     import tensorflow as tf

     from transformers import TFCamembertModel



@require_tf
@require_sentencepiece
@require_tokenizers
class 		_lowercase		(       unittest.TestCase	):

   @slow
   def 		A							(      self			:       List[Any]							)       ->				Union[str, Any]:


    """simple docstring"""






    a						=		TFCamembertModel.from_pretrained("jplu/tf-camembert-base"							)

    a						=		tf.convert_to_tensor(
        [[5, 121, 11, 660, 16, 730, 2_5543, 110, 83, 6]]							,   dtype=tf.intaa							,   )  # J'aime le camembert !"

    a						=		model(__lowerCAmelCase							)["last_hidden_state"]
    a						=		tf.TensorShape((1, 10, 768)							)
    self.assertEqual(output.shape							,   __lowerCAmelCase							)
    # compare the actual values for a slice.
    a						=		tf.convert_to_tensor(
        [[[-0.0_2_5_4, 0.0_2_3_5, 0.1_0_2_7], [0.0_6_0_6, -0.1_8_1_1, -0.0_4_1_8], [-0.1_5_6_1, -0.1_1_2_7, 0.2_6_8_7]]]							,   dtype=tf.floataa							,   )
    # camembert = torch.hub.load('pytorch/fairseq', 'camembert.v0')
    # camembert.eval()
    # expected_slice = roberta.model.forward(input_ids)[0][:, :3, :3].detach()

    self.assertTrue(np.allclose(output[:, :3, :3].numpy()							,   expected_slice.numpy()							,   atol=1E-4							)							)






def 	UpperCAmelCase__      (      UpperCAmelCase__ :int ,					UpperCAmelCase__ :int					):






 '''simple docstring'''

 if a < 0 or b < 0:
  raise ValueError("the value of both inputs must be positive"					)

 a						=		str(bin(UpperCAmelCase__					)					)[2:]  # remove the leading "0b"
 a						=		str(bin(UpperCAmelCase__					)					)[2:]  # remove the leading "0b"

 a						=		max(len(UpperCAmelCase__					) ,					len(UpperCAmelCase__					)					)

 return "0b" + "".join(
     str(int(char_a == "1" and char_b == "1"					)					)
     for char_a, char_b in zip(a_binary.zfill(UpperCAmelCase__					) ,					b_binary.zfill(UpperCAmelCase__					)					)					)


if __name__ == "__main__":
     import doctest

     doctest.testmod()

