
    biP                         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 ddlmZ d Z G d	 d
e      Zy)    N)ArgumentParser   )__version__)	is_accelerate_availableis_bitsandbytes_availableis_flax_availableis_google_colabis_peft_availableis_safetensors_availableis_torch_availableis_transformers_availableis_xformers_available   )BaseDiffusersCLICommandc                     t               S )N)EnvironmentCommand)_s    Q/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/diffusers/commands/env.pyinfo_command_factoryr   $   s        c                   L    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	y)r   parserreturnNc                 R    | j                  d      }|j                  t               y )Nenv)func)
add_parserset_defaultsr   )r   download_parsers     r   register_subcommandz&EnvironmentCommand.register_subcommand)   s$     ++E2$$*>$?r   c                    t         j                  }d}t               rdd l}|j                  }d}d}t	               r*dd l}|j                  }|j                  j                         }d}d}d}	d}
t               r^dd l	}dd l
}dd l}|j                  }|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}d}t        j6                         dv r{	 t9        j:                  g dt8        j<                  t8        j<                        }|j?                         \  }}|jA                  d	      }tC        |      dkD  r|jE                         }nt        j6                         d
k(  r	 t9        j:                  ddgt8        j<                  t8        j<                        }|j?                         \  }}|jA                  d	      }|jI                  d      }|dk7  r|tC        d      z  }|jI                  d|      }||| jE                         }|jI                  d      }|dk7  r9|tC        d      z  }|jI                  d|      }|d||| jE                         z   z  }ntK        d       i dtL        d|d|dt        jN                         d| d| dd| d|
 dd|d|	d|d|d|d |d!|d"|d#|d$|d%d&d'd&i} tK        d(       tK        | jQ                  |              | S # tF        $ r Y w xY w# tF        $ r Y w xY w))Nznot installedr   NAYesNo>   LinuxWindows)z
nvidia-smiz!--query-gpu=gpu_name,memory.totalz--format=csv,noheader)stdoutstderrzutf-8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 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Using GPU in script?z	<fill in>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	   system
subprocessPopenPIPEcommunicatedecodelenstripFileNotFoundErrorfindprintversionpython_versionformat_dict)!selfhub_versionsafetensors_versionr2   
pt_versionpt_cuda_availabler3   flax_versionjax_versionjaxlib_versionjax_backendr6   r7   r8   transformers_versionr=   accelerate_versionr>   peft_versionr?   bitsandbytes_versionr@   xformers_versionrA   platform_infois_google_colab_stracceleratorspout_strr   startendinfos!                                    r   runzEnvironmentCommand.run.   s%   %11-#%"-"9"9$
 **J %

 7 7 9&%(++L//K#//N'',,88:CCK.$&#/#;#; ,"$!+!7!7&++L.$&#/#;#; * "'33 ))+'6'8ed?? 44%%`%??%??
  ^^-
!..1w<!#")--/K __(*%%&(<=%??%??
  ^^-
!..1%56B;S!122E!,,tU3C")%"4":":"<K#LL9E{_!55%ll47#y753E3K3K3M'MM gh
$g

 '(;
 h557	

 %B7H6I&K
 ,~R}A-N
 ;
 n
 &{
 #$8
 !"4
 L
 #$8
 "#6
  0
  ;!
" #K#
$ >{%
* 	hidt$%i % . % s&   A8N. .C2N= .	N:9N:=	O	O	dc           
          dj                  | j                         D cg c]  \  }}d| d|  c}}      dz   S c c}}w )Nr-   z- z: )joinitems)rg   propvals      r   rO   zEnvironmentCommand.format_dict   s;    yyaggiHsBtfBse,HIDPPHs   <
)
__name__
__module____qualname__staticmethodr   r    dictrf   strrO    r   r   r   r   (   s[    @N @t @ @BT BH Qt Q Q Qr   r   )r<   rC   argparser   r1    r   rM   utilsr   r   r   r	   r
   r   r   r   r   r   r   r   rs   r   r   <module>rw      s@      #  %
 
 
 & LQ0 LQr   