ygddlZddlmZddlmZmZddlmZddlZ ddl Z ddl Z ddl Z ejZdZGddZGdd eZGd d eZd Zdd Zy)N)Image)argsLatentPreviewMethod)TAESDc$|dzdz jddjdjdtjt j j|j}tj|jS)Ng?g@rcpu)devicedtype non_blocking) clampmultotorchuint8comfymodel_managementdevice_supports_non_blockingr r fromarraynumpy) latent_image latents_ubytes aD:\pinokio\api\comfy.git\app\gradio_apps\Redux\ComfyUI_windows_portable\ComfyUI\latent_preview.pypreview_to_imager s'#-4;;AqA SY bU[[uOeOePCPCDPDWDWPXbY }22455ceZdZdZdZy)LatentPreviewercyN)selfx0s rdecode_latent_to_previewz(LatentPreviewer.decode_latent_to_previews rc6|j|}d|tfS)NJPEG)r$MAX_PREVIEW_RESOLUTION)r"preview_formatr# preview_images rdecode_latent_to_preview_imagez.LatentPreviewer.decode_latent_to_preview_images 55b9  '=>>rN)__name__ __module__ __qualname__r$r*r!rrrrs  ?rrceZdZdZdZy)TAESDPreviewerImplc||_yr )taesd)r"r1s r__init__zTAESDPreviewerImpl.__init__s  rcz|jj|dddjdd}t|S)Nrr)r1decodemovedimr)r"r#x_samples rr$z+TAESDPreviewerImpl.decode_latent_to_previews9::$$RV,Q/771=))rNr+r,r-r2r$r!rrr/r/s *rr/ceZdZddZdZy)Latent2RGBPreviewerNctj|djdd|_d|_|tj|d|_yy)Nr )r rr)rtensor transposelatent_rgb_factorslatent_rgb_factors_bias)r"r>r?s rr2zLatent2RGBPreviewer.__init__%sM"',,/A%"P"Z"Z[\^_"`'+$ " .+0<<8OX]+^D ( /rc|jj|j|j|_|j6|jj|j|j|_|j dk(r |ddddf}n|d}t jjj|jdd|j|j}t|S)N)r r r)bias) r>rr r r?ndimrnn functionallinearr6r)r"r#rs rr$z,Latent2RGBPreviewer.decode_latent_to_preview+s"&"9"9"<"<288TVT]T]"<"^  ' ' 3+/+G+G+J+JQSQYQYbdbkbk+J+lD ( 77a<Aq!GBABxx**11"**Q2CTE\E\cgcc1A  --rr r8r!rrr:r:$s _ .rr:czd}tj}|tjk7rd}j>t fdt jdDd}t jd|}|tjk(rtj}|tjk(rc|r3td|jj|}t|}n.tj dj#j|,j$ t'j$j(}|S)Nc3XK|]!}|jjr|#ywr ) startswithtaesd_decoder_name).0fn latent_formats r z get_previewer..Cs,HJ}}]%E%EFJs'* vae_approx)latent_channelszHWarning: TAESD previews enabled, but could not find models/vae_approx/{})rpreview_methodr NoPreviewsrKnext folder_pathsget_filename_list get_full_pathAuto Latent2RGBrrRrr/loggingwarningformatr>r:r?)r rN previewermethodtaesd_decoder_pathr1s ` r get_previewerra;s&I  F $///!  + + 7!%Hl<<\JH"  ".!;!;LJ\!]  (-- -(33F (.. .!d$6 HeHefiijpq.u5  j q qrsSsS!TU  //;/ 0P0PR_RwRwx rcddvrdt|j|jjtj j |fd}|S)Nr&)r&PNGcl|d<d}rj|}j|dz||y)Nr#r)r*update_absolute) stepr#x total_steps preview_bytespbarr(r^x0_output_dicts rcallbackz"prepare_callback..callback`sD  %#%N4  %DD^UWXM TAX{MBr)ra load_devicemodelrNrutils ProgressBar)rnstepsrkrlrjr(r^s ` @@@rprepare_callbackrrXsRN_,e//1J1JKI ;; " "5 )DC Orr )rPILrcomfy.cli_argsrrcomfy.taesd.taesdrcomfy.model_managementrrV comfy.utilsr[ preview_sizer'rrr/r:rarrr!rrrysZ 4#**6??**./..:r