
    bi                         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IPEX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         b/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/accelerate/commands/config/config_utils.py
_ask_fieldr&   0   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_environmentr4   C   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XLA)r1   r   r2   s    r%   _convert_distributed_moder@   H   s'    JE	
 	 r-   c                 P    t        |       } t        t        |          j                  S )N)r1   r   DYNAMO_BACKENDSr3   r2   s    r%   _convert_dynamo_backendrC   Z   s!    JE/0666r-   c                 8    t        |       } t        g d|          S )N)nofp16bf16fp8)r1   r   r2   s    r%   _convert_mixed_precisionrI   _   s    JE6u=>>r-   c                 8    t        |       } t        g d|          S )N)r6   DATA_PARALLELMODEL_PARALLEL)r1   r	   r2   s    r%   #_convert_sagemaker_distributed_moderM   d   s    JE#$Me$TUUr-   c                 8    t        |       } t        ddg|          S )NTEMSAMP)r1   r   r2   s    r%   _convert_fp8_backendrQ   i   s    JE4/%011r-   c                 .    ddd| j                            S )NTF)yesrE   )lowerr2   s    r%   _convert_yes_no_to_boolrU   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__)rb   s   @r%   rW   rW   r   s     r-   rW   )NNN)argparseutils.dataclassesr   r   r   r   r   r	   r+   r   rB   r&   r,   r4   r@   rC   rI   rM   rQ   rU   RawDescriptionHelpFormatterrW    r-   r%   <module>rl      sk   "   $
% &(tQ JL
$7
?
V
2
5hBB r-   