





import gc
import unittest

import torch
from transformers import CLIPTextConfig, CLIPTextModel, CLIPTextModelWithProjection, CLIPTokenizer

from diffusers import (
    AutoencoderKL,
    DDIMScheduler,
    DDPMScheduler,
    PriorTransformer,
    StableUnCLIPPipeline,
    UNetaDConditionModel,
)
from diffusers.pipelines.stable_diffusion.stable_unclip_image_normalizer import StableUnCLIPImageNormalizer
from diffusers.utils.testing_utils import enable_full_determinism, load_numpy, require_torch_gpu, slow, torch_device

from ..pipeline_params import TEXT_TO_IMAGE_BATCH_PARAMS, TEXT_TO_IMAGE_IMAGE_PARAMS, TEXT_TO_IMAGE_PARAMS
from ..test_pipelines_common import (
    PipelineKarrasSchedulerTesterMixin,
    PipelineLatentTesterMixin,
    PipelineTesterMixin,
    assert_mean_pixel_difference,
)


enable_full_determinism()






class 					lowercase__ (			__lowerCamelCase    ,       __lowerCamelCase    ,       __lowerCamelCase    ,       unittest.TestCase       ):

   '''simple docstring'''


   a		:							Dict     	=	StableUnCLIPPipeline
   a		:							int     	=	TEXT_TO_IMAGE_PARAMS
   a		:							List[str]     	=	TEXT_TO_IMAGE_BATCH_PARAMS
   a		:							List[Any]     	=	TEXT_TO_IMAGE_IMAGE_PARAMS
   a		:							int     	=	TEXT_TO_IMAGE_IMAGE_PARAMS

   # TODO(will) Expected attn_bias.stride(1) == 0 to be true, but got false
   a		:							Optional[Any]     	=	False




   def    UpperCamelCase__						(					self							)				->   Optional[int]:






       """simple docstring"""
       UpperCamelCase__							:       Optional[Any]      =   32
       UpperCamelCase__							:       List[Any]      =   embedder_hidden_size

       # prior components

       torch.manual_seed(0							)
       UpperCamelCase__							:       Union[str, Any]      =   CLIPTokenizer.from_pretrained('''hf-internal-testing/tiny-random-clip'''							)

       torch.manual_seed(0							)
       UpperCamelCase__							:       Optional[int]      =   CLIPTextModelWithProjection(
           CLIPTextConfig(
               bos_token_id=0,	eos_token_id=2,	hidden_size=__magic_name__,	projection_dim=__magic_name__,	intermediate_size=37,	layer_norm_eps=1E-05,	num_attention_heads=4,	num_hidden_layers=5,	pad_token_id=1,	vocab_size=1000,	)							)

       torch.manual_seed(0							)
       UpperCamelCase__							:       int      =   PriorTransformer(
           num_attention_heads=2,	attention_head_dim=12,	embedding_dim=__magic_name__,	num_layers=1,	)

       torch.manual_seed(0							)
       UpperCamelCase__							:       Union[str, Any]      =   DDPMScheduler(
           variance_type='''fixed_small_log''',	prediction_type='''sample''',	num_train_timesteps=1000,	clip_sample=__magic_name__,	clip_sample_range=5.0,	beta_schedule='''squaredcos_cap_v2''',	)

       # regular denoising components

       torch.manual_seed(0							)
       UpperCamelCase__							:       Dict      =   StableUnCLIPImageNormalizer(embedding_dim=__magic_name__							)
       UpperCamelCase__							:       Optional[Any]      =   DDPMScheduler(beta_schedule='''squaredcos_cap_v2'''							)

       torch.manual_seed(0							)
       UpperCamelCase__							:       Union[str, Any]      =   CLIPTokenizer.from_pretrained('''hf-internal-testing/tiny-random-clip'''							)

       torch.manual_seed(0							)
       UpperCamelCase__							:       int      =   CLIPTextModel(
           CLIPTextConfig(
               bos_token_id=0,	eos_token_id=2,	hidden_size=__magic_name__,	projection_dim=32,	intermediate_size=37,	layer_norm_eps=1E-05,	num_attention_heads=4,	num_hidden_layers=5,	pad_token_id=1,	vocab_size=1000,	)							)

       torch.manual_seed(0							)
       UpperCamelCase__							:       Optional[Any]      =   UNetaDConditionModel(
           sample_size=32,	in_channels=4,	out_channels=4,	down_block_types=('''CrossAttnDownBlock2D''', '''DownBlock2D'''),	up_block_types=('''UpBlock2D''', '''CrossAttnUpBlock2D'''),	block_out_channels=(32, 64),	attention_head_dim=(2, 4),	class_embed_type='''projection''',	projection_class_embeddings_input_dim=embedder_projection_dim * 2,	cross_attention_dim=__magic_name__,	layers_per_block=1,	upcast_attention=__magic_name__,	use_linear_projection=__magic_name__,	)

       torch.manual_seed(0							)
       UpperCamelCase__							:       Optional[int]      =   DDIMScheduler(
           beta_schedule='''scaled_linear''',	beta_start=0.0_0085,	beta_end=0.012,	prediction_type='''v_prediction''',	set_alpha_to_one=__magic_name__,	steps_offset=1,	)

       torch.manual_seed(0							)
       UpperCamelCase__							:       Optional[Any]      =   AutoencoderKL()

       UpperCamelCase__							:       int      =   {
           # prior components
           '''prior_tokenizer''': prior_tokenizer,
           '''prior_text_encoder''': prior_text_encoder,
           '''prior''': prior,
           '''prior_scheduler''': prior_scheduler,
           # image noising components
           '''image_normalizer''': image_normalizer,
           '''image_noising_scheduler''': image_noising_scheduler,
           # regular denoising components
           '''tokenizer''': tokenizer,
           '''text_encoder''': text_encoder,
           '''unet''': unet,
           '''scheduler''': scheduler,
           '''vae''': vae,
       }

       return components




   def    UpperCamelCase__						(					self,	__magic_name__,	__magic_name__=0							)				->   List[str]:






       """simple docstring"""
       if str(__magic_name__							).startswith('''mps'''							):
           UpperCamelCase__							:       Optional[int]      =   torch.manual_seed(__magic_name__							)
       else:
           UpperCamelCase__							:       Any      =   torch.Generator(device=__magic_name__							).manual_seed(__magic_name__							)
       UpperCamelCase__							:       List[str]      =   {
           '''prompt''': '''A painting of a squirrel eating a burger''',
           '''generator''': generator,
           '''num_inference_steps''': 2,
           '''prior_num_inference_steps''': 2,
           '''output_type''': '''numpy''',
       }
       return inputs




   def    UpperCamelCase__						(					self							)				->   Any:






       """simple docstring"""
       UpperCamelCase__							:       int      =   torch_device == '''cpu'''

       self._test_attention_slicing_forward_pass(test_max_difference=__magic_name__							)




   def    UpperCamelCase__						(					self							)				->   str:






       """simple docstring"""
       UpperCamelCase__							:       Optional[Any]      =   torch_device in ['''cpu''', '''mps''']

       self._test_inference_batch_single_identical(test_max_difference=__magic_name__							)






@slow
@require_torch_gpu
class 					lowercase__ (			unittest.TestCase       ):

   '''simple docstring'''


   def    UpperCamelCase__						(					self							)				->   Optional[Any]:






       """simple docstring"""
       # clean up the VRAM after each test
       super().tearDown()
       gc.collect()
       torch.cuda.empty_cache()




   def    UpperCamelCase__						(					self							)				->   Union[str, Any]:






       """simple docstring"""
       UpperCamelCase__							:       List[str]      =   load_numpy(
           '''https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/stable_unclip/stable_unclip_2_1_l_anime_turtle_fp16.npy'''							)

       UpperCamelCase__							:       List[Any]      =   StableUnCLIPPipeline.from_pretrained('''fusing/stable-unclip-2-1-l''',	torch_dtype=torch.floataa							)
       pipe.to(__magic_name__							)
       pipe.set_progress_bar_config(disable=__magic_name__							)
       # stable unclip will oom when integration tests are run on a V100,
       # so turn on memory savings
       pipe.enable_attention_slicing()
       pipe.enable_sequential_cpu_offload()

       UpperCamelCase__							:       List[Any]      =   torch.Generator(device='''cpu'''							).manual_seed(0							)
       UpperCamelCase__							:       List[str]      =   pipe('''anime turle''',	generator=__magic_name__,	output_type='''np'''							)

       UpperCamelCase__							:       int      =   output.images[0]

       assert image.shape == (768, 768, 3)

       assert_mean_pixel_difference(__magic_name__,	__magic_name__							)




   def    UpperCamelCase__						(					self							)				->   Tuple:






       """simple docstring"""
       torch.cuda.empty_cache()
       torch.cuda.reset_max_memory_allocated()
       torch.cuda.reset_peak_memory_stats()

       UpperCamelCase__							:       Any      =   StableUnCLIPPipeline.from_pretrained('''fusing/stable-unclip-2-1-l''',	torch_dtype=torch.floataa							)
       UpperCamelCase__							:       Tuple      =   pipe.to(__magic_name__							)
       pipe.set_progress_bar_config(disable=__magic_name__							)
       pipe.enable_attention_slicing()
       pipe.enable_sequential_cpu_offload()

       UpperCamelCase__							:       Tuple      =   pipe(
           '''anime turtle''',	prior_num_inference_steps=2,	num_inference_steps=2,	output_type='''np''',	)

       UpperCamelCase__							:       Optional[int]      =   torch.cuda.max_memory_allocated()
       # make sure that less than 7 GB is allocated
       assert mem_bytes < 7 * 10**9








import random
import unittest

import numpy as np

import transformers
from transformers import is_flax_available, is_torch_available
from transformers.testing_utils import is_pt_flax_cross_test, require_flax


if is_flax_available():
  import os

  import jax.numpy as jnp
  from jax import jit

  from transformers import AutoTokenizer, FlaxAutoModelForCausalLM
  from transformers.modeling_flax_pytorch_utils import load_flax_weights_in_pytorch_model

  UpperCAmelCase_  							=				'0.12'  # assumed parallelism: 8


if is_torch_available():
  import torch




def 	lowerCAmelCase_					(						__UpperCAmelCase:    Dict	,     __UpperCAmelCase:    Tuple	,     __UpperCAmelCase:    Optional[Any]=None   )   ->			Union[str, Any]:
    if rng is None:
        UpperCamelCase__							:       Tuple      =   random.Random()

    UpperCamelCase__							:       List[str]      =   1
    for dim in shape:
        total_dims *= dim

    UpperCamelCase__							:       Tuple      =   []
    for _ in range(__UpperCAmelCase   ):
        values.append(rng.randint(0	,     vocab_size - 1   )   )

    UpperCamelCase__							:       Any      =   np.array(__UpperCAmelCase	,     dtype=jnp.intaa   ).reshape(__UpperCAmelCase   )

    return output




def 	lowerCAmelCase_					(						__UpperCAmelCase:    Optional[int]	,     __UpperCAmelCase:    Optional[int]=None   )   ->			Any:
    UpperCamelCase__							:       Any      =   ids_tensor(__UpperCAmelCase	,     vocab_size=2	,     rng=__UpperCAmelCase   )
    # make sure that at least one token is attended to for each batch
    UpperCamelCase__							:       Tuple      =   1
    return attn_mask






@require_flax
class 					lowercase__ :

   '''simple docstring'''


   a		:							Optional[int]     	=	None
   a		:							Union[str, Any]     	=	()




   def    UpperCamelCase__						(					self							)				->   str:






       """simple docstring"""
       UpperCamelCase__     ,UpperCamelCase__							:       Tuple      =   self.model_tester.prepare_config_and_inputs_for_common()

       # cut to half length & take max batch_size 3
       UpperCamelCase__							:       str      =   2
       UpperCamelCase__							:       Dict      =   inputs['''input_ids'''].shape[-1] // 2
       UpperCamelCase__							:       int      =   inputs['''input_ids'''][:max_batch_size, :sequence_length]

       UpperCamelCase__							:       Tuple      =   jnp.ones_like(__magic_name__							)
       UpperCamelCase__							:       Any      =   attention_mask[:max_batch_size, :sequence_length]

       # generate max 5 tokens
       UpperCamelCase__							:       List[str]      =   input_ids.shape[-1] + 5
       if config.eos_token_id is not None and config.pad_token_id is None:
           # hack to allow generate for models such as GPT2 as is done in `generate()`
           UpperCamelCase__							:       Tuple      =   config.eos_token_id
       return config, input_ids, attention_mask, max_length




   @is_pt_flax_cross_test
   def    UpperCamelCase__						(					self							)				->   List[str]:






       """simple docstring"""
       UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__							:       Optional[int]      =   self._get_input_ids_and_config()
       UpperCamelCase__							:       Optional[int]      =   False
       UpperCamelCase__							:       Optional[int]      =   max_length
       UpperCamelCase__							:       Dict      =   0

       for model_class in self.all_generative_model_classes:
           UpperCamelCase__							:       str      =   model_class(__magic_name__							)

           UpperCamelCase__							:       int      =   model_class.__name__[4:]  # Skip the "Flax" at the beginning
           UpperCamelCase__							:       List[str]      =   getattr(__magic_name__,	__magic_name__							)
           UpperCamelCase__							:       List[Any]      =   pt_model_class(__magic_name__							).eval()
           UpperCamelCase__							:       int      =   load_flax_weights_in_pytorch_model(__magic_name__,	flax_model.params							)

           UpperCamelCase__							:       Optional[int]      =   flax_model.generate(__magic_name__							).sequences
           UpperCamelCase__							:       Union[str, Any]      =   pt_model.generate(torch.tensor(__magic_name__,	dtype=torch.long							)							)

           if flax_generation_outputs.shape[-1] > pt_generation_outputs.shape[-1]:
               UpperCamelCase__							:       Optional[Any]      =   flax_generation_outputs[:, : pt_generation_outputs.shape[-1]]

           self.assertListEqual(pt_generation_outputs.numpy().tolist(),	flax_generation_outputs.tolist()							)




   def    UpperCamelCase__						(					self							)				->   Optional[int]:






       """simple docstring"""
       UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__							:       List[Any]      =   self._get_input_ids_and_config()
       UpperCamelCase__							:       Dict      =   False
       UpperCamelCase__							:       List[str]      =   max_length

       for model_class in self.all_generative_model_classes:
           UpperCamelCase__							:       Dict      =   model_class(__magic_name__							)

           UpperCamelCase__							:       List[Any]      =   model.generate(__magic_name__							).sequences
           self.assertEqual(generation_outputs.shape[-1],	__magic_name__							)

           UpperCamelCase__							:       int      =   jit(model.generate							)
           UpperCamelCase__							:       Optional[Any]      =   jit_generate(__magic_name__							).sequences

           self.assertListEqual(generation_outputs.tolist(),	jit_generation_outputs.tolist()							)




   def    UpperCamelCase__						(					self							)				->   Optional[int]:






       """simple docstring"""
       UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__							:       Union[str, Any]      =   self._get_input_ids_and_config()
       UpperCamelCase__							:       Optional[int]      =   True
       UpperCamelCase__							:       List[str]      =   max_length

       for model_class in self.all_generative_model_classes:
           UpperCamelCase__							:       Dict      =   model_class(__magic_name__							)

           UpperCamelCase__							:       Dict      =   model.generate(__magic_name__							).sequences
           self.assertEqual(generation_outputs.shape[-1],	__magic_name__							)

           UpperCamelCase__							:       Optional[Any]      =   jit(model.generate							)
           UpperCamelCase__							:       Optional[int]      =   jit_generate(__magic_name__							).sequences

           self.assertListEqual(generation_outputs.tolist(),	jit_generation_outputs.tolist()							)




   def    UpperCamelCase__						(					self							)				->   Dict:






       """simple docstring"""
       UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__							:       Optional[Any]      =   self._get_input_ids_and_config()
       UpperCamelCase__							:       List[str]      =   False
       UpperCamelCase__							:       Dict      =   max_length
       UpperCamelCase__							:       str      =   2

       for model_class in self.all_generative_model_classes:
           UpperCamelCase__							:       Optional[int]      =   model_class(__magic_name__							)

           UpperCamelCase__							:       List[Any]      =   model.generate(__magic_name__							).sequences
           self.assertEqual(generation_outputs.shape[-1],	__magic_name__							)

           UpperCamelCase__							:       str      =   jit(model.generate							)
           UpperCamelCase__							:       int      =   jit_generate(__magic_name__							).sequences

           self.assertListEqual(generation_outputs.tolist(),	jit_generation_outputs.tolist()							)




   def    UpperCamelCase__						(					self							)				->   Union[str, Any]:






       """simple docstring"""
       UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__							:       Any      =   self._get_input_ids_and_config()
       UpperCamelCase__							:       Tuple      =   False
       UpperCamelCase__							:       Union[str, Any]      =   max_length
       UpperCamelCase__							:       Optional[Any]      =   2
       UpperCamelCase__							:       List[Any]      =   2

       for model_class in self.all_generative_model_classes:
           UpperCamelCase__							:       List[str]      =   model_class(__magic_name__							)

           UpperCamelCase__							:       List[str]      =   model.generate(__magic_name__							).sequences
           self.assertEqual(generation_outputs.shape[0],	input_ids.shape[0] * config.num_return_sequences							)




   def    UpperCamelCase__						(					self							)				->   Dict:






       """simple docstring"""
       UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__							:       Optional[int]      =   self._get_input_ids_and_config()
       UpperCamelCase__							:       List[str]      =   True
       UpperCamelCase__							:       Any      =   max_length
       UpperCamelCase__							:       Union[str, Any]      =   0.8
       UpperCamelCase__							:       Dict      =   10
       UpperCamelCase__							:       Any      =   0.3
       UpperCamelCase__							:       str      =   1
       UpperCamelCase__							:       Union[str, Any]      =   8
       UpperCamelCase__							:       Union[str, Any]      =   9

       for model_class in self.all_generative_model_classes:
           UpperCamelCase__							:       int      =   model_class(__magic_name__							)

           UpperCamelCase__							:       Union[str, Any]      =   model.generate(__magic_name__							).sequences
           self.assertEqual(generation_outputs.shape[-1],	__magic_name__							)

           UpperCamelCase__							:       Any      =   jit(model.generate							)
           UpperCamelCase__							:       List[Any]      =   jit_generate(__magic_name__							).sequences

           self.assertListEqual(generation_outputs.tolist(),	jit_generation_outputs.tolist()							)




   def    UpperCamelCase__						(					self							)				->   List[Any]:






       """simple docstring"""
       UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__							:       Optional[int]      =   self._get_input_ids_and_config()
       UpperCamelCase__							:       Any      =   max_length
       UpperCamelCase__							:       str      =   1
       UpperCamelCase__							:       Dict      =   8
       UpperCamelCase__							:       List[Any]      =   9

       for model_class in self.all_generative_model_classes:
           UpperCamelCase__							:       Union[str, Any]      =   model_class(__magic_name__							)

           UpperCamelCase__							:       Optional[int]      =   model.generate(__magic_name__							).sequences
           self.assertEqual(generation_outputs.shape[-1],	__magic_name__							)

           UpperCamelCase__							:       Dict      =   jit(model.generate							)
           UpperCamelCase__							:       int      =   jit_generate(__magic_name__							).sequences

           self.assertListEqual(generation_outputs.tolist(),	jit_generation_outputs.tolist()							)




   def    UpperCamelCase__						(					self							)				->   Optional[int]:






       """simple docstring"""
       UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__							:       int      =   self._get_input_ids_and_config()
       UpperCamelCase__							:       Dict      =   max_length
       UpperCamelCase__							:       List[Any]      =   2
       UpperCamelCase__							:       Dict      =   1
       UpperCamelCase__							:       int      =   8
       UpperCamelCase__							:       List[Any]      =   9

       for model_class in self.all_generative_model_classes:
           UpperCamelCase__							:       Union[str, Any]      =   model_class(__magic_name__							)

           UpperCamelCase__							:       Union[str, Any]      =   model.generate(__magic_name__							).sequences
           self.assertEqual(generation_outputs.shape[-1],	__magic_name__							)

           UpperCamelCase__							:       Optional[Any]      =   jit(model.generate							)
           UpperCamelCase__							:       Any      =   jit_generate(__magic_name__							).sequences

           self.assertListEqual(generation_outputs.tolist(),	jit_generation_outputs.tolist()							)




   def    UpperCamelCase__						(					self							)				->   Union[str, Any]:






       """simple docstring"""
       UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__							:       Optional[Any]      =   self._get_input_ids_and_config()

       # pad attention mask on the left
       UpperCamelCase__							:       Optional[int]      =   attention_mask.at[(0, 0)].set(0							)

       UpperCamelCase__							:       Tuple      =   False
       UpperCamelCase__							:       str      =   max_length

       for model_class in self.all_generative_model_classes:
           UpperCamelCase__							:       int      =   model_class(__magic_name__							)

           UpperCamelCase__							:       List[Any]      =   model.generate(__magic_name__,	attention_mask=__magic_name__							).sequences
           self.assertEqual(generation_outputs.shape[-1],	__magic_name__							)

           UpperCamelCase__							:       str      =   jit(model.generate							)
           UpperCamelCase__							:       Optional[Any]      =   jit_generate(__magic_name__,	attention_mask=__magic_name__							).sequences

           self.assertListEqual(generation_outputs.tolist(),	jit_generation_outputs.tolist()							)




   def    UpperCamelCase__						(					self							)				->   Tuple:






       """simple docstring"""
       UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__							:       List[str]      =   self._get_input_ids_and_config()

       # pad attention mask on the left
       UpperCamelCase__							:       Any      =   attention_mask.at[(0, 0)].set(0							)

       UpperCamelCase__							:       Any      =   True
       UpperCamelCase__							:       Union[str, Any]      =   max_length

       for model_class in self.all_generative_model_classes:
           UpperCamelCase__							:       Union[str, Any]      =   model_class(__magic_name__							)

           UpperCamelCase__							:       Optional[Any]      =   model.generate(__magic_name__,	attention_mask=__magic_name__							).sequences
           self.assertEqual(generation_outputs.shape[-1],	__magic_name__							)

           UpperCamelCase__							:       Union[str, Any]      =   jit(model.generate							)
           UpperCamelCase__							:       str      =   jit_generate(__magic_name__,	attention_mask=__magic_name__							).sequences

           self.assertListEqual(generation_outputs.tolist(),	jit_generation_outputs.tolist()							)




   def    UpperCamelCase__						(					self							)				->   int:






       """simple docstring"""
       UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__     ,UpperCamelCase__							:       Optional[int]      =   self._get_input_ids_and_config()

       # pad attention mask on the left
       UpperCamelCase__							:       Union[str, Any]      =   attention_mask.at[(0, 0)].set(0							)

       UpperCamelCase__							:       Optional[Any]      =   2
       UpperCamelCase__							:       List[str]      =   max_length

       for model_class in self.all_generative_model_classes:
           UpperCamelCase__							:       int      =   model_class(__magic_name__							)

           UpperCamelCase__							:       Any      =   model.generate(__magic_name__,	attention_mask=__magic_name__							).sequences
           self.assertEqual(generation_outputs.shape[-1],	__magic_name__							)

           UpperCamelCase__							:       Tuple      =   jit(model.generate							)
           UpperCamelCase__							:       int      =   jit_generate(__magic_name__,	attention_mask=__magic_name__							).sequences

           self.assertListEqual(generation_outputs.tolist(),	jit_generation_outputs.tolist()							)






@require_flax
class 					lowercase__ (			unittest.TestCase       ):

   '''simple docstring'''


   def    UpperCamelCase__						(					self							)				->   Tuple:






       """simple docstring"""
       UpperCamelCase__							:       List[str]      =   AutoTokenizer.from_pretrained('''hf-internal-testing/tiny-bert'''							)
       UpperCamelCase__							:       Any      =   FlaxAutoModelForCausalLM.from_pretrained('''hf-internal-testing/tiny-bert-flax-only'''							)

       UpperCamelCase__							:       int      =   '''Hello world'''
       UpperCamelCase__							:       Tuple      =   tokenizer(__magic_name__,	return_tensors='''np'''							).input_ids

       # typos are quickly detected (the correct argument is `do_sample`)
       with self.assertRaisesRegex(__magic_name__,	'''do_samples'''							):
           model.generate(__magic_name__,	do_samples=__magic_name__							)

       # arbitrary arguments that will not be used anywhere are also not accepted
       with self.assertRaisesRegex(__magic_name__,	'''foo'''							):
           UpperCamelCase__							:       Optional[Any]      =   {'''foo''': '''bar'''}
           model.generate(__magic_name__,	**__magic_name__							)

