



"""simple docstring"""
from typing import TYPE_CHECKING

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


A:   Union[str, Any]								=		{
    "configuration_wav2vec2": ["WAV_2_VEC_2_PRETRAINED_CONFIG_ARCHIVE_MAP", "Wav2Vec2Config"],
    "feature_extraction_wav2vec2": ["Wav2Vec2FeatureExtractor"],
    "processing_wav2vec2": ["Wav2Vec2Processor"],
    "tokenization_wav2vec2": ["Wav2Vec2CTCTokenizer", "Wav2Vec2Tokenizer"],
}


try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A:   int								=		[
          "WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST",
          "Wav2Vec2ForAudioFrameClassification",
          "Wav2Vec2ForCTC",
          "Wav2Vec2ForMaskedLM",
          "Wav2Vec2ForPreTraining",
          "Wav2Vec2ForSequenceClassification",
          "Wav2Vec2ForXVector",
          "Wav2Vec2Model",
          "Wav2Vec2PreTrainedModel",
      ]

try:
      if not is_tf_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A:   Union[str, Any]								=		[
          "TF_WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST",
          "TFWav2Vec2ForCTC",
          "TFWav2Vec2Model",
          "TFWav2Vec2PreTrainedModel",
          "TFWav2Vec2ForSequenceClassification",
      ]

try:
      if not is_flax_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A:   Any								=		[
          "FlaxWav2Vec2ForCTC",
          "FlaxWav2Vec2ForPreTraining",
          "FlaxWav2Vec2Model",
          "FlaxWav2Vec2PreTrainedModel",
      ]


if TYPE_CHECKING:
      from .configuration_wavaveca import WAV_2_VEC_2_PRETRAINED_CONFIG_ARCHIVE_MAP, WavaVecaConfig
      from .feature_extraction_wavaveca import WavaVecaFeatureExtractor
      from .processing_wavaveca import WavaVecaProcessor
      from .tokenization_wavaveca import WavaVecaCTCTokenizer, WavaVecaTokenizer

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_wavaveca import (
                WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST,
                WavaVecaForAudioFrameClassification,
                WavaVecaForCTC,
                WavaVecaForMaskedLM,
                WavaVecaForPreTraining,
                WavaVecaForSequenceClassification,
                WavaVecaForXVector,
                WavaVecaModel,
                WavaVecaPreTrainedModel,
            )

      try:
            if not is_tf_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_tf_wavaveca import (
                TF_WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST,
                TFWavaVecaForCTC,
                TFWavaVecaForSequenceClassification,
                TFWavaVecaModel,
                TFWavaVecaPreTrainedModel,
            )

      try:
            if not is_flax_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_tf_wavaveca import (
                FlaxWavaVecaForCTC,
                FlaxWavaVecaForPreTraining,
                FlaxWavaVecaModel,
                FlaxWavaVecaPreTrainedModel,
            )


else:
      import sys

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





"""simple docstring"""
# Copyright 2021 The HuggingFace Team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from argparse import ArgumentParser

from accelerate.commands.config import get_config_parser
from accelerate.commands.env import env_command_parser
from accelerate.commands.launch import launch_command_parser
from accelerate.commands.test import test_command_parser
from accelerate.commands.tpu import tpu_command_parser

def       _snake_case						(						):
 UpperCAmelCase	:					List[str]	=	ArgumentParser("""Accelerate CLI tool"""			,		usage="""accelerate <command> [<args>]"""			,		allow_abbrev=UpperCamelCase						)
 UpperCAmelCase	:					Dict	=	parser.add_subparsers(help="""accelerate command helpers"""						)

 # Register commands
 get_config_parser(subparsers=UpperCamelCase						)
 env_command_parser(subparsers=UpperCamelCase						)
 launch_command_parser(subparsers=UpperCamelCase						)
 tpu_command_parser(subparsers=UpperCamelCase						)
 test_command_parser(subparsers=UpperCamelCase						)

 # Let's go
 UpperCAmelCase	:					Optional[int]	=	parser.parse_args()

 if not hasattr(UpperCamelCase			,		"""func"""						):
  parser.print_help()
  exit(1						)

 # Run
 args.func(UpperCamelCase						)


if __name__ == "__main__":
      main()
