code: 
  
  
  '''simple docstring'''
  
  
  
  
  
  import gc
  import unittest
  
  import numpy as np
  import torch
  
  from diffusers import DDPMScheduler, MidiProcessor, SpectrogramDiffusionPipeline
  from diffusers.pipelines.spectrogram_diffusion import SpectrogramContEncoder, SpectrogramNotesEncoder, TaFilmDecoder
  from diffusers.utils import require_torch_gpu, skip_mps, slow, torch_device
  from diffusers.utils.testing_utils import enable_full_determinism, require_note_seq, require_onnxruntime
  
  from ..pipeline_params import TOKENS_TO_AUDIO_GENERATION_BATCH_PARAMS, TOKENS_TO_AUDIO_GENERATION_PARAMS
  from ..test_pipelines_common import PipelineTesterMixin
  
  
  enable_full_determinism()
  
  
  UpperCAmelCase__      =							"""./tests/fixtures/elise_format0.mid"""
  @unittest.skip('''The note-seq package currently throws an error on import'''      )
  class 	a__				(				lowerCAmelCase_			,     unittest.TestCase      ):
  
  
  
  
  
  			'''simple docstring'''
  
  			A	:							Tuple							= SpectrogramDiffusionPipeline
  			A	:							int							= PipelineTesterMixin.required_optional_params - {
  			    """callback""",
  			    """latents""",
  			    """callback_steps""",
  			    """output_type""",
  			    """num_images_per_prompt""",
  			}
  			A	:							Any							= False
  			A	:							str							= False
  			A	:							Tuple							= TOKENS_TO_AUDIO_GENERATION_PARAMS
  			A	:							int							= TOKENS_TO_AUDIO_GENERATION_BATCH_PARAMS
  			def 				lowerCAmelCase    (     self       : int  )			->		Dict:
  						torch.manual_seed(0  )
  						__A=  SpectrogramNotesEncoder(
  						    max_length=2_048 ,						vocab_size=1_536 ,						d_model=768 ,						dropout_rate=0.1 ,						num_layers=1 ,						num_heads=1 ,						d_kv=4 ,						d_ff=2_048 ,						feed_forward_proj='gated-gelu' ,						)
  
  						__A=  SpectrogramContEncoder(
  						    input_dims=128 ,						targets_context_length=256 ,						d_model=768 ,						dropout_rate=0.1 ,						num_layers=1 ,						num_heads=1 ,						d_kv=4 ,						d_ff=2_048 ,						feed_forward_proj='gated-gelu' ,						)
  
  						__A=  TaFilmDecoder(
  						    input_dims=128 ,						targets_length=256 ,						max_decoder_noise_time=20_000.0 ,						d_model=768 ,						num_layers=1 ,						num_heads=1 ,						d_kv=4 ,						d_ff=2_048 ,						dropout_rate=0.1 ,						)
  
  						__A=  DDPMScheduler()
  
  						__A=  {
  						    'notes_encoder': notes_encoder.eval(),
  						    'continuous_encoder': continuous_encoder.eval(),
  						    'decoder': decoder.eval(),
  						    'scheduler': scheduler,
  						    'melgan': None,
  						}
  						return components
  			def 				lowerCAmelCase    (     self       : Optional[int] ,						lowerCAmelCase_       : List[str] ,						lowerCAmelCase_       : Tuple=0  )			->		List[Any]:
  
  						if str(__SCREAMING_SNAKE_CASE  ).startswith('mps'  ):
  									__A=  torch.manual_seed(__SCREAMING_SNAKE_CASE  )
  						else:
  									__A=  torch.Generator(device=__SCREAMING_SNAKE_CASE  ).manual_seed(__SCREAMING_SNAKE_CASE  )
  						__A=  {
  						    'input_tokens': [
  						        [1_134, 90, 1_135, 1_133, 1_080, 112, 1_132, 1_080, 1_133, 1_079, 133, 1_132, 1_079, 1_133, 1] + [0] * 2_033
  						    ],
  						    'generator': generator,
  						    'num_inference_steps': 4,
  						    'output_type': 'mel',
  						}
  						return inputs
  			def 				lowerCAmelCase    (     self       : List[Any]  )			->		Optional[int]:
  						__A=  'cpu'  # ensure determinism for the device-dependent torch.Generator
  						__A=  self.get_dummy_components()
  						__A=  SpectrogramDiffusionPipeline(**__SCREAMING_SNAKE_CASE  )
  						__A=  pipe.to(__SCREAMING_SNAKE_CASE  )
  						pipe.set_progress_bar_config(disable=__SCREAMING_SNAKE_CASE  )
  
  						__A=  self.get_dummy_inputs(__SCREAMING_SNAKE_CASE  )
  						__A=  pipe(**__SCREAMING_SNAKE_CASE  )
  						__A=  output.audios
  
  						__A=  mel[0, -3:, -3:]
  
  						assert mel_slice.shape == (3, 3)
  						__A=  np.array(
  						    [-11.51_29_25, -4.78_82_15, -0.46_17_29_05, -2.05_17_15, -10.53_91_47, -10.97_09_63, -9.09_16_34, 4.0, 4.0]  )
  						assert np.abs(mel_slice.flatten() - expected_slice  ).max() < 1E-2
  			@skip_mps
  			def 				lowerCAmelCase    (     self       : Any  )			->		Optional[Any]:
  						return super().test_save_load_local()
  			@skip_mps
  			def 				lowerCAmelCase    (     self       : Tuple  )			->		str:
  						return super().test_dict_tuple_outputs_equivalent()
  			@skip_mps
  			def 				lowerCAmelCase    (     self       : str  )			->		Optional[int]:
  						return super().test_save_load_optional_components()
  			@skip_mps
  			def 				lowerCAmelCase    (     self       : int  )			->		Union[str, Any]:
  						return super().test_attention_slicing_forward_pass()
  			def 				lowerCAmelCase    (     self       : Tuple  )			->		Optional[Any]:
  						pass
  			def 				lowerCAmelCase    (     self       : Optional[Any]  )			->		List[str]:
  						pass
  
  			@skip_mps
  			def 				lowerCAmelCase    (     self       : List[Any]  )			->		List[Any]:
  						return super().test_progress_bar()
  
  
  @slow
  @require_torch_gpu
  @require_onnxruntime
  @require_note_seq
  class 	a__				(				unittest.TestCase      ):
  
  
  
  
  
  			'''simple docstring'''
  
  			def 				lowerCAmelCase    (     self       : Union[str, Any]  )			->		List[Any]:
  						super().tearDown()
  						gc.collect()
  						torch.cuda.empty_cache()
  			def 				lowerCAmelCase    (     self       : Tuple  )			->		str:
  						__A=  torch_device
  
  						__A=  SpectrogramDiffusionPipeline.from_pretrained('google/music-spectrogram-diffusion'  )
  						__A=  pipe.melgan
  						__A=  None
  
  						__A=  pipe.to(__SCREAMING_SNAKE_CASE  )
  						pipe.set_progress_bar_config(disable=__SCREAMING_SNAKE_CASE  )
  
  						def callback(lowerCAmelCase_       : int ,						lowerCAmelCase_       : Any  ):
  									# decode mel to audio
  									__A=  melgan(input_features=mel_output.astype(np.floataa  )  )[0]
  									assert len(audio[0]  ) == 81_920 * (step + 1)
  									# simulate that audio is played
  									return audio
  
  						__A=  MidiProcessor()
  						__A=  processor(__SCREAMING_SNAKE_CASE  )
  
  						__A=  input_tokens[:3]
  						__A=  torch.manual_seed(0  )
  						pipe(__SCREAMING_SNAKE_CASE ,						num_inference_steps=5 ,						generator=__SCREAMING_SNAKE_CASE ,						callback=__SCREAMING_SNAKE_CASE ,						output_type='mel'  )
  			def 				lowerCAmelCase    (     self       : List[Any]  )			->		Tuple:
  						__A=  torch_device
  
  						__A=  SpectrogramDiffusionPipeline.from_pretrained('google/music-spectrogram-diffusion'  )
  						__A=  pipe.to(__SCREAMING_SNAKE_CASE  )
  						pipe.set_progress_bar_config(disable=__SCREAMING_SNAKE_CASE  )
  						__A=  MidiProcessor()
  
  						__A=  processor(__SCREAMING_SNAKE_CASE  )
  						# just run two denoising loops
  						__A=  input_tokens[:2]
  
  						__A=  torch.manual_seed(0  )
  						__A=  pipe(__SCREAMING_SNAKE_CASE ,						num_inference_steps=2 ,						generator=__SCREAMING_SNAKE_CASE  )
  
  						__A=  output.audios[0]
  
  						assert abs(np.abs(__SCREAMING_SNAKE_CASE  ).sum() - 36_12.8_41  ) < 1E-1
  
  			def 				lowerCAmelCase    (     self       : Any  )			->		Optional[int]:
  						__A=  torch_device
  
  						__A=  SpectrogramDiffusionPipeline.from_pretrained('google/music-spectrogram-diffusion'  )
  						__A=  pipe.to(__SCREAMING_SNAKE_CASE  )
  						pipe.set_progress_bar_config(disable=__SCREAMING_SNAKE_CASE  )
  
  						__A=  MidiProcessor()
  
  						__A=  processor(__SCREAMING_SNAKE_CASE  )
  
  						# just run 4 denoising loops
  						__A=  input_tokens[:4]
  
  						__A=  torch.manual_seed(0  )
  						__A=  pipe(__SCREAMING_SNAKE_CASE ,						num_inference_steps=100 ,						generator=__SCREAMING_SNAKE_CASE  )
  
  						__A=  output.audios[0]
  						assert abs(np.abs(__SCREAMING_SNAKE_CASE  ).sum() - 93_89.11_11  ) < 5E-2
  
  
  
  
style_context: 
  
  
  '''simple docstring'''
  
  
  
  
  
  UpperCAmelCase__      =							[[0, 1, 1], [0, 0, 1], [1, 0, 0]]
  class 	a__				:
  
  
  
  
  
  			'''simple docstring'''
  
  			def __init__(     self       : Any ,						lowerCAmelCase_       : Optional[int]  )			->		Tuple:
  						__A=  name
  						__A=  []
  						__A=  []
  			def 				lowerCAmelCase    (     self       : Any ,						lowerCAmelCase_       : Dict  )			->		Any:
  						self.inbound.append(lowerCAmelCase_  )
  			def 				lowerCAmelCase    (     self       : str ,						lowerCAmelCase_       : Any  )			->		List[Any]:
  						self.outbound.append(lowerCAmelCase_  )
  
  			def __repr__(     self       : int  )			->		Union[str, Any]:
  						return F"""<node={self.name} inbound={self.inbound} outbound={self.outbound}>"""
  
  
  
  
  
  
  def 	UpperCAmelCase__(							_SCREAMING_SNAKE_CASE				:   Any,_SCREAMING_SNAKE_CASE				:   Optional[int]=3,_SCREAMING_SNAKE_CASE				:   Dict=0.85   ):
  
  
  
  
  
  
  			"""simple docstring"""
  
  
  
  
  			__A=  {}
  			for node in nodes:
  						__A=  1
  
  			__A=  {}
  			for node in nodes:
  						__A=  len(node.outbound   )
  
  			for i in range(_SCREAMING_SNAKE_CASE   ):
  						print(f"""======= Iteration {i + 1} ======="""   )
  						for _, node in enumerate(_SCREAMING_SNAKE_CASE   ):
  									__A=  (1 - d) + d * sum(
  									    ranks[ib] / outbounds[ib] for ib in node.inbound   )
  						print(_SCREAMING_SNAKE_CASE   )
  
  
  
  
  
  
  def 	UpperCAmelCase__(							):
  
  
  
  
  
  
  			"""simple docstring"""
  
  
  
  
  			__A=  list(input('Enter Names of the Nodes: '   ).split()   )
  
  			__A=  [Node(_SCREAMING_SNAKE_CASE   ) for name in names]
  
  			for ri, row in enumerate(_SCREAMING_SNAKE_CASE   ):
  						for ci, col in enumerate(_SCREAMING_SNAKE_CASE   ):
  									if col == 1:
  												nodes[ci].add_inbound(names[ri]   )
  												nodes[ri].add_outbound(names[ci]   )
  
  			print('======= Nodes ======='   )
  			for node in nodes:
  						print(_SCREAMING_SNAKE_CASE   )
  
  			page_rank(_SCREAMING_SNAKE_CASE   )
  
  
  if __name__ == "__main__":
  					main()
  
  
  
  