
     `i                         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mZ	 ddl
mZ ddlmZmZmZmZmZmZmZ ddlmZ d	 Zd
 Z G d de          ZdS )    N)ArgumentParser   )__version__)is_deepspeed_available)is_accelerate_availableis_flax_availableis_tf_availableis_torch_availableis_torch_hpu_availableis_torch_npu_availableis_torch_xpu_available   )BaseTransformersCLICommandc                     t                      S N)EnvironmentCommand)_s    m/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/transformers/commands/env.pyinfo_command_factoryr   &   s        c                 *    t          | j                  S r   )r   accelerate_config_file)argss    r   download_command_factoryr   *   s    d9:::r   c                   N    e Zd Zedefd            ZddZd Zed             ZdS )	r   parserc                     |                      d          }|                    t                     |                    dd d           |                    t                     d S )Nenv)funcz--accelerate-config_filezQThe accelerate config file to use for the default values in the launching script.)defaulthelp)
add_parserset_defaultsr   add_argumentr   )r   download_parsers     r   register_subcommandz&EnvironmentCommand.register_subcommand/   ss     ++E22$$*>$???$$&d 	% 	
 	
 	

 	$$*B$CCCCCr   returnNc                     || _         d S r   )_accelerate_config_file)selfr   r   s      r   __init__zEnvironmentCommand.__init__:   s    '=$$$r   c                 *   dd l }|j        }d}dx}}t                      rdd l}ddlm}m} |j        }| j        t          j	        
                    |          r" || j                                                  }t          |t                    r1d                    d |                                D                       nd| }d}	d}
d}t!                      radd l}|j        }	|j                                        }
t)                      }t+                      }t-                      }|
rd	}n|rd
}n	|rd}n|rd}d}d}t/                      r]dd l}|j        }	 |j                                        }n7# t6          $ r* t9          |j                            d                    }Y nw xY wd}t?                      rHtA          j!        tE          j#                              5  dd l$}d d d            n# 1 swxY w Y   |j        }d}d}d}d}tK                      rDdd l&}dd l'}dd l(}|j        }|j        }|j        }|j)        j*        +                                j,        }tZ          tY          j,                    tY          j.                    t^          j        | | | | |	 d| d| d| d| d| d| | dd}t!                      r|
r"d|d<   |j        0                                |d<   nz|r"d|d<   |j1        0                                |d<   nV|r"d|d<   |j2        0                                |d<   n2|r0d|d<   |j3        0                                |d<   |j-        j4        |d<   tk          d           tk          | 6                    |                     |S )Nr   znot installedz	not found)default_config_fileload_config_from_file
c                 $    g | ]\  }}d | d| S )z	- :  .0propvals      r   
<listcomp>z*EnvironmentCommand.run.<locals>.<listcomp>O   s-    [[[ID#/$//#//[[[r   	NACUDAXPUNPUHPUGPUz ()z	<fill in>)z`transformers` versionPlatformzPython versionzHuggingface_hub versionzSafetensors versionzAccelerate versionzAccelerate configzDeepSpeed versionzPyTorch version (accelerator?)zTensorflow version (GPU?)zFlax version (CPU?/GPU?/TPU?)zJax versionzJaxLib versionz/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.
)7safetensorsr   r   
accelerateaccelerate.commands.configr-   r.   r)   ospathisfileto_dict
isinstancedictjoinitemsr
   torchcudais_availabler   r   r   r	   
tensorflowtestis_gpu_availableAttributeErrorboolconfiglist_physical_devicesr   
contextlibredirect_stdoutioStringIO	deepspeedr   flaxjaxjaxliblib
xla_bridgeget_backendplatformversionpython_versionhuggingface_hubget_device_namexpuhpunpucannprintformat_dict)r*   rA   safetensors_versionaccelerate_versionaccelerate_configaccelerate_config_strrB   r-   r.   
pt_versionpt_cuda_availablept_acceleratorrL   pt_xpu_availablept_npu_availablept_hpu_available
tf_versiontf_cuda_availabletfdeepspeed_versionrZ   flax_versionjax_versionjaxlib_versionjax_backendr[   r\   r]   infos                                r   runzEnvironmentCommand.run=   s   )5,4??1"$$ 	]]]]]]]]!+!7+727>>J];^;^7$9$9$:V$W$W$_$_$a$a! /66.		[[ARAXAXAZAZ[[[\\\-+-- " %
  	'LLL*J %
 7 7 9 9577577577  '!'! '!&! '!&! '!&$
  		Q####JQ$&G$<$<$>$>!!! Q Q Q$()H)H)O)O$P$P!!!Q ,!## 	6+BKMM:: ! !    ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ) 5&%( 	DKKKJJJMMM+L/K#/N',88::CK '. )++&577'6'B&9#;%7"9$9!;$5!71;.P.P~.P.P.P,6)N)N:K)N)N)N0<-N-N-N-N-N)+!/1?J
 
   	:  :/:+,#(:#=#=#?#?Z  ! 	:/:+,#(9#<#<#>#>Z  ! :/:+,#(9#<#<#>#>Z  ! :/:+,#(9#<#<#>#>Z ',}'9^$hiiidt$$%%%s$   E3 31F'&F'G00G47G4c                 j    d                     d |                                 D                       dz   S )Nr/   c                 $    g | ]\  }}d | d| S )z- r1   r2   r3   s      r   r7   z2EnvironmentCommand.format_dict.<locals>.<listcomp>   s-    HHHs,t,,s,,HHHr   )rJ   rK   )ds    r   rk   zEnvironmentCommand.format_dict   s0    yyHHaggiiHHHIIDPPr   )r'   N)	__name__
__module____qualname__staticmethodr   r&   r+   r   rk   r2   r   r   r   r   .   s        DN D D D \D> > > >p p pd Q Q \Q Q Qr   r   )rV   rX   rD   ra   argparser   rd    r   rb   integrations.deepspeedr   utilsr   r   r	   r
   r   r   r   r   r   r   r   r2   r   r   <module>r      sE        				 				  # # # # # #     % % % % % % ; ; ; ; ; ;                  ) ( ( ( ( (     ; ; ;CQ CQ CQ CQ CQ3 CQ CQ CQ CQ CQr   