
    %ɷi                         d dl Z ddlmZmZmZmZmZmZ ddlm	Z	 g dZ
ddZg dd fdZd	 Zd
 Zd Zd Zd Zd Zd Z G d de j(                        Zy)    N   )ComputeEnvironmentDistributedTypeDynamoBackendFP8BackendTypePrecisionTypeSageMakerDistributedType   )
BulletMenu)EAGER	AOT_EAGERINDUCTORAOT_TS_NVFUSERNVPRIMS_NVFUSER
CUDAGRAPHSOFIFX2TRTONNXRTTENSORRTAOT_TORCHXLA_TRACE_ONCETORHCHXLA_TRACE_ONCETVMc                     d}|r+t        |       }	 |t        |      dk(  r|S | ||      S |S y y # t        $ r |t        |       Y nw xY w|rK")NTr   )inputlen	Exceptionprint)
input_textconvert_valuedefaulterror_message	ask_againresults         Z/var/www/html/venv/lib/python3.12/site-packages/accelerate/commands/config/config_utils.py
_ask_fieldr%   /   sp    I
z"	%"s6{a'7,9,E=(Q6Q   	%(m$	% s   1 	1 1 A
	A
c                 V    t        | |      }|j                  |      }| ||      S |S )N)default_choice)r   run)r   optionsr   r    menur#   s         r$   _ask_optionsr+   <   s3    j'*DXXWX-F$1$== I6I    c                 8    t        |       } t        ddg|          S )NLOCAL_MACHINEAMAZON_SAGEMAKER)intr   values    r$   _convert_compute_environmentr3   B   s!    JE0BCEJKKr,   c                 8    t        |       } t        g d|          S )N)NO	MULTI_CPU	MULTI_XPU	MULTI_HPU	MULTI_GPU	MULTI_NPU	MULTI_MLU
MULTI_SDAA
MULTI_MUSAMULTI_NEURONXLA)r0   r   r1   s    r$   _convert_distributed_moder@   G   s'    JE	
 	 r,   c                 P    t        |       } t        t        |          j                  S )N)r0   r   DYNAMO_BACKENDSr2   r1   s    r$   _convert_dynamo_backendrC   Z   s!    JE/0666r,   c                 8    t        |       } t        g d|          S )N)nofp16bf16fp8)r0   r   r1   s    r$   _convert_mixed_precisionrI   _   s    JE6u=>>r,   c                 8    t        |       } t        g d|          S )N)r5   DATA_PARALLELMODEL_PARALLEL)r0   r	   r1   s    r$   #_convert_sagemaker_distributed_moderM   d   s    JE#$Me$TUUr,   c                 8    t        |       } t        g d|          S )N)AOTEMSAMP)r0   r   r1   s    r$   _convert_fp8_backendrR   i   s    JE/677r,   c                 .    ddd| j                            S )NTF)yesrE   )lowerr1   s    r$   _convert_yes_no_to_boolrV   n   s    u%ekkm44r,   c                   "     e Zd ZdZ fdZ xZS )SubcommandHelpFormatterzc
    A custom formatter that will remove the usage line from the help message for subcommands.
    c                 P    t         |   ||||      }|j                  dd      }|S )Nz<command> [<args>]  )super_format_usagereplace)selfusageactionsgroupsprefix	__class__s        r$   r\   z%SubcommandHelpFormatter._format_usagew   s.    %eWffE3R8r,   )__name__
__module____qualname____doc__r\   __classcell__)rc   s   @r$   rX   rX   r   s     r,   rX   )NNN)argparseutils.dataclassesr   r   r   r   r   r	   r*   r   rB   r%   r+   r3   r@   rC   rI   rM   rR   rV   RawDescriptionHelpFormatterrX    r,   r$   <module>rm      sk   "   "
% &(tQ JL
&7
?
V
8
5hBB r,   