




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        __snake_case  (unittest.TestCase		):



				@slow
				def       SCREAMING_SNAKE_CASE       (      self      :		List[str]      )  ->    int:





								'''simple docstring'''




								_lowerCAmelCase    :    str										=      TFCamembertModel.from_pretrained("""jplu/tf-camembert-base"""      )

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

								_lowerCAmelCase    :    Dict										=      model(lowerCAmelCase__      )["""last_hidden_state"""]
								_lowerCAmelCase    :    List[str]										=      tf.TensorShape((1, 10, 768)      )
								self.assertEqual(output.shape		,	lowerCAmelCase__      )
								# compare the actual values for a slice.
								_lowerCAmelCase    :    Optional[Any]										=      tf.convert_to_tensor(
								    [[[-0.0254, 0.0235, 0.1027], [0.0606, -0.1811, -0.0418], [-0.1561, -0.1127, 0.2687]]]		,	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       ):
				'''simple docstring'''
				_lowerCAmelCase    :    int										=      n ** (1 / 3)
				return (val * val * val) == n


if __name__ == "__main__":
	print(perfect_cube(2_7))
	print(perfect_cube(4))

