


'''simple docstring'''






from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


__A :  List[str]    							=				{
    "configuration_funnel": ["FUNNEL_PRETRAINED_CONFIG_ARCHIVE_MAP", "FunnelConfig"],
    "convert_funnel_original_tf_checkpoint_to_pytorch": [],
    "tokenization_funnel": ["FunnelTokenizer"],
}

try:
		if not is_tokenizers_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		__A :  str    							=				["FunnelTokenizerFast"]

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		__A :  Optional[int]    							=				[
		    "FUNNEL_PRETRAINED_MODEL_ARCHIVE_LIST",
		    "FunnelBaseModel",
		    "FunnelForMaskedLM",
		    "FunnelForMultipleChoice",
		    "FunnelForPreTraining",
		    "FunnelForQuestionAnswering",
		    "FunnelForSequenceClassification",
		    "FunnelForTokenClassification",
		    "FunnelModel",
		    "FunnelPreTrainedModel",
		    "load_tf_weights_in_funnel",
		]

try:
		if not is_tf_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		__A :  Optional[Any]    							=				[
		    "TF_FUNNEL_PRETRAINED_MODEL_ARCHIVE_LIST",
		    "TFFunnelBaseModel",
		    "TFFunnelForMaskedLM",
		    "TFFunnelForMultipleChoice",
		    "TFFunnelForPreTraining",
		    "TFFunnelForQuestionAnswering",
		    "TFFunnelForSequenceClassification",
		    "TFFunnelForTokenClassification",
		    "TFFunnelModel",
		    "TFFunnelPreTrainedModel",
		]


if TYPE_CHECKING:
		from .configuration_funnel import FUNNEL_PRETRAINED_CONFIG_ARCHIVE_MAP, FunnelConfig
		from .tokenization_funnel import FunnelTokenizer

		try:
				if not is_tokenizers_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .tokenization_funnel_fast import FunnelTokenizerFast

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_funnel import (
				    FUNNEL_PRETRAINED_MODEL_ARCHIVE_LIST,
				    FunnelBaseModel,
				    FunnelForMaskedLM,
				    FunnelForMultipleChoice,
				    FunnelForPreTraining,
				    FunnelForQuestionAnswering,
				    FunnelForSequenceClassification,
				    FunnelForTokenClassification,
				    FunnelModel,
				    FunnelPreTrainedModel,
				    load_tf_weights_in_funnel,
				)

		try:
				if not is_tf_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_tf_funnel import (
				    TF_FUNNEL_PRETRAINED_MODEL_ARCHIVE_LIST,
				    TFFunnelBaseModel,
				    TFFunnelForMaskedLM,
				    TFFunnelForMultipleChoice,
				    TFFunnelForPreTraining,
				    TFFunnelForQuestionAnswering,
				    TFFunnelForSequenceClassification,
				    TFFunnelForTokenClassification,
				    TFFunnelModel,
				    TFFunnelPreTrainedModel,
				)

else:
		import sys

		__A :  List[Any]    							=				_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)







'''simple docstring'''






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



