
    gE                         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dS )    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 | ||          n|S # t          $ r |t          |           Y nw xY w|Yd S d S )NTr   )inputlen	Exceptionprint)
input_textconvert_valuedefaulterror_message	ask_againresults         c/var/www/html/ai-engine/env/lib/python3.11/site-packages/accelerate/commands/config/config_utils.py
_ask_fieldr&   0   s    I
 %z""	%"s6{{a'7'7,9,E==(((6Q 	% 	% 	%(m$$$	%  % % % % %s   ; ; AAc                 l    t          | |          }|                    |          }| ||          n|S )N)default_choice)r   run)r   optionsr    r!   menur$   s         r%   _ask_optionsr,   =   s>    j'**DXXWX--F$1$===   6I    c                 N    t          |           } t          ddg|                    S )NLOCAL_MACHINEAMAZON_SAGEMAKER)intr   values    r%   _convert_compute_environmentr4   C   s&    JJE0BCEJKKKr-   c                 N    t          |           } t          g d|                    S )N)NO	MULTI_CPU	MULTI_XPU	MULTI_GPU	MULTI_NPU	MULTI_MLU
MULTI_MUSAXLA)r1   r   r2   s    r%   _convert_distributed_moder>   H   s.    JJEdddejk  r-   c                 ^    t          |           } t          t          |                    j        S )N)r1   r   DYNAMO_BACKENDSr3   r2   s    r%   _convert_dynamo_backendrA   O   s#    JJE/0066r-   c                 N    t          |           } t          g d|                    S )N)nofp16bf16fp8)r1   r   r2   s    r%   _convert_mixed_precisionrG   T   s'    JJE666u=>>>r-   c                 N    t          |           } t          g d|                    S )N)r6   DATA_PARALLELMODEL_PARALLEL)r1   r	   r2   s    r%   #_convert_sagemaker_distributed_moderK   Y   s'    JJE#$M$M$Me$TUUUr-   c                 N    t          |           } t          ddg|                    S )NTEMSAMP)r1   r   r2   s    r%   _convert_fp8_backendrO   ^   s$    JJE4/%0111r-   c                 <    ddd|                                           S )NTF)yesrC   )lowerr2   s    r%   _convert_yes_no_to_boolrS   c   s    u%%ekkmm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                 |    t                                          ||||          }|                    dd          }|S )Nz<command> [<args>]  )super_format_usagereplace)selfusageactionsgroupsprefix	__class__s        r%   rY   z%SubcommandHelpFormatter._format_usagel   s9    %%eWffEE3R88r-   )__name__
__module____qualname____doc__rY   __classcell__)r`   s   @r%   rU   rU   g   sB                 r-   rU   )NNN)argparseutils.dataclassesr   r   r   r   r   r	   r+   r   r@   r&   r,   r4   r>   rA   rG   rK   rO   rS   RawDescriptionHelpFormatterrU    r-   r%   <module>rj      s`  "                        $
% 
% 
% 
% &(tQ J J J JL L L
  7 7 7
? ? ?
V V V
2 2 2
5 5 5    hB     r-   