
'''simple docstring'''







import pytest

from datasets.parallel import ParallelBackendConfig, parallel_backend
from datasets.utils.py_utils import map_nested

from .utils import require_dill_gt_0_3_2, require_joblibspark, require_not_windows







def 				SCREAMING_SNAKE_CASE__	(   __A	)       ->	Dict:  # picklable for multiprocessing
	return i + 1







@require_dill_gt_0_3_2
@require_joblibspark
@require_not_windows
def 				SCREAMING_SNAKE_CASE__	(   )       ->	Optional[int]:
	with parallel_backend('spark'	):
		assert ParallelBackendConfig.backend_name == "spark"

	_snake_case   						=		[1, 2, 3]
	with pytest.raises(__A	):
		with parallel_backend('unsupported backend'	):
			map_nested(__A			,				__A			,				num_proc=2	)

	with pytest.raises(__A	):
		with parallel_backend('unsupported backend'	):
			map_nested(__A			,				__A			,				num_proc=-1	)







@require_dill_gt_0_3_2
@require_joblibspark
@require_not_windows
@pytest.mark.parametrize('num_proc'			,				[2, -1]	)
def 				SCREAMING_SNAKE_CASE__	(   __A	)       ->	List[str]:
	_snake_case   						=		[1, 2]
	_snake_case   						=		{'a': 1, 'b': 2}
	_snake_case   						=		{'a': [1, 2], 'b': [3, 4]}
	_snake_case   						=		{'a': {'1': 1}, 'b': 2}
	_snake_case   						=		{'a': 1, 'b': 2, 'c': 3, 'd': 4}
	_snake_case   						=		[2, 3]
	_snake_case   						=		{'a': 2, 'b': 3}
	_snake_case   						=		{'a': [2, 3], 'b': [4, 5]}
	_snake_case   						=		{'a': {'1': 2}, 'b': 3}
	_snake_case   						=		{'a': 2, 'b': 3, 'c': 4, 'd': 5}

	with parallel_backend('spark'	):
		assert map_nested(__A			,				__A			,				num_proc=__A	) == expected_map_nested_sa
		assert map_nested(__A			,				__A			,				num_proc=__A	) == expected_map_nested_sa
		assert map_nested(__A			,				__A			,				num_proc=__A	) == expected_map_nested_sa
		assert map_nested(__A			,				__A			,				num_proc=__A	) == expected_map_nested_sa
		assert map_nested(__A			,				__A			,				num_proc=__A	) == expected_map_nested_sa



'''simple docstring'''







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


							@slow
							def  lowerCamelCase				(       self  ):





								"""simple docstring"""






								_snake_case   						=		TFCamembertModel.from_pretrained('jplu/tf-camembert-base'  )

								_snake_case   						=		tf.convert_to_tensor(
								    [[5, 1_21, 11, 6_60, 16, 7_30, 2_55_43, 1_10, 83, 6]]    ,   dtype=tf.intaa    ,   )  # J'aime le camembert !"

								_snake_case   						=		model(lowerCAmelCase_  )['last_hidden_state']
								_snake_case   						=		tf.TensorShape((1, 10, 7_68)  )
								self.assertEqual(output.shape    ,   lowerCAmelCase_  )
								# compare the actual values for a slice.
								_snake_case   						=		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  )  )

