


import unittest

from transformers import is_torch_available
from transformers.testing_utils import require_sentencepiece, require_tokenizers, require_torch, slow


if is_torch_available():
    import torch

    from transformers import XLMRobertaModel







@require_sentencepiece
@require_tokenizers
@require_torch
class      lowerCAmelCase__       (				unittest.TestCase):




     '''simple docstring'''


     @slow
     def  _lowerCamelCase (						self)			->				Union[str, Any]:
            _A      :       List[str]				    = XLMRobertaModel.from_pretrained("xlm-roberta-base")
            _A      :       str				    = torch.tensor([[0, 5_8_1, 1_0_2_6_9, 8_3, 9_9_9_4_2, 1_3_6, 6_0_7_4_2, 2_3, 7_0, 8_0_5_8_3, 1_8_2_7_6, 2]])
            # The dog is cute and lives in the garden house

            _A      :       List[Any]				    = torch.Size((1, 1_2, 7_6_8))  # batch_size, sequence_length, embedding_vector_dim
            _A      :       List[Any]				    = torch.tensor(
                [[-0.0_1_0_1, 0.1_2_1_8, -0.0_8_0_3, 0.0_8_0_1, 0.1_3_2_7, 0.0_7_7_6, -0.1_2_1_5, 0.2_3_8_3, 0.3_3_3_8, 0.3_1_0_6, 0.0_3_0_0, 0.0_2_5_2]])
            #  xlmr = torch.hub.load('pytorch/fairseq', 'xlmr.base')
            #  xlmr.eval()
            #  expected_output_values_last_dim = xlmr.extract_features(input_ids[0])[:, :, -1]
            with torch.no_grad():
                   _A      :       List[Any]				    = model(__lowerCamelCase)["last_hidden_state"].detach()
            self.assertEqual(output.shape ,						__lowerCamelCase)
            # compare the actual values for a slice of last dim
            self.assertTrue(torch.allclose(output[:, :, -1] ,						__lowerCamelCase ,						atol=1e-3))


     @slow
     def  _lowerCamelCase (						self)			->				List[Any]:
            _A      :       Dict				    = XLMRobertaModel.from_pretrained("xlm-roberta-large")
            _A      :       int				    = torch.tensor([[0, 5_8_1, 1_0_2_6_9, 8_3, 9_9_9_4_2, 1_3_6, 6_0_7_4_2, 2_3, 7_0, 8_0_5_8_3, 1_8_2_7_6, 2]])
            # The dog is cute and lives in the garden house

            _A      :       List[Any]				    = torch.Size((1, 1_2, 1_0_2_4))  # batch_size, sequence_length, embedding_vector_dim
            _A      :       str				    = torch.tensor(
                [[-0.0_6_9_9, -0.0_3_1_8, 0.0_7_0_5, -0.1_2_4_1, 0.0_9_9_9, -0.0_5_2_0, 0.1_0_0_4, -0.1_8_3_8, -0.4_7_0_4, 0.1_4_3_7, 0.0_8_2_1, 0.0_1_2_6]])
            #  xlmr = torch.hub.load('pytorch/fairseq', 'xlmr.large')
            #  xlmr.eval()
            #  expected_output_values_last_dim = xlmr.extract_features(input_ids[0])[:, :, -1]
            with torch.no_grad():
                   _A      :       int				    = model(__lowerCamelCase)["last_hidden_state"].detach()
            self.assertEqual(output.shape ,						__lowerCamelCase)
            # compare the actual values for a slice of last dim
            self.assertTrue(torch.allclose(output[:, :, -1] ,						__lowerCamelCase ,						atol=1e-3))




from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_flax_available, is_torch_available


lowerCAmelCase__      		= {'configuration_speech_encoder_decoder': ['SpeechEncoderDecoderConfig']}

try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    lowerCAmelCase__      		= ['SpeechEncoderDecoderModel']

try:
    if not is_flax_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    lowerCAmelCase__      		= ['FlaxSpeechEncoderDecoderModel']

if TYPE_CHECKING:
    from .configuration_speech_encoder_decoder import SpeechEncoderDecoderConfig

    try:
        if not is_torch_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .modeling_speech_encoder_decoder import SpeechEncoderDecoderModel

    try:
        if not is_flax_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .modeling_flax_speech_encoder_decoder import FlaxSpeechEncoderDecoderModel

else:
    import sys

    lowerCAmelCase__      		= _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)
