


from typing import TYPE_CHECKING

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


snake_case							:       Dict     			=      {
    '''configuration_albert''': ['''ALBERT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''AlbertConfig''', '''AlbertOnnxConfig'''],
}

try:
						if not is_sentencepiece_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						snake_case							:       Dict     			=      ['''AlbertTokenizer''']

try:
						if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						snake_case							:       Union[str, Any]     			=      ['''AlbertTokenizerFast''']

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						snake_case							:       Dict     			=      [
						    '''ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST''',
						    '''AlbertForMaskedLM''',
						    '''AlbertForMultipleChoice''',
						    '''AlbertForPreTraining''',
						    '''AlbertForQuestionAnswering''',
						    '''AlbertForSequenceClassification''',
						    '''AlbertForTokenClassification''',
						    '''AlbertModel''',
						    '''AlbertPreTrainedModel''',
						    '''load_tf_weights_in_albert''',
						]

try:
						if not is_tf_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						snake_case							:       str     			=      [
						    '''TF_ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST''',
						    '''TFAlbertForMaskedLM''',
						    '''TFAlbertForMultipleChoice''',
						    '''TFAlbertForPreTraining''',
						    '''TFAlbertForQuestionAnswering''',
						    '''TFAlbertForSequenceClassification''',
						    '''TFAlbertForTokenClassification''',
						    '''TFAlbertMainLayer''',
						    '''TFAlbertModel''',
						    '''TFAlbertPreTrainedModel''',
						]

try:
						if not is_flax_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						snake_case							:       List[str]     			=      [
						    '''FlaxAlbertForMaskedLM''',
						    '''FlaxAlbertForMultipleChoice''',
						    '''FlaxAlbertForPreTraining''',
						    '''FlaxAlbertForQuestionAnswering''',
						    '''FlaxAlbertForSequenceClassification''',
						    '''FlaxAlbertForTokenClassification''',
						    '''FlaxAlbertModel''',
						    '''FlaxAlbertPreTrainedModel''',
						]

if TYPE_CHECKING:
						from .configuration_albert import ALBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, AlbertConfig, AlbertOnnxConfig

						try:
												if not is_sentencepiece_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .tokenization_albert import AlbertTokenizer

						try:
												if not is_tokenizers_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .tokenization_albert_fast import AlbertTokenizerFast

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_albert import (
												    ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
												    AlbertForMaskedLM,
												    AlbertForMultipleChoice,
												    AlbertForPreTraining,
												    AlbertForQuestionAnswering,
												    AlbertForSequenceClassification,
												    AlbertForTokenClassification,
												    AlbertModel,
												    AlbertPreTrainedModel,
												    load_tf_weights_in_albert,
												)

						try:
												if not is_tf_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_tf_albert import (
												    TF_ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
												    TFAlbertForMaskedLM,
												    TFAlbertForMultipleChoice,
												    TFAlbertForPreTraining,
												    TFAlbertForQuestionAnswering,
												    TFAlbertForSequenceClassification,
												    TFAlbertForTokenClassification,
												    TFAlbertMainLayer,
												    TFAlbertModel,
												    TFAlbertPreTrainedModel,
												)

						try:
												if not is_flax_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_flax_albert import (
												    FlaxAlbertForMaskedLM,
												    FlaxAlbertForMultipleChoice,
												    FlaxAlbertForPreTraining,
												    FlaxAlbertForQuestionAnswering,
												    FlaxAlbertForSequenceClassification,
												    FlaxAlbertForTokenClassification,
												    FlaxAlbertModel,
												    FlaxAlbertPreTrainedModel,
												)
else:
						import sys

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








from argparse import ArgumentParser

from .env import EnvironmentCommand






def 							__lowercase   ( ):
							a__             =     ArgumentParser('Diffusers CLI tool'					,    usage='diffusers-cli <command> [<args>]'   )
							a__             =     parser.add_subparsers(help='diffusers-cli command helpers'   )

							# Register commands
							EnvironmentCommand.register_subcommand(__lowerCAmelCase   )

							# Let's go
							a__             =     parser.parse_args()

							if not hasattr(__lowerCAmelCase					,    'func'   ):
														parser.print_help()
														exit(1   )

							# Run
							a__             =     args.func(__lowerCAmelCase   )
							service.run()


if __name__ == "__main__":
						main()




