code: 
  
  
  '''simple docstring'''
  
  
  
  import random
  import unittest
  
  import torch
  
  from diffusers import IFSuperResolutionPipeline
  from diffusers.utils import floats_tensor
  from diffusers.utils.import_utils import is_xformers_available
  from diffusers.utils.testing_utils import skip_mps, torch_device
  
  from ..pipeline_params import TEXT_GUIDED_IMAGE_VARIATION_BATCH_PARAMS, TEXT_GUIDED_IMAGE_VARIATION_PARAMS
  from ..test_pipelines_common import PipelineTesterMixin
  from . import IFPipelineTesterMixin
  
  
  
  
  
  @skip_mps
  class      UpperCAmelCase_						(_UpperCAmelCase      ,	_UpperCAmelCase      ,	unittest.TestCase						):
  
  
  
  
  
      """simple docstring"""
  
  
  
  
  
  
      lowerCamelCase						:      Tuple							  =    IFSuperResolutionPipeline
      lowerCamelCase						:      Optional[int]							  =    TEXT_GUIDED_IMAGE_VARIATION_PARAMS - {'width', 'height'}
      lowerCamelCase						:      int							  =    TEXT_GUIDED_IMAGE_VARIATION_BATCH_PARAMS
      lowerCamelCase						:      Dict							  =    PipelineTesterMixin.required_optional_params - {'latents'}
  
  
  
  
  
  
  
      def    lowercase_       (							self			)       ->  int:
           return self._get_superresolution_dummy_components()
  
  
  
  
  
  
  
      def    lowercase_       (							self    ,  SCREAMING_SNAKE_CASE_    ,  SCREAMING_SNAKE_CASE_=0			)       ->  List[str]:
           if str(SCREAMING_SNAKE_CASE_			).startswith('mps'			):
                __lowerCamelCase     :			List[Any]              =	torch.manual_seed(SCREAMING_SNAKE_CASE_			)
           else:
                __lowerCamelCase     :			Any              =	torch.Generator(device=SCREAMING_SNAKE_CASE_			).manual_seed(SCREAMING_SNAKE_CASE_			)
  
           __lowerCamelCase     :			Dict              =	floats_tensor((1, 3, 32, 32)    ,  rng=random.Random(SCREAMING_SNAKE_CASE_			)			).to(SCREAMING_SNAKE_CASE_			)
  
           __lowerCamelCase     :			Any              =	{
               'prompt': 'A painting of a squirrel eating a burger',
               'image': image,
               'generator': generator,
               'num_inference_steps': 2,
               'output_type': 'numpy',
           }
  
           return inputs
  
  
  
  
  
  
  
      @unittest.skipIf(
          torch_device != 'cuda' or not is_xformers_available()    ,  reason='XFormers attention is only available with CUDA and `xformers` installed'    ,  )
      def    lowercase_       (							self			)       ->  Optional[int]:
           self._test_xformers_attention_forwardGenerator_pass(expected_max_diff=1E-3			)
  
  
  
  
  
  
  
      def    lowercase_       (							self			)       ->  List[Any]:
           self._test_save_load_optional_components()
  
  
  
  
  
  
  
      @unittest.skipIf(torch_device != 'cuda'    ,  reason='float16 requires CUDA'			)
      def    lowercase_       (							self			)       ->  Any:
           # Due to non-determinism in save load of the hf-internal-testing/tiny-random-t5 text encoder
           super().test_save_load_floataa(expected_max_diff=1E-1			)
  
  
  
  
  
  
  
      def    lowercase_       (							self			)       ->  str:
           self._test_attention_slicing_forward_pass(expected_max_diff=1E-2			)
  
  
  
  
  
  
  
      def    lowercase_       (							self			)       ->  Tuple:
           self._test_save_load_local()
  
  
  
  
  
  
  
      def    lowercase_       (							self			)       ->  Dict:
           self._test_inference_batch_single_identical(
               expected_max_diff=1E-2    ,  )
  
  
  
  
  
  
  
style_context: 
  
  
  '''simple docstring'''
  
  
  
  from typing import Callable, Optional, Union
  
  from ...configuration_utils import PretrainedConfig
  from ...utils import logging
  
  
  A__	:      Any				=						logging.get_logger(__name__)
  
  A__	:      str				=						{
      """microsoft/prophetnet-large-uncased""": (
          """https://huggingface.co/microsoft/prophetnet-large-uncased/resolve/main/config.json"""
      ),
  }
  
  
  
  
  
  class      UpperCAmelCase_						(_UpperCAmelCase						):
  
  
  
  
  
      """simple docstring"""
  
  
  
  
  
  
      lowerCamelCase						:      Dict							  =    'prophetnet'
      lowerCamelCase						:      List[str]							  =    ['past_key_values']
      lowerCamelCase						:      List[str]							  =    {
          'num_attention_heads': 'num_encoder_attention_heads',
      }
  
  
  
  
  
  
  
      def __init__(							self    ,  SCREAMING_SNAKE_CASE_ = 0.1    ,  SCREAMING_SNAKE_CASE_ = "gelu"    ,  SCREAMING_SNAKE_CASE_ = 3_05_22    ,  SCREAMING_SNAKE_CASE_ = 10_24    ,  SCREAMING_SNAKE_CASE_ = 40_96    ,  SCREAMING_SNAKE_CASE_ = 12    ,  SCREAMING_SNAKE_CASE_ = 16    ,  SCREAMING_SNAKE_CASE_ = 40_96    ,  SCREAMING_SNAKE_CASE_ = 12    ,  SCREAMING_SNAKE_CASE_ = 16    ,  SCREAMING_SNAKE_CASE_ = 0.1    ,  SCREAMING_SNAKE_CASE_ = 0.1    ,  SCREAMING_SNAKE_CASE_ = 5_12    ,  SCREAMING_SNAKE_CASE_ = 0.0_2    ,  SCREAMING_SNAKE_CASE_ = True    ,  SCREAMING_SNAKE_CASE_ = True    ,  SCREAMING_SNAKE_CASE_ = 0    ,  SCREAMING_SNAKE_CASE_ = 2    ,  SCREAMING_SNAKE_CASE_ = 32    ,  SCREAMING_SNAKE_CASE_ = 1_28    ,  SCREAMING_SNAKE_CASE_ = False    ,  SCREAMING_SNAKE_CASE_ = 0.0    ,  SCREAMING_SNAKE_CASE_ = True    ,  SCREAMING_SNAKE_CASE_ = 0    ,  SCREAMING_SNAKE_CASE_ = 1    ,  SCREAMING_SNAKE_CASE_ = 2    ,  **SCREAMING_SNAKE_CASE_    ,  )       ->  List[Any]:
           __lowerCamelCase     :			List[Any]              =	vocab_size
           __lowerCamelCase     :			Union[str, Any]              =	hidden_size
           __lowerCamelCase     :			Tuple              =	encoder_ffn_dim
           __lowerCamelCase     :			Any              =	num_encoder_layers
           __lowerCamelCase     :			int              =	num_encoder_attention_heads
           __lowerCamelCase     :			Optional[Any]              =	decoder_ffn_dim
           __lowerCamelCase     :			str              =	num_decoder_layers
           __lowerCamelCase     :			int              =	num_decoder_attention_heads
           __lowerCamelCase     :			Union[str, Any]              =	max_position_embeddings
           __lowerCamelCase     :			Optional[Any]              =	init_std  # Normal(0, this parameter)
           __lowerCamelCase     :			Union[str, Any]              =	activation_function
  
           # parameters for prophetnet
           __lowerCamelCase     :			int              =	ngram
           __lowerCamelCase     :			Optional[int]              =	num_buckets
           __lowerCamelCase     :			str              =	relative_max_distance
           __lowerCamelCase     :			Optional[Any]              =	disable_ngram_loss
           __lowerCamelCase     :			str              =	eps
  
           # 3 Types of Dropout
           __lowerCamelCase     :			Optional[Any]              =	attention_dropout
           __lowerCamelCase     :			str              =	activation_dropout
           __lowerCamelCase     :			Optional[Any]              =	dropout
  
           __lowerCamelCase     :			Optional[Any]              =	use_cache
  
           super().__init__(
               pad_token_id=SCREAMING_SNAKE_CASE_    ,  bos_token_id=SCREAMING_SNAKE_CASE_    ,  eos_token_id=SCREAMING_SNAKE_CASE_    ,  is_encoder_decoder=SCREAMING_SNAKE_CASE_    ,  add_cross_attention=SCREAMING_SNAKE_CASE_    ,  decoder_start_token_id=SCREAMING_SNAKE_CASE_    ,  **SCREAMING_SNAKE_CASE_    ,  )
  
  
  
  
  
  
  
      @property
      def    lowercase_       (							self			)       ->  int:
           return self.num_encoder_layers + self.num_decoder_layers
  
  
  
  
  
  
  
      @num_hidden_layers.setter
      def    lowercase_       (							self    ,  SCREAMING_SNAKE_CASE_			)       ->  Union[str, Any]:
           raise NotImplementedError(
               'This model does not support the setting of `num_hidden_layers`. Please set `num_encoder_layers` and'
               ' `num_decoder_layers`.'			)
  
  
  
  
  
  
  