
# Copyright 2022 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.

import argparse
import os
import platform

import numpy as np
import psutil
import torch

from accelerate import __version__ as version
from accelerate.commands.config import default_config_file, load_config_from_file

from ..utils import is_npu_available, is_xpu_available





def     _a					(						lowerCamelCase=None							):
 if subparsers is not None:
  lowerCamelCase		:	Optional[Any]							=      subparsers.add_parser("""env"""							)
 else:
  lowerCamelCase		:	Tuple							=      argparse.ArgumentParser("""Accelerate env command"""							)

 parser.add_argument(
     """--config_file""",	default=lowerCamelCase,	help="""The config file to use for the default values in the launching script."""							)

 if subparsers is not None:
  parser.set_defaults(func=lowerCamelCase							)
 return parser





def     _a					(						lowerCamelCase							):
 lowerCamelCase		:	Optional[Any]							=      torch.__version__
 lowerCamelCase		:	List[str]							=      torch.cuda.is_available()
 lowerCamelCase		:	Any							=      is_xpu_available()
 lowerCamelCase		:	Tuple							=      is_npu_available()

 lowerCamelCase		:	str							=      """Not found"""
 # Get the default from the config file.
 if args.config_file is not None or os.path.isfile(lowerCamelCase							):
  lowerCamelCase		:	Union[str, Any]							=      load_config_from_file(args.config_file							).to_dict()

 lowerCamelCase		:	Dict							=      {
     """`Accelerate` version""": version,
     """Platform""": platform.platform(),
     """Python version""": platform.python_version(),
     """Numpy version""": np.__version__,
     """PyTorch version (GPU?)""": F'''{pt_version} ({pt_cuda_available})''',
     """PyTorch XPU available""": str(lowerCamelCase							),
     """PyTorch NPU available""": str(lowerCamelCase							),
     """System RAM""": F'''{psutil.virtual_memory().total / 1024 ** 3:.2f} GB''',
 }
 if pt_cuda_available:
  lowerCamelCase		:	Tuple							=      torch.cuda.get_device_name()

 print("""\nCopy-and-paste the text below in your GitHub issue\n"""							)
 print("""\n""".join([F'''- {prop}: {val}''' for prop, val in info.items()]							)							)

 print("""- `Accelerate` default config:""" if args.config_file is None else """- `Accelerate` config passed:"""							)
 lowerCamelCase		:	str							=      (
     """\n""".join([F'''\t- {prop}: {val}''' for prop, val in accelerate_config.items()]							)
     if isinstance(lowerCamelCase,	lowerCamelCase							)
     else F'''\t{accelerate_config}'''
 )
 print(lowerCamelCase							)

 lowerCamelCase		:	str							=      accelerate_config

 return info





def     _a					(						):
 lowerCamelCase		:	int							=      env_command_parser()
 lowerCamelCase		:	Optional[Any]							=      parser.parse_args()
 env_command(lowerCamelCase							)
 return 0


if __name__ == "__main__":
      raise SystemExit(main())






import warnings

from ...utils import logging
from .image_processing_owlvit import OwlViTImageProcessor


_lowerCamelCase					   =logging.get_logger(__name__)





class 							A__		(	__SCREAMING_SNAKE_CASE):
      def __init__(      self    ,  *__magic_name__    ,  **__magic_name__      ):
       warnings.warn(
           """The class OwlViTFeatureExtractor is deprecated and will be removed in version 5 of Transformers. Please"""
           """ use OwlViTImageProcessor instead."""    ,  __magic_name__    ,  )
       super().__init__(*__magic_name__    ,  **__magic_name__      )




