o
    i                     @   s   d Z ddlZddlZddlZddlZddlmZ ddlZddlZddl	m
Z
 ddlmZ ddlmZmZmZmZmZ 	ddeedB ejd	d
f ddfddZdddZdedefddZdS )zContains commands to print information about the environment and version.

Usage:
    transformers env
    transformers version
    N)	Annotated   )__version__)is_deepspeed_available)is_accelerate_availableis_torch_availableis_torch_hpu_availableis_torch_npu_availableis_torch_xpu_availableaccelerate_config_filezQThe accelerate config file to use for the default values in the launching script.)helpreturnc                 C   s  ddl }|j}d}d }}t rEddl}ddlm}m} |j}| dus)tj	|r/|| 
 }t|tr@ddd | D nd	| }d}	d
}
d
}t rvddl}|j}	|j }
t }t }t }|
rhd}n|rmd}n	|rrd}n|rvd}d}t rtt  ddl}W d   n1 sw   Y  |j}tt t tj| | | | |	 d| ddd
}t r|
rd|d< |j |d< n/|rd|d< |j  |d< n!|rd|d< |j! |d< n|rd|d< |j" |d< |j#j$|d< t%d t%t&| |S )z(Print information about the environment.r   Nznot installedz	not found)default_config_fileload_config_from_file
c                 S       g | ]\}}d | d| qS )z	- :  .0propvalr   r   Y/sda-disk/www/egybert/egybert_env/lib/python3.10/site-packages/transformers/cli/system.py
<listcomp>A        zenv.<locals>.<listcomp>	NACUDAXPUNPUHPUz ()z	<fill in>)
z`transformers` versionPlatformzPython versionzHuggingface_hub versionzSafetensors versionzAccelerate versionzAccelerate configzDeepSpeed versionzPyTorch version (accelerator?)z/Using distributed or parallel set-up in script?zUsing GPU in script?zGPU typezUsing XPU in script?zXPU typezUsing HPU in script?zHPU typezUsing NPU in script?zNPU typezCANN versionzV
Copy-and-paste the text below in your GitHub issue and FILL OUT the two last points.
)'safetensorsr   r   
accelerateaccelerate.commands.configr   r   ospathisfileto_dict
isinstancedictjoinitemsr   torchcudais_availabler
   r	   r   r   
contextlibredirect_stdoutioStringIO	deepspeedplatformpython_versionhuggingface_hubget_device_namexpuhpunpuversioncannprint_format_dict)r   r#   safetensors_versionaccelerate_versionaccelerate_configaccelerate_config_strr$   r   r   
pt_versionpt_cuda_availablept_acceleratorr.   pt_xpu_availablept_npu_availablept_hpu_availabledeepspeed_versionr5   infor   r   r   env)   s   

rM   c                   C   s   t t dS )zPrint CLI version.N)r?   r   r   r   r   r   r=      s   r=   dc                 C   s   d dd |  D d S )Nr   c                 S   r   )z- r   r   r   r   r   r   r      r   z _format_dict.<locals>.<listcomp>)r,   r-   )rN   r   r   r   r@      s   r@   )N)r   N)__doc__r1   r3   r&   r6   typingr   r8   typer r   integrations.deepspeedr   utilsr   r   r   r	   r
   strArgumentrM   r=   r+   r@   r   r   r   r   <module>   s.   


Z