


import unittest

from transformers import AutoTokenizer, is_flax_available
from transformers.testing_utils import require_flax, require_sentencepiece, require_tokenizers, slow


if is_flax_available():
						import jax.numpy as jnp

						from transformers import FlaxXLMRobertaModel







@require_sentencepiece
@require_tokenizers
@require_flax
class 	lowercase       (unittest.TestCase				):
					@slow
					def 			lowerCamelCase__(				self       :List[Any]				) ->   Optional[int]:
												a__					=					FlaxXLMRobertaModel.from_pretrained('xlm-roberta-base'				)
												a__					=					AutoTokenizer.from_pretrained('xlm-roberta-base'				)
												a__					=					'The dog is cute and lives in the garden house'
												a__					=					jnp.array([tokenizer.encode(__snake_case				)]				)

												a__					=					(1, 12, 7_68)  # batch_size, sequence_length, embedding_vector_dim
												a__					=					jnp.array(
												    [[-0.01_01, 0.12_18, -0.08_03, 0.08_01, 0.13_27, 0.07_76, -0.12_15, 0.23_83, 0.33_38, 0.31_06, 0.03_00, 0.02_52]]				)

												a__					=					model(__snake_case				)['last_hidden_state']
												self.assertEqual(output.shape      ,__snake_case				)
												# compare the actual values for a slice of last dim
												self.assertTrue(jnp.allclose(output[:, :, -1]      ,__snake_case      ,atol=1E-3				)				)








import inspect
import os
import unittest
from pathlib import Path

import torch

import accelerate
from accelerate.test_utils import execute_subprocess_async
from accelerate.test_utils.testing import run_command







class 	snake_case_       (unittest.TestCase				):
					UpperCAmelCase__ :   Optional[Any]   				=      inspect.getfile(accelerate.test_utils				)
					UpperCAmelCase__ :   Tuple   				=      os.path.sep.join(mod_file.split(os.path.sep				)[:-1] + ['''scripts''', '''test_cli.py''']				)

					UpperCAmelCase__ :   Optional[int]   				=      ['''accelerate''', '''launch''']
					UpperCAmelCase__ :   List[str]   				=      Path.home() / '''.cache/huggingface/accelerate'''
					UpperCAmelCase__ :   Union[str, Any]   				=      '''default_config.yaml'''
					UpperCAmelCase__ :   List[Any]   				=      config_folder / config_file
					UpperCAmelCase__ :   Optional[int]   				=      config_folder / '''_default_config.yaml'''

					UpperCAmelCase__ :   int   				=      Path('''tests/test_configs'''				)
					@classmethod
					def 			lowerCamelCase__(				cls       :Any				) ->   int:
												if cls.config_path.is_file():
																			cls.config_path.rename(cls.changed_path				)
					@classmethod
					def 			lowerCamelCase__(				cls       :Dict				) ->   Union[str, Any]:
												if cls.changed_path.is_file():
																			cls.changed_path.rename(cls.config_path				)
					def 			lowerCamelCase__(				self       :Any				) ->   Optional[int]:
												a__					=					self.base_cmd
												if torch.cuda.is_available() and (torch.cuda.device_count() > 1):
																			cmd += ["--multi_gpu"]
												execute_subprocess_async(cmd + [self.test_file_path]      ,env=os.environ.copy()				)
					def 			lowerCamelCase__(				self       :str				) ->   List[Any]:
												for config in sorted(self.test_config_path.glob('**/*.yaml'				)				):
																			with self.subTest(config_file=__snake_case				):
																										execute_subprocess_async(
																										    self.base_cmd + ['--config_file', str(__snake_case				), self.test_file_path]      ,env=os.environ.copy()				)



					def 			lowerCamelCase__(				self       :int				) ->   List[str]:
												execute_subprocess_async(['accelerate', 'test']      ,env=os.environ.copy()				)







class 	snake_case_       (unittest.TestCase				):
					UpperCAmelCase__ :   List[Any]   				=      '''test-tpu'''
					UpperCAmelCase__ :   str   				=      '''us-central1-a'''
					UpperCAmelCase__ :   Optional[Any]   				=      '''ls'''
					UpperCAmelCase__ :   Optional[int]   				=      ['''accelerate''', '''tpu-config''']
					UpperCAmelCase__ :   Any   				=      '''cd /usr/share'''
					UpperCAmelCase__ :   Tuple   				=      '''tests/test_samples/test_command_file.sh'''
					UpperCAmelCase__ :   List[Any]   				=      '''Running gcloud compute tpus tpu-vm ssh'''
					def 			lowerCamelCase__(				self       :Optional[Any]				) ->   Tuple:
												a__					=					run_command(
												    self.cmd
												    + ['--command', self.command, '--tpu_zone', self.tpu_zone, '--tpu_name', self.tpu_name, '--debug']      ,return_stdout=__snake_case      ,)
												self.assertIn(
												    F'{self.gcloud} test-tpu --zone us-central1-a --command {self.base_output}; ls --worker all'      ,__snake_case      ,)
					def 			lowerCamelCase__(				self       :int				) ->   str:
												a__					=					run_command(
												    self.cmd
												    + [
												        '--config_file',
												        'tests/test_configs/0_12_0.yaml',
												        '--command',
												        self.command,
												        '--tpu_zone',
												        self.tpu_zone,
												        '--tpu_name',
												        self.tpu_name,
												        '--debug',
												    ]      ,return_stdout=__snake_case      ,)
												self.assertIn(
												    F'{self.gcloud} test-tpu --zone us-central1-a --command {self.base_output}; ls --worker all'      ,__snake_case      ,)
					def 			lowerCamelCase__(				self       :Any				) ->   Dict:
												a__					=					run_command(
												    self.cmd + ['--config_file', 'tests/test_configs/latest.yaml', '--debug']      ,return_stdout=__snake_case				)
												self.assertIn(
												    F'{self.gcloud} test-tpu --zone us-central1-a --command {self.base_output}; echo "hello world"; echo "this is a second command" --worker all'      ,__snake_case      ,)
					def 			lowerCamelCase__(				self       :Tuple				) ->   str:
												a__					=					run_command(
												    self.cmd + ['--config_file', 'tests/test_configs/latest.yaml', '--command', self.command, '--debug']      ,return_stdout=__snake_case      ,)
												self.assertIn(
												    F'{self.gcloud} test-tpu --zone us-central1-a --command {self.base_output}; ls --worker all'      ,__snake_case      ,)
					def 			lowerCamelCase__(				self       :Dict				) ->   int:
												a__					=					run_command(
												    self.cmd
												    + [
												        '--config_file',
												        'tests/test_configs/latest.yaml',
												        '--command',
												        self.command,
												        '--command',
												        'echo "Hello World"',
												        '--debug',
												    ]      ,return_stdout=__snake_case      ,)
												self.assertIn(
												    F'{self.gcloud} test-tpu --zone us-central1-a --command {self.base_output}; ls; echo "Hello World" --worker all'      ,__snake_case      ,)
					def 			lowerCamelCase__(				self       :Union[str, Any]				) ->   List[Any]:
												a__					=					run_command(
												    self.cmd
												    + ['--config_file', 'tests/test_configs/latest.yaml', '--command_file', self.command_file, '--debug']      ,return_stdout=__snake_case      ,)
												self.assertIn(
												    F'{self.gcloud} test-tpu --zone us-central1-a --command {self.base_output}; echo "hello world"; echo "this is a second command" --worker all'      ,__snake_case      ,)
					def 			lowerCamelCase__(				self       :int				) ->   int:
												a__					=					run_command(
												    self.cmd
												    + [
												        '--config_file',
												        'tests/test_configs/0_12_0.yaml',
												        '--command_file',
												        self.command_file,
												        '--tpu_zone',
												        self.tpu_zone,
												        '--tpu_name',
												        self.tpu_name,
												        '--debug',
												    ]      ,return_stdout=__snake_case      ,)
												self.assertIn(
												    F'{self.gcloud} test-tpu --zone us-central1-a --command {self.base_output}; echo "hello world"; echo "this is a second command" --worker all'      ,__snake_case      ,)
					def 			lowerCamelCase__(				self       :Union[str, Any]				) ->   List[Any]:
												a__					=					run_command(
												    self.cmd + ['--config_file', 'tests/test_configs/latest.yaml', '--install_accelerate', '--debug']      ,return_stdout=__snake_case      ,)
												self.assertIn(
												    F'{self.gcloud} test-tpu --zone us-central1-a --command {self.base_output}; pip install accelerate -U; echo "hello world"; echo "this is a second command" --worker all'      ,__snake_case      ,)



					def 			lowerCamelCase__(				self       :Any				) ->   Optional[int]:
												a__					=					run_command(
												    self.cmd
												    + [
												        '--config_file',
												        'tests/test_configs/latest.yaml',
												        '--install_accelerate',
												        '--accelerate_version',
												        '12.0.0',
												        '--debug',
												    ]      ,return_stdout=__snake_case      ,)
												self.assertIn(
												    F'{self.gcloud} test-tpu --zone us-central1-a --command {self.base_output}; pip install accelerate==12.0.0; echo "hello world"; echo "this is a second command" --worker all'      ,__snake_case      ,)




