





from typing import TYPE_CHECKING

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


A   : Dict			=				{
    '''configuration_lxmert''': ['''LXMERT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''LxmertConfig'''],
    '''tokenization_lxmert''': ['''LxmertTokenizer'''],
}

try:
		if not is_tokenizers_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		A   : Tuple			=				['''LxmertTokenizerFast''']

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		A   : Dict			=				[
		    '''LxmertEncoder''',
		    '''LxmertForPreTraining''',
		    '''LxmertForQuestionAnswering''',
		    '''LxmertModel''',
		    '''LxmertPreTrainedModel''',
		    '''LxmertVisualFeatureEncoder''',
		    '''LxmertXLayer''',
		]

try:
		if not is_tf_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		A   : Optional[Any]			=				[
		    '''TF_LXMERT_PRETRAINED_MODEL_ARCHIVE_LIST''',
		    '''TFLxmertForPreTraining''',
		    '''TFLxmertMainLayer''',
		    '''TFLxmertModel''',
		    '''TFLxmertPreTrainedModel''',
		    '''TFLxmertVisualFeatureEncoder''',
		]


if TYPE_CHECKING:
		from .configuration_lxmert import LXMERT_PRETRAINED_CONFIG_ARCHIVE_MAP, LxmertConfig
		from .tokenization_lxmert import LxmertTokenizer

		try:
				if not is_tokenizers_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .tokenization_lxmert_fast import LxmertTokenizerFast

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_lxmert import (
				    LxmertEncoder,
				    LxmertForPreTraining,
				    LxmertForQuestionAnswering,
				    LxmertModel,
				    LxmertPreTrainedModel,
				    LxmertVisualFeatureEncoder,
				    LxmertXLayer,
				)

		try:
				if not is_tf_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_tf_lxmert import (
				    TF_LXMERT_PRETRAINED_MODEL_ARCHIVE_LIST,
				    TFLxmertForPreTraining,
				    TFLxmertMainLayer,
				    TFLxmertModel,
				    TFLxmertPreTrainedModel,
				    TFLxmertVisualFeatureEncoder,
				)

else:
		import sys

		A   : Optional[int]			=				_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)










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



