o
    ha                     @   s   d dl Z ddlmZmZmZmZmZ ddlmZ g dZ	dddZ
g dd fd	d
Zdd Zdd Zdd Zdd Zdd Zdd ZG dd de jZdS )    N   )ComputeEnvironmentDistributedTypeDynamoBackendPrecisionTypeSageMakerDistributedType   )
BulletMenu)EAGER	AOT_EAGERINDUCTORAOT_TS_NVFUSERNVPRIMS_NVFUSER
CUDAGRAPHSOFIFX2TRTONNXRTTENSORRTIPEXTVMc                 C   sr   d}|r7t | }z|d urt|dkr|W S |d ur||W S |W S  ty2   |d ur0t| Y nw |sd S d S )NTr   )inputlen	Exceptionprint)
input_textconvert_valuedefaulterror_message	ask_againresult r    ]/var/www/html/ai/venv/lib/python3.10/site-packages/accelerate/commands/config/config_utils.py
_ask_field-   s   r"   c                 C   s*   t | |}|j|d}|d ur||S |S )N)default_choice)r	   run)r   optionsr   r   menur   r    r    r!   _ask_options:   s   
r'   c                 C   s   t | } tddg|  S )NLOCAL_MACHINEAMAZON_SAGEMAKER)intr   valuer    r    r!   _convert_compute_environment@      r-   c                 C      t | } tg d|  S )N)NO	MULTI_CPU	MULTI_XPU	MULTI_GPU	MULTI_NPUTPU)r*   r   r+   r    r    r!   _convert_distributed_modeE   r.   r6   c                 C   s   t | } tt|  jS )N)r*   r   DYNAMO_BACKENDSr,   r+   r    r    r!   _convert_dynamo_backendJ   s   r8   c                 C   r/   )N)nofp16bf16fp8)r*   r   r+   r    r    r!   _convert_mixed_precisionO   r.   r=   c                 C   r/   )N)r0   DATA_PARALLELMODEL_PARALLEL)r*   r   r+   r    r    r!   #_convert_sagemaker_distributed_modeT   r.   r@   c                 C   s   ddd|    S )NTF)yesr9   )lowerr+   r    r    r!   _convert_yes_no_to_boolY   s   rC   c                       s    e Zd ZdZ fddZ  ZS )SubcommandHelpFormatterzc
    A custom formatter that will remove the usage line from the help message for subcommands.
    c                    s"   t  ||||}|dd}|S )Nz<command> [<args>]  )super_format_usagereplace)selfusageactionsgroupsprefix	__class__r    r!   rG   b   s   z%SubcommandHelpFormatter._format_usage)__name__
__module____qualname____doc__rG   __classcell__r    r    rN   r!   rD   ]   s    rD   )NNN)argparseutils.dataclassesr   r   r   r   r   r&   r	   r7   r"   r'   r-   r6   r8   r=   r@   rC   RawDescriptionHelpFormatterrD   r    r    r    r!   <module>   s   
