






from torch import nn





class  _a							(    nn.Module):




	def __init__( self						:		Dict		, _SCREAMING_SNAKE_CASE						:		Tuple		, _SCREAMING_SNAKE_CASE						:		List[str]		)->	List[Any]:
			super().__init__()
			lowerCAmelCase__       :      int   					= class_size
			lowerCAmelCase__       :      List[Any]   					= embed_size
			# self.mlp1 = nn.Linear(embed_size, embed_size)
			# self.mlp2 = (nn.Linear(embed_size, class_size))
			lowerCAmelCase__       :      List[str]   					= nn.Linear(_SCREAMING_SNAKE_CASE		, _SCREAMING_SNAKE_CASE		)




	def 							UpperCAmelCase__( self						:		Optional[Any]		, _SCREAMING_SNAKE_CASE						:		Tuple		)->	Tuple:
			# hidden_state = nn.functional.relu(self.mlp1(hidden_state))
			# hidden_state = self.mlp2(hidden_state)
			lowerCAmelCase__       :      Dict   					= self.mlp(_SCREAMING_SNAKE_CASE		)
			return logits








from ...utils import is_note_seq_available, is_transformers_available, is_torch_available
from ...utils import OptionalDependencyNotAvailable


try:
		if not (is_transformers_available() and is_torch_available()):
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		from ...utils.dummy_torch_and_transformers_objects import *  # noqa F403
else:
		from .notes_encoder import SpectrogramNotesEncoder
		from .continous_encoder import SpectrogramContEncoder
		from .pipeline_spectrogram_diffusion import (
		    SpectrogramContEncoder,
		    SpectrogramDiffusionPipeline,
		    TaFilmDecoder,
		)

try:
		if not (is_transformers_available() and is_torch_available() and is_note_seq_available()):
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		from ...utils.dummy_transformers_and_torch_and_note_seq_objects import *  # noqa F403
else:
		from .midi_utils import MidiProcessor




