


"""simple docstring"""



import numpy as np
from cva import destroyAllWindows, imread, imshow, waitKey
class        __magic_name__		:






       def __init__( self	:     int	,  snake_case__	:     Optional[Any]	,  snake_case__	:     Any	,  snake_case__	:     int					):

              '''simple docstring'''






              if dst_width < 0 or dst_height < 0:
                     raise ValueError('''Destination width/height should be > 0'''					)

              lowercase		:List[Any]											=					img
              lowercase		:str											=					img.shape[1]
              lowercase		:str											=					img.shape[0]
              lowercase		:List[Any]											=					dst_width
              lowercase		:Union[str, Any]											=					dst_height

              lowercase		:Union[str, Any]											=					self.src_w / self.dst_w
              lowercase		:Optional[Any]											=					self.src_h / self.dst_h

              lowercase		:str											=					(
                  np.ones((self.dst_h, self.dst_w, 3)	,  np.uinta					) * 2_5_5
              )






       def 			__snake_case    ( self	:     str					):

              '''simple docstring'''






              for i in range(self.dst_h					):
                     for j in range(self.dst_w					):
                            lowercase		:Optional[int]											=					self.img[self.get_y(__UpperCamelCase					)][self.get_x(__UpperCamelCase					)]






       def 			__snake_case    ( self	:     Tuple	,  snake_case__	:     Any					):

              '''simple docstring'''






              return int(self.ratio_x * x					)







       def 			__snake_case    ( self	:     List[str]	,  snake_case__	:     Dict					):

              '''simple docstring'''






              return int(self.ratio_y * y					)


if __name__ == "__main__":
 UpperCAmelCase   		=      800, 600
 UpperCAmelCase   		=      imread('''image_data/lena.jpg''', 1)
 UpperCAmelCase   		=      NearestNeighbour(im, dst_w, dst_h)
 n.process()

 imshow(
     F"""Image resized from: {im.shape[1]}x{im.shape[0]} to {dst_w}x{dst_h}""", n.output
 )
 waitKey(0)
 destroyAllWindows()









from ...configuration_utils import PretrainedConfig
from ...utils import logging


lowerCamelCase      :       Optional[int]    =						logging.get_logger(__name__)

lowerCamelCase      :       Optional[Any]    =						{
    '''google/pegasus-large''': '''https://huggingface.co/google/pegasus-large/resolve/main/config.json''',
    # See all PEGASUS models at https://huggingface.co/models?filter=pegasus
}



class 				_UpperCamelCase      (a_      ):
      snake_case_	=				"""pegasus"""
      snake_case_	=				["""past_key_values"""]
      snake_case_	=				{"""num_attention_heads""": """encoder_attention_heads""", """hidden_size""": """d_model"""}


      def __init__(						self       ,    __UpperCamelCase=5_0_2_6_5       ,    __UpperCamelCase=1_0_2_4       ,    __UpperCamelCase=1_2       ,    __UpperCamelCase=4_0_9_6       ,    __UpperCamelCase=1_6       ,    __UpperCamelCase=1_2       ,    __UpperCamelCase=4_0_9_6       ,    __UpperCamelCase=1_6       ,    __UpperCamelCase=0.0       ,    __UpperCamelCase=0.0       ,    __UpperCamelCase=True       ,    __UpperCamelCase=True       ,    __UpperCamelCase="gelu"       ,    __UpperCamelCase=1_0_2_4       ,    __UpperCamelCase=0.1       ,    __UpperCamelCase=0.0       ,    __UpperCamelCase=0.0       ,    __UpperCamelCase=0.0_2       ,    __UpperCamelCase=0       ,    __UpperCamelCase=False       ,    __UpperCamelCase=0       ,    __UpperCamelCase=1       ,    __UpperCamelCase=1       ,    **__UpperCamelCase       ,    )->						Tuple:
           __lowerCAmelCase             =       vocab_size
           __lowerCAmelCase             =       max_position_embeddings
           __lowerCAmelCase             =       d_model
           __lowerCAmelCase             =       encoder_ffn_dim
           __lowerCAmelCase             =       encoder_layers
           __lowerCAmelCase             =       encoder_attention_heads
           __lowerCAmelCase             =       decoder_ffn_dim
           __lowerCAmelCase             =       decoder_layers
           __lowerCAmelCase             =       decoder_attention_heads
           __lowerCAmelCase             =       dropout
           __lowerCAmelCase             =       attention_dropout
           __lowerCAmelCase             =       activation_dropout
           __lowerCAmelCase             =       activation_function
           __lowerCAmelCase             =       init_std
           __lowerCAmelCase             =       encoder_layerdrop
           __lowerCAmelCase             =       decoder_layerdrop
           __lowerCAmelCase             =       use_cache
           __lowerCAmelCase             =       encoder_layers
           __lowerCAmelCase             =       scale_embedding  # scale factor will be sqrt(d_model) if True
           super().__init__(
               pad_token_id=__UpperCamelCase       ,    eos_token_id=__UpperCamelCase       ,    is_encoder_decoder=__UpperCamelCase       ,    decoder_start_token_id=__UpperCamelCase       ,    forced_eos_token_id=__UpperCamelCase       ,    **__UpperCamelCase       ,    )


      @property
      def 			__UpperCAmelCase		(						self						)->						int:
           return self.encoder_attention_heads


      @property
      def 			__UpperCAmelCase		(						self						)->						int:
           return self.d_model






