Ë
    °j,7  ã                   ó"  — d Z ddlZddlZddlZddlZddlZddlmZ dZ ed«      Z	dddd	d
ddddddœ
Z
dZdZddddddœdddddœdddddœgiddd d!d"dœd#d$d%d&dœgidd'd(d)d*dœd+d,d)d-dœgidd.d/d0d1dœd2d3d4d5dœgidd6d7d8d9dœd:d;d<d=dœgidd>d?d@dAdœdBdCdDdEdœgiddFdGdHdIdœdJdKdHdLdœgiddMdNdOdPdœdQdRdSdTdœgiddUdVdWdXdœdYdZd[d\dœgidd]d^d_d`dœdadbdcdddœgiddedfdgdhdœdidjdkdldœgidmœZdn„ Zdzdoedpedqedrefds„Zdteduedvefdw„Zdx„ Zedyk(  r e«        yy){u¶   
PlumLoom Engine â€” LoRA Comparison Test
Genera imÃ¡genes de prueba para personajes con LoRAs duplicados.
Cada variante de LoRA se genera con la misma pose para comparaciÃ³n justa.
é    N)ÚPathzhttp://127.0.0.1:7860z*C:\Users\Usuario\Downloads\NEW\Output\TESTa  lowres, bad anatomy, bad hands, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name, bad feet, multiple views, splits, 2girls, extra peoplei@  iÀ  é   é   zDPM++ 2M Karrasé   éÿÿÿÿé   )
Únegative_promptÚwidthÚheightÚstepsÚ	cfg_scaleÚsampler_nameÚ
batch_sizeÚn_iterÚseedÚ	clip_skipzj1girl, solo, front view, standing, smile, dynamic pose, dynamic shoot, simple background, white backgroundaD  masterpiece, best quality, highly detailed, sharp focus, very aesthetic, very awa, detailed background, score_9, score_8_up, <lora:IFL_v1.0_IL:0.7> <lora:add-detail-xl:0.5> <lora:blackwhiplash(bwl)-guy90-Illust-Lorav3:0.6> blaash, <lora:scara2b_ill_v1.00:0.7> scara2b-style, <lora:Add_color_ILXLv1:3>, age up, mature female,ÚvariantsÚV1_Entrenamientoz*<lora:training_565609-20260702044914529:1>ÚodettezNpurple eyes, blue hair, swept bangs, sidelocks, hair ornament, braid, hair bun)ÚnameÚloraÚtriggerÚ
appearanceÚV2_Genshin_Illustriousz!<lora:odette v0.91 illustrious:1>zodette (genshin impact)zblue hair, ahoge, purple eyesÚV4_Genshin_Entrenamientoz+<lora:training_4293681-20260708121102976:1>zblue hair, purple eyesÚV1_Yelanz<lora:Yelan:1>ÚYelanzdmulticolored hair, black hair, blue hair, very short hair, green eyes, huge breasts, earrings, braidÚV2_YelanGenshin_IXLz<lora:YelanGenshin_IXL_v2:1>ÚzzYelanzšgreen eyes, black hair, blue hair, multicolored hair, short hair, two-tone hair, jewelry, large breasts, bare shoulders, diagonal bangs, bob cut, cleavageÚV1_Illustriousz4<lora:Ellen Joe (Zenless Zone Zero) Illustrious:0.8>z	Ellen Joez/red eyes, black hair, short hair, large breastsÚV2_JN_Illustriousz<lora:JN_Ellen_Joe_Illus:0.8>zxhair ornament, hairclip, red eyes, black hair, short hair, colored inner hair, large breasts, fish tail, spiked hairbandÚV1_Beatricez<lora:Beatrice:1>zBeatrice from Re:Zeroz”long hair, blue eyes, blonde hair, twintails, hair ribbon, sidelocks, symbol-shaped pupils, drill hair, twin drills, small breast, tiny girl, petiteÚV2_se_beatricez<lora:se_beatrice_re_zero:1>Úbeatrice_re_zeroz[long hair, blue eyes, blonde hair, bow, ribbon, twin tails, hair ribbon, side locks, tightsÚV1_hotori_ntez<lora:hotori_nte:1>Ú
hotori_ntezlmature female, long hair, black hair, parted bangs, red eyes, hair ornament, earrings, makeup, large breastsÚV2_Hotori_NTEz%<lora:Hotori_Neverness_to_Everness:1>Ú	hotarintez41girl, solo, long hair, black hair, red eyes, makeupÚV1_RebeccaC77z<lora:RebeccaC77IL:1>Úreb77fzb1girl, red sclera, colored sclera, twintails, green hair, colored skin, white skin, artificial eyeÚ
V2_Rebeccaz<lora:Rebecca:1>Úrebeccaz¸yellow eye, mechanical eye, red sclera, twintails, leg tattoo, colored skin, tattoo, petite, black hairband, green hair, neck tattoo, small breasts, headgear, long hair, stomach tattooÚV1_rem_basicoz<lora:rem:1>ÚremzBblue eyes, blue hair, short hair, hair over one eye, small breastsÚV2_Rem_IlluXLz<lora:ReZero_Rem_IlluXL:1>zvhair over one eye, blunt bangs, short hair, blue hair, blue eyes, dot nose, hair ribbon, purple ribbon, medium breastsÚV1_Yixuan_IllustriousXLz7<lora:Yixuan_ZenlessZoneZero_Yixuan_IllustriousXL_v2:1>Úyxnz�large breasts, yellow eyes, white hair, ahoge, swept bangs, single hair intake, sidelocks, very long hair, half updo, hairclip, hair ornamentÚV2_yi_xuan_zzzz<lora:yi_xuan_zzz_ilxl_goofy:1>zyi xuan (zenless zone zero)z8yellow eyes, white hair, hairpin, hair intake, long hairÚ
V1_Xianyunz<lora:Xianyun:1>ÚXianyunz†navy blue hair, light green inner hair, very long ponytail, light green eyes, glasses, huge breasts, hairpin, hair ornaments, foreheadÚV2_Xianyun_Illustriousz/<lora:Xianyun_-_Genshin_Impact_-_Illustrious:1>Úx1anyunzUaqua eyes, green hair, black hair, very long hair, multicolored hair, bangs, ponytailÚV1_Anime_verz0<lora:sense-s1-illustriousxl-lora-nochekaiser:1>z sense, sense (sousou no frieren)zilong hair, brown hair, hair between eyes, brown eyes, very long hair, ahoge, mature female, small breastsÚV2_General_verz<lora:Sense illu:1>ÚsensezSbrown hair, hair between eyes, brown eyes, eyes visible through hair expressionlessÚV1_RE4_Remakez<lora:NM_AW_re4remake:1>ÚNM_AW_re4remakezAada wong, ada, black hair, short hair, black eyes, medium breastsÚV2_RE_Richyz <lora:adawong-re-richy-v1_ixl:1>Ú
adasweaterz\brown eyes, black hair, short hair, parted bangs, swept bangs, breasts, medium breasts, lips)ÚOdetter   Ú	Ellen_JoeÚBeatriceÚHotoriÚRebeccaÚRemÚYixuanr4   ÚSenseÚAda_Wongc                  óü   — 	 t        j                  t        › d�d¬«      } | j                  dk(  r)| j	                  «       }t        dt        |«      › d�«       y	 y
# t        $ r}t        d|› �«       Y d	}~y
d	}~ww xY w)u$   Verifica que Forge Neo estÃ© activo.z/sdapi/v1/sd-modelsé
   )ÚtimeoutéÈ   u   [OK] Forge Neo conectado â€” z modelos disponiblesTz)[ERROR] No se pudo conectar a Forge Neo: NF)ÚrequestsÚgetÚ	FORGE_URLÚstatus_codeÚjsonÚprintÚlenÚ	Exception)ÚrespÚmodelsÚes      ú=C:\Users\Usuario\Downloads\NEW\Engine\test_lora_comparison.pyÚcheck_forge_connectionrW   ê   s„   € ð?Ü�|‰|œy˜kÐ)<Ð=ÀrÔJˆØ×Ñ˜sÒ"Ø—Y‘Y“[ˆFÜÐ1´#°f³+°Ð>RÐSÔTØð #ð øô ò ?ÜÐ9¸!¸Ð=×>Ð>Øûð?ús   ‚AA Á	A;Á#A6Á6A;Úpromptr	   Úoutput_pathr   c                 ó`  — | |t         d   t         d   t         d   t         d   t         d   dd|t         d   dœ}	 t        j                  t        › d	�|d
¬«      }|j                  dk(  ro|j                  «       }ddl}|j                  |d   d   «      }|j                  j                  dd¬«       t        |d«      5 }	|	j                  |«       ddd«       yt        d|j                  › d|j                  dd › �«       y# 1 sw Y   yxY w# t        $ r}
t        d|
› �«       Y d}
~
yd}
~
ww xY w)z,Genera una imagen con Forge Neo y la guarda.r
   r   r   r   r   r   r   )rX   r	   r
   r   r   r   r   r   r   r   r   z/sdapi/v1/txt2imgi,  )rO   rI   rJ   r   NÚimagesT©ÚparentsÚexist_okÚwbu     [ERROR] Forge respondiÃ³ z: Fz  [ERROR] Error generando: )ÚGENERATION_PARAMSrK   ÚpostrM   rN   rO   Úbase64Ú	b64decodeÚparentÚmkdirÚopenÚwriterP   ÚtextrR   )rX   r	   rY   r   ÚpayloadrS   Úresultrb   Úimg_dataÚfrU   s              rV   Úgenerate_imagerm   ÷   s7  € ð Ø*Ü" 7Ñ+Ü# HÑ-Ü" 7Ñ+Ü& {Ñ3Ü)¨.Ñ9ØØØÜ& {Ñ3ñ€GðÜ�}‰}ÜˆkÐ*Ð+ØØô
ˆð
 ×Ñ˜sÒ"Ø—Y‘Y“[ˆFÛØ×'Ñ'¨¨xÑ(8¸Ñ(;Ó<ˆHØ×Ñ×$Ñ$¨T¸DÐ$ÔAÜ�k 4Ô(¨AØ—‘˜Ô!÷ )àäÐ/°×0@Ñ0@Ð/AÀÀDÇIÁIÈdÈsÀOÐCTÐUÔVØ÷ )àûô ò ÜÐ+¨A¨3Ð/Ô0Üûðús<   ºBD Â<D ÃD Ã(D Ä D	ÄD Ä	D Ä	D-ÄD(Ä(D-Úcharacter_dataÚvariantÚreturnc                 ó„   — t         |d   |d   dz   |j                  dd«      dt        g}dj                  d„ |D «       «      S )	z.Construye el prompt de test para una variante.r   r   Ú,r   Ú ÚBREAKÚ c              3   ó&   K  — | ]	  }|sŒ|–— Œ y ­w)N© )Ú.0Úps     rV   Ú	<genexpr>z$build_test_prompt.<locals>.<genexpr>'  s   è ø€ Ð*™u˜!ª”A™uùs   ‚Š)ÚMASTER_PROMPTrL   Ú	TEST_POSEÚjoin)rn   ro   Úpartss      rV   Úbuild_test_promptr     sM   € ô 	Ø�‰Ø�	Ñ˜SÑ Ø�‰�L "Ó%ØÜð€Eð �8‰8Ñ*™uÓ*Ó*Ð*ó    c            
      ó–  — t        d«       t        d«       t        d«       t        «        t        «       st        d«       t        d«       yt        d„ t        j	                  «       D «       «      } d}d}t        d| › �«       t        d	t        t        «      › �«       t        «        t        j                  «       D �]L  \  }}t        |j                  d
d«      z  }|j                  dd¬«       t        dd› �«       t        d|› dt        |d   «      › d�«       t        d|› �«       t        d› «       |d   D ]Ì  }|d   }|› d�}||z  }	|	j                  «       rt        d|› d�«       |dz  }Œ7t        ||«      }
t        d|› �«       t        d|d   › �«       t        d|d   › �«       t        |
t        d   |	¬ «      }|rt        d!|	j                  › �«       |dz  }nt        d"«       |dz  }t        j                   d#«       ŒÎ �ŒO t        dd› �«       t        d$|› d%|› d&�«       t        dt        › �«       t        d› «       y)'u1   Ejecuta todos los tests de comparaciÃ³n de LoRAs.zF======================================================================u*     PLUMLOOM ENGINE â€” LoRA COMPARISON TESTu*   
[ABORTADO] Forge Neo no estÃ¡ disponible.z*Inicia Forge Neo con: webui-user.bat --apiNc              3   ó8   K  — | ]  }t        |d    «      –— Œ y­w)r   N)rQ   )rx   Úcs     rV   rz   z!run_lora_tests.<locals>.<genexpr>6  s   è ø€ ÐPÑ2O¨Q”c˜!˜J™-×(Ñ2Oùs   ‚r   z
Total de tests a generar: zPersonajes: ru   Ú_Tr\   Ú
z2--------------------------------------------------z  u    â€” r   z
 variantesz  Carpeta: r   z.pngz	  [SKIP] z
 ya exister   z	
  [GEN] z
    LoRA: r   z    Trigger: r   r	   )rX   r	   rY   z    [OK] Guardado: z    [FAIL] No se pudo generarr   z  RESULTADOS: z completados, z	 fallidos)rP   rW   ÚsumÚLORA_TEST_CHARACTERSÚvaluesrQ   ÚitemsÚOUTPUT_BASEÚreplacere   Úexistsr   rm   r`   r   ÚtimeÚsleep)Útotal_testsÚ	completedÚfailedÚ	char_nameÚ	char_dataÚchar_folderro   Úvariant_nameÚfilenamerY   rX   Úsuccesss               rV   Úrun_lora_testsr˜   *  sL  € ä	ˆ(„OÜ	Ð
6Ô7Ü	ˆ(„OÜ	„Gä!Ô#ÜÐ;Ô<ÜÐ:Ô;ØäÑPÔ2F×2MÑ2MÔ2OÓPÓP€KØ€IØ€Fä	Ð(¨¨Ð
6Ô7Ü	ˆLœÔ1Ó2Ð3Ð
4Ô5Ü	„Gä 4× :Ñ :× <Ñˆ	�9Ü! I×$5Ñ$5°c¸3Ó$?Ñ?ˆØ×Ñ $°ÐÔ6ä��8�*ˆoÔÜ��9�+˜U¤3 y°Ñ'<Ó#=Ð">¸jÐIÔJÜ�˜K˜=Ð)Ô*Ü��
Ôà  Ô,ˆGØ" 6™?ˆLØ&˜ tÐ,ˆHØ%¨Ñ0ˆKà×!Ñ!Ô#Ü˜	 ( ¨:Ð6Ô7Ø˜Q‘�	Øä& y°'Ó:ˆFÜ�J˜|˜nÐ-Ô.Ü�J˜w v™Ð/Ð0Ô1Ü�M '¨)Ñ"4Ð!5Ð6Ô7ä$ØÜ 1Ð2CÑ DØ'ôˆGñ ÜÐ+¨K×,<Ñ,<Ð+=Ð>Ô?Ø˜Q‘‘	äÐ5Ô7Ø˜!‘�ô �J‰J�q�Mò; -ð !=ôP 
ˆBˆxˆjˆ/ÔÜ	ˆN˜9˜+ ^°F°8¸9Ð
EÔFÜ	ˆKœ�}Ð
%Ô&Ü	ˆXˆJÕr€   Ú__main__)r   )Ú__doc__ÚosrO   r�   rK   ÚsysÚpathlibr   rM   rŠ   r`   r|   r{   r‡   rW   ÚstrÚintrm   Údictr   r˜   Ú__name__rw   r€   rV   Ú<module>r¢      s5  ðñó 
Û Û Û Û 
Ý ð $€	ÙÐ@ÓA€ð ]ØØØØØ%ØØØØñÐ ð y€	ð W€ð 	à*ØDØ#Ønñ	ð 1Ø;Ø4Ø=ñ	ð 3ØEØ4Ø6ñ	ð
ðð. 	à"Ø(Ø"ð Eñ	ð .Ø6Ø$ð {ñ	ð
ðð" 	à(ØNØ&ØOñ	ð ,Ø7Ø&ð Yñ	ð
ðð" 	à%Ø+Ø2ð uñ	ð )Ø6Ø-Ø{ñ	ð
ðð" 	à'Ø-Ø'ð Mñ	ð (Ø?Ø&ØTñ	ð
ðð" 	à'Ø/Ø#ð Cñ	ð %Ø*Ø$ð Yñ	ð
ðð" 	à'Ø&Ø Øbñ	ð (Ø4Ø ð Wñ	ð
ðð" 	à1ØQØ ð nñ	ð )Ø9Ø8ØXñ	ð
ðð" 	à$Ø*Ø$ð gñ	ð 1ØIØ$Øuñ	ð
ðð" 	à&ØJØ=ð Jñ	ð )Ø-Ø"Øsñ	ð
ðð" 	à'Ø2Ø,Øañ	ð &Ø:Ø'Ø|ñ	ð
ðñOwÐ òz
ñ#˜3ð #°ð #À4ð #Èsó #ðL
+ dð 
+°Tð 
+¸có 
+ò?ðL ˆzÒÙÕð r€   