
    g|                         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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_accelerate_availableis_flax_availableis_safetensors_availableis_tf_availableis_torch_availableis_torch_npu_available   )BaseTransformersCLICommandc                     t                      S N)EnvironmentCommand)_s    U/var/www/html/ai-engine/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__6   s    '=$$$r   c                     d}t                      rdd l}|j        }n-t          j                            d          dd l}|j         d}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
}
t)                      r2dd l}|j        }	|j                                        }
t1                      }d}d
}t3                      r]dd l}|j        }	 |j                                        }n7# t:          $ r* t=          |j                             d                    }Y nw xY wd}d}d}d
}tC                      rDdd l"}dd l#}dd l$}|j        }|j        }|j        }|j%        j&        '                                j(        }tR          tQ          j(                    tQ          j*                    tV          j        | | | |	 d|
 d| d| d| d| d| | dd}t)                      rV|
r"d|d<   |j        ,                                |d<   n2|r0d|d<   |j-        ,                                |d<   |j)        j.        |d<   t_          d           t_          | 0                    |                     |S )Nznot installedr   safetensorsz3 but is ignored because of PyTorch version too old.z	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>P   s-    [[[ID#/$//#//[[[r   	NAGPUz ()z	<fill in>)z`transformers` versionPlatformzPython versionzHuggingface_hub versionzSafetensors versionzAccelerate versionzAccelerate configzPyTorch version (GPU?)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 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.
)1r   r+   r   	importlibutil	find_specr   
accelerateaccelerate.commands.configr,   r-   r'   ospathisfileto_dict
isinstancedictjoinitemsr
   torchcudais_availabler   r	   
tensorflowtestis_gpu_availableAttributeErrorboolconfiglist_physical_devicesr   flaxjaxjaxliblib
xla_bridgeget_backendplatformversionpython_versionhuggingface_hubget_device_namenpucannprintformat_dict)r(   safetensors_versionr+   accelerate_versionaccelerate_configaccelerate_config_strr?   r,   r-   
pt_versionpt_cuda_availablerI   pt_npu_available
tf_versiontf_cuda_availabletfflax_versionjax_versionjaxlib_versionjax_backendrS   rT   rU   infos                           r   runzEnvironmentCommand.run9   s   -#%% 	r"-"9^%%m44@%0%<"q"q"q,4??1"$$ 	]]]]]]]]!+!7+727>>J];^;^7$9$9$:V$W$W$_$_$a$a! /66.		[[ARAXAXAZAZ[[[\\\-+-- " %
  	8LLL*J %
 7 7 9 9577$
  		Q####JQ$&G$<$<$>$>!!! Q Q Q$()H)H)O)O$P$P!!!Q '%( 	DKKKJJJMMM+L/K#/N',88::CK '. )++&577'6'B&9#;%7"9$9!;)3&K&K7H&K&K&K,6)N)N:K)N)N)N0<-N-N-N-N-N)+!/1?J
 
  	:  :/:+,#(:#=#=#?#?Z  ! :/:+,#(9#<#<#>#>Z ',}'9^$hiiidt$$%%%s   &F   1F43F4c                 j    d                     d |                                 D                       dz   S )Nr.   c                 $    g | ]\  }}d | d| S )z- r0   r1   r2   s      r   r6   z2EnvironmentCommand.format_dict.<locals>.<listcomp>   s-    HHHs,t,,s,,HHHr   )rG   rH   )ds    r   ra   zEnvironmentCommand.format_dict   s0    yyHHaggiiHHHIIDPPr   )r%   N)	__name__
__module____qualname__staticmethodr   r$   r)   rq   ra   r1   r   r   r   r   *   s        DN D D D \D> > > >[ [ [z Q Q \Q Q Qr   r   )importlib.utilr<   rA   rY   argparser   r\    r   rZ   utilsr   r   r   r	   r
   r   r   r   r   r   r1   r   r   <module>r}      s        				  # # # # # #     % % % % % %                ) ( ( ( ( (     ; ; ;nQ nQ nQ nQ nQ3 nQ nQ nQ nQ nQr   