
    wi                         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mZmZmZmZ ddlmZ d Z G d	 d
e          ZdS )    N)ArgumentParser   )__version__)
is_accelerate_availableis_bitsandbytes_availableis_flax_availableis_google_colabis_notebookis_peft_availableis_safetensors_availableis_torch_availableis_transformers_availableis_xformers_available   )BaseDiffusersCLICommandc                     t                      S )N)EnvironmentCommand)_s    f/root/.openclaw/workspace/chatterbox_venv_py311/lib/python3.11/site-packages/diffusers/commands/env.pyinfo_command_factoryr   %   s        c                   Z    e Zd Zededdfd            ZdefdZededefd            Z	dS )r   parserreturnNc                 f    |                      d          }|                    t                     d S )Nenv)func)
add_parserset_defaultsr   )r   download_parsers     r   register_subcommandz&EnvironmentCommand.register_subcommand*   s3     ++E22$$*>$?????r   c                    t           j        }d}t                      rdd l}|j        }d}d}t	                      r$dd l}|j        }|j                                        }d}d}d}	d}
t                      rDdd l	}dd l
}dd l}|j        }|j        }|j        }	|j        j                                        j        }
d}t!                      rdd l}|j        }d}t%                      rdd l}|j        }d}t)                      rdd l}|j        }d}t-                      rdd l}|j        }d}t1                      rdd l}|j        }t          j                    }t5                      rdnd}t7                      rdnd}d}t          j                    dv r	 t;          j        g dt:          j        t:          j                  }|                                 \  }}|!                    d	          }tE          |          dk    r|#                                d
z   }ng# tH          $ r Y nZw xY wt          j                    dk    r/	 t;          j        ddgt:          j        t:          j                  }|                                 \  }}|!                    d	          }|%                    d          }|dk    r|tE          d          z  }|%                    d|          } |||          #                                }|%                    d          }|dk    rJ|tE          d          z  }|%                    d|          } |d|||          #                                z   z  }n# tH          $ r Y nw xY wtM          d           i dtN          d|d|d|dt          j(                    d| d| dd| d|
 dd|d|	d|d |d!|d"|d#|d$|d%|d&|d'd'd(}!tM          d)           tM          | )                    |!                     |!S )*Nznot installedr   NAYesNo>   LinuxWindows)z
nvidia-smiz!--query-gpu=gpu_name,memory.totalz--format=csv,noheader)stdoutstderrzutf-8z VRAMDarwinsystem_profilerSPDisplaysDataTypezChipset Model:
zVRAM (Total):z VRAM: zSIt seems you are running an unusual OS. Could you fill in the accelerator manually?u   🤗 Diffusers versionPlatformzRunning on a notebook?zRunning on Google Colab?zPython versionzPyTorch version (GPU?)z ()zFlax version (CPU?/GPU?/TPU?)zJax versionzJaxLib versionzHuggingface_hub versionzTransformers versionzAccelerate versionzPEFT versionzBitsandbytes versionzSafetensors versionzxFormers versionAcceleratorz	<fill in>)zUsing GPU in script?z/Using distributed or parallel set-up in script?zV
Copy-and-paste the text below in your GitHub issue and FILL OUT the two last points.
)*huggingface_hubr   r   safetensorsr   torchcudais_availabler   flaxjaxjaxliblib
xla_bridgeget_backendplatformr   transformersr   
accelerater   peftr   bitsandbytesr   xformersr
   r	   system
subprocessPopenPIPEcommunicatedecodelenstripFileNotFoundErrorfindprintversionpython_versionformat_dict)"selfhub_versionsafetensors_versionr3   
pt_versionpt_cuda_availabler4   flax_versionjax_versionjaxlib_versionjax_backendr7   r8   r9   transformers_versionr>   accelerate_versionr?   peft_versionr@   bitsandbytes_versionrA   xformers_versionrB   platform_infois_notebook_stris_google_colab_stracceleratorspout_strr   startendinfos"                                     r   runzEnvironmentCommand.run/   s-   %1-#%% 	:"-"9$
  	:LLL*J %
 7 7 9 9&%( 	DKKKJJJMMM+L/K#/N',88::CK.$&& 	<#/#; ,"$$ 	8!+!7& 	,KKK+L.$&& 	<#/#; * "" 	4OOO'3 )++#.==:%%d'6'8'8Beed? 444%```%?%?  
  ^^--
!..11w<<!##")--//G";K$   _(**%&(<=%?%?  
  ^^--
!..11%566B;;S!1222E!,,tU33C")%)"4":":"<"<K#LL99E{{_!5!55%ll477#y7593E3K3K3M3M'MM$    ghhh
$g

 %o
 '(;	

 h577
 %&K&K7H&K&K&K
 ,-N-N-N-N-N
 ;
 n
 &{
 #$8
 !"4
 L
 #$8
 "#6
   0!
" ;#
$ %0?J'
 
 
, 	hiiidt$$%%%s&   BH 
H! H!=DM 
M('M(dc                 j    d                     d |                                 D                       dz   S )Nr.   c                 $    g | ]\  }}d | d| S )z- z:  ).0propvals      r   
<listcomp>z2EnvironmentCommand.format_dict.<locals>.<listcomp>   s-    HHHs,t,,s,,HHHr   )joinitems)ri   s    r   rP   zEnvironmentCommand.format_dict   s0    yyHHaggiiHHHIIDPPr   )
__name__
__module____qualname__staticmethodr   r!   dictrh   strrP   rl   r   r   r   r   )   s        @N @t @ @ @ \@ET E E E EN Qt Q Q Q Q \Q Q Qr   r   )r=   rD   argparser   r2    r   rN   utilsr   r   r   r	   r
   r   r   r   r   r   r   r   r   rl   r   r   <module>r|      s0        # # # # # #     % % % % % %                        & % % % % %     OQ OQ OQ OQ OQ0 OQ OQ OQ OQ OQr   