From 75b5b096d64663874e6e0b11afb5abad4f573900 Mon Sep 17 00:00:00 2001 From: NeuroDonu <112660822+NeuroDonu@users.noreply.github.com> Date: Sat, 19 Apr 2025 16:03:24 +0300 Subject: [PATCH 1/6] fix --- modules/processors/frame/core.py | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/modules/processors/frame/core.py b/modules/processors/frame/core.py index 7d76704..6d99fd1 100644 --- a/modules/processors/frame/core.py +++ b/modules/processors/frame/core.py @@ -42,18 +42,29 @@ def get_frame_processors_modules(frame_processors: List[str]) -> List[ModuleType def set_frame_processors_modules_from_ui(frame_processors: List[str]) -> None: global FRAME_PROCESSORS_MODULES + current_processor_names = [proc.__name__.split('.')[-1] for proc in FRAME_PROCESSORS_MODULES] + for frame_processor, state in modules.globals.fp_ui.items(): - if state == True and frame_processor not in frame_processors: - frame_processor_module = load_frame_processor_module(frame_processor) - FRAME_PROCESSORS_MODULES.append(frame_processor_module) - modules.globals.frame_processors.append(frame_processor) - if state == False: + if state == True and frame_processor not in current_processor_names: try: frame_processor_module = load_frame_processor_module(frame_processor) - FRAME_PROCESSORS_MODULES.remove(frame_processor_module) - modules.globals.frame_processors.remove(frame_processor) - except: - pass + FRAME_PROCESSORS_MODULES.append(frame_processor_module) + if frame_processor not in modules.globals.frame_processors: + modules.globals.frame_processors.append(frame_processor) + except SystemExit: + print(f"Warning: Failed to load frame processor {frame_processor} requested by UI state.") + except Exception as e: + print(f"Warning: Error loading frame processor {frame_processor} requested by UI state: {e}") + + elif state == False and frame_processor in current_processor_names: + try: + module_to_remove = next((mod for mod in FRAME_PROCESSORS_MODULES if mod.__name__.endswith(f'.{frame_processor}')), None) + if module_to_remove: + FRAME_PROCESSORS_MODULES.remove(module_to_remove) + if frame_processor in modules.globals.frame_processors: + modules.globals.frame_processors.remove(frame_processor) + except Exception as e: + print(f"Warning: Error removing frame processor {frame_processor}: {e}") def multi_process_frame(source_path: str, temp_frame_paths: List[str], process_frames: Callable[[str, List[str], Any], None], progress: Any = None) -> None: with ThreadPoolExecutor(max_workers=modules.globals.execution_threads) as executor: From 890beb0eae2f2668219ada2756d40606381fc936 Mon Sep 17 00:00:00 2001 From: NeuroDonu <112660822+NeuroDonu@users.noreply.github.com> Date: Sat, 19 Apr 2025 16:03:49 +0300 Subject: [PATCH 2/6] fix & add trt support --- modules/processors/frame/face_enhancer.py | 39 +++++++++++++++++------ 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/modules/processors/frame/face_enhancer.py b/modules/processors/frame/face_enhancer.py index 4e1fdff..de192e6 100644 --- a/modules/processors/frame/face_enhancer.py +++ b/modules/processors/frame/face_enhancer.py @@ -48,6 +48,17 @@ def pre_start() -> bool: return True +TENSORRT_AVAILABLE = False +try: + import torch_tensorrt + TENSORRT_AVAILABLE = True +except ImportError as im: + print(f"TensorRT is not available: {im}") + pass +except Exception as e: + print(f"TensorRT is not available: {e}") + pass + def get_face_enhancer() -> Any: global FACE_ENHANCER @@ -55,16 +66,26 @@ def get_face_enhancer() -> Any: if FACE_ENHANCER is None: model_path = os.path.join(models_dir, "GFPGANv1.4.pth") - match platform.system(): - case "Darwin": # Mac OS - if torch.backends.mps.is_available(): - mps_device = torch.device("mps") - FACE_ENHANCER = gfpgan.GFPGANer(model_path=model_path, upscale=1, device=mps_device) # type: ignore[attr-defined] - else: - FACE_ENHANCER = gfpgan.GFPGANer(model_path=model_path, upscale=1) # type: ignore[attr-defined] - case _: # Other OS - FACE_ENHANCER = gfpgan.GFPGANer(model_path=model_path, upscale=1) # type: ignore[attr-defined] + selected_device = None + device_priority = [] + if TENSORRT_AVAILABLE and torch.cuda.is_available(): + selected_device = torch.device("cuda") + device_priority.append("TensorRT+CUDA") + elif torch.cuda.is_available(): + selected_device = torch.device("cuda") + device_priority.append("CUDA") + elif torch.backends.mps.is_available() and platform.system() == "Darwin": + selected_device = torch.device("mps") + device_priority.append("MPS") + elif not torch.cuda.is_available(): + selected_device = torch.device("cpu") + device_priority.append("CPU") + + FACE_ENHANCER = gfpgan.GFPGANer(model_path=model_path, upscale=1, device=selected_device) + + # for debug: + print(f"Selected device: {selected_device} and device priority: {device_priority}") return FACE_ENHANCER From 84836932e64a5b615f9c0c88b8eb0b23d07c45b7 Mon Sep 17 00:00:00 2001 From: killerlux <74460450+killerlux@users.noreply.github.com> Date: Wed, 30 Apr 2025 23:09:12 +0200 Subject: [PATCH 3/6] Added cmomands for linux --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index d5ffecb..166a2d1 100644 --- a/README.md +++ b/README.md @@ -133,12 +133,20 @@ Place these files in the "**models**" folder. We highly recommend using a `venv` to avoid issues. + For Windows: ```bash python -m venv venv venv\Scripts\activate pip install -r requirements.txt ``` +For Linux: +```bash +# Ensure you use the installed Python 3.10 +python3 -m venv venv +source venv/bin/activate +pip install -r requirements.txt +``` **For macOS:** From 37bac273020990bffaad42135355e9ba29528392 Mon Sep 17 00:00:00 2001 From: KRSHH <136873090+KRSHH@users.noreply.github.com> Date: Thu, 1 May 2025 22:10:52 +0530 Subject: [PATCH 4/6] Add files via upload --- media/Download.png | Bin 0 -> 8901 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 media/Download.png diff --git a/media/Download.png b/media/Download.png new file mode 100644 index 0000000000000000000000000000000000000000..c79397d1e3f52a4e25fea3c4ab8f8dd229aa81d9 GIT binary patch literal 8901 zcmV;$B0AlPP)`KG(8x=y9@_c>Lks&aCY{LLRUvvRkloyX+o<^Pv{ zs|6HLK&6ua1G+csdUWA!g&lJ;@tZZ^k=)vqYcyd zqnvd7Rt;NRwpOK@H|m#rb-I|QLIxC2K*g6{tzD^R%bZmFK3{e$w{1b|F8bvTodT0B zpnw93hyGiqZS5Pht&!u`@9jr-R<3qw)n)qSKirsCC|g16*`kLws6&74zF*v}P3`lr zrki|Pp-!{<3pBvxUq<~U;V8XAmvjRD0snx1YWPp>{jfHw$6eZ>j{UW3n|CJ|5Cfo2 z)T~(Jjy=;~Et3=|ZM=Ims9*=380lu6_TUX;w4IZm(=LX>grW+Ns$JCo4brbesum5Y zMjXYsj?nn*xkxHWCraX(??c+=d-R=%VuT0$1O5U3%=6zl@mcM`>&Iw106Brv_d3nr zJaX-234zj--V@=5F`e;Y$lVfzs}&FP6*8&D$merTecNrCr!^4xz4qmZ&ngf^i^X zA$J5LHkS@kM{!{hihBhmnTqNg|4f%Z;2-cW2K+BL>}BxH|s5j~^nMioAvwA{EX))&S81-lsVFZKLm_y0`GUt;{{51J`8 z>vYW7{n5e$WgUU3eS^01b0q#r3kJcKkJW|GTO|yJ=ETdTOi!J_Zr-C7AxF8H_NrM3s#j4huJ{gfM$% z%@&yVvI2xqBcd>if8w3hD}T(JmC+1i>M#3h@M%X_dbn}1g40+;@@=F_!el=*EXi|9*%NS5fNzh&_?EyV!0*SN( zFYTXDJI3Je(*H9pe}3@)VdK|YyMi`0aB5hi;N1&b&gC*tS}}BCIsI=pj+CF5uN_}} z*j5Op{wZ<|1KXbbSI9!mC~9C!ZIo1mqT2W;OP=@(9h%zO^ox;kK?^8>b~oFWY9y@9 z#WABW2S`rsAK5DOm3ZRKgDI>O!%7Ek=%(?2a1!w*ntA`s(4c<%*ImS zo(d4|xBPgLz5S_{l-#UvI5vOAGYjR$mQ+ZiMTmBKuPRCy)1@RKUT8hfYlTy6E6oY>j2vR`)5m6X4%|7TkMQpA7D$h9_L>fWr|yE$d@%6x|(f-~j0wI|W&yUJyPs%Dm2W)+O{ zbKol5{v|R7&rk)S!bg}5>;)te03}6r<)3LG3Md7{#&f8^ph0kj3J($*1#8f$|5!y( zez^YcCVwtv^-ca#EdO7v{?rCcW%J9xKmV|C&4w(qQS?teKP`2b&nR2?$B@;kY$IIg z49q;EDx;w)MoioD;G8|$!P)P4pgji7vFN8wX9*qBuifZ_x$l_Q?~v<*`v0N1@O-a! z8phaC(g`s@W`V$#CNec7o6nI%ONyZ9>Btw)KkP1l9@9)z{!%9Y4tcF#?Q)r46aN7A zRpC%l5fD@OibRnrcM<tD%f=zA>lHrO{xdJD;R_N%0eOl}K zSGsMJ;F&&Ke1uT4>3~@~>e_p>Giy&+Up1uqTBWM?e~cM)S&Q(U-3C@kxxeI(|cS8+2`tGn4+AvXqI8C%4Rb%(iu3_8ViEoJW$#KP_Pe`L@;>`G6A7- z6!m!8yq*R~E6s!Mb7eILgra}&oEF0Hhtq`@hvE~#KOgDvh zQy13?!K@ezXlFYxQBbl890$A^=mes`WU!Oj@|6hy$rcj8+^!jk02U80$=W#)K*~Hg z#RW|8LhQ9dCP*ok1`$DD5xQWH?eoIED*RfZgT(}xY~HM*7MQ6Hfa*1%Vnp0vc)Z$D zvLKW_;N;zu<5W}nPeDj!W*r5js7*j=#araIR;gHMOic9_7C>f0;|HKr3aQiqQ=#z! z>g>!0me|YKoV%z{Ul6?5Pi4U5v{vcB>|z8=tnpIY_)m`Bq&Pv;Z8{TIrRpb zNMV01SvugWbw{T`+SjX&+upsRb`x8C05lp7AS8z0dR0Fb4&L)PtaqCmS=b|eCfeS; zszE!liI|uVbBO|>>stPT3wyZNI9oc;J@~7b^$TEEr*bXF`fXObsrIS>f|%YfeADq= z*k|aQ)t^b)WH)wAGFfm{% zL^E;5i>dZ@Ef#~{83ra0&eoT=a;zufeUV-CUJ*!8fXja+_)oW!pymK zx-CwNI?Y)4qkSja!Xe)mHlHQoPmNW$u#I=GiU~|WzZ$b8Wxxccn;5@QjRsmF9C@vq zbTukgx79mnM`Ai~z9NnDz;&avx>ag(@7>dVxF=wu?OOSgO47PmHe`WE0WaaeR78L& zY-u)PMq_z93yx*hfqKqsl?-6YazCaF15@29b;$F`mh(j5!IZ<{U;_MQ`A6*i*MIqf ztsG#|VIDL3O|iuR6UR-6fe#Ir?WF_s>7oxvxOiO8+tYS>0;bE#U#9(W!F#>~6M$}$ zn!F=#?MgK{GZwad73*H)3BX&iLPZu1nj>hE_?^qE*7F2R4XPKgyg}WIye}UJGgXiw{3T!bkPEi+hd%zzvvyuDraZ_Wfh0eFdgn zQ+C+mg4QR-ldavtbtjsrN9XU?Cg1#!?VS(jz3Um6D9NEb^!Bz}iNZ!A`<+bct^~Dr`I08GZL90D8<-p=-Qb1G-TS#i-A6EfvsbGItlzE&>FfCB>)*Q90t$9?}pw#bi)`fzW^SfQGxbFpNZpJA~3x5sfJTrnrFVi)F`b`2_6-!oai;1pvluWPHRy zTOd4$zTvJFwr~I|7|){jF!+0QqpR3`y{dI>^)JpYiNFL}n!^dL93=xxvg3k8hftv3 z+`rWp4`wJK?CnQ)a?gMJz~k&asAKUx(HANfFv-UC$mWe{1*Y_YQXIfE+u9~mpmIKvhfW;neF3V<(! zi7pi2gbErBP({gj95w;H029p2iD`_x{=NX10GO=v$1&hw5VD9rX9}5eSlbeSj32X7 zwV!lBfUR&Tpd?Edwwx#AS9<5yp3Ev>I=}V{>DL*i_h}sP&=$jYPkoW&@$td~wm3Jo z>dD3VcKu&CQwpeM-DX;kX5Gj&m@i<)Y`SMP7YBTM@V&V7MFvdp9F~KK{QLr@eKX&% z#Wi+p<>SG47>)z^IkDtJ5(Z;R@qE<4!PP4;0Wd?|ifPCO=u06mNtUD_V6k=*2-~$K z1v^|KVB==$EX|2-I_Ezyg?$AkV|qNZzyx1o@L0aL#|Y_C3UGX+j*URzGbG08(6Aj_ zDgk2|c-D;4Gvl7HYu#R{048v-WamMdpkpk+ML?sd+=5)^W45h05u3)PvVSlI0?%)EU~(fc z(_k^Hm3z#os*uEYGeRdqWKF1K=k3fedOIYrv9D_1Kv0MY>*Z6^85pP-u z_GAKcWXJfY$?}XpFFBI2yhQYVK`CaOE$2BC6NDB3_isSD2??`^lz!fPj)c3ViwT@j z!DRq6BLG?WNV;&!`i-JKqODA1S! zk`Z>q<<@HoaYW+6RQq*_qvG8c<2WS+H6%B?Molo(Swy(OKW>jw^H!+nHH*C}mDx*?&i#Jza9k3k^z_xEu@yzx^k%ZNz7>-m`%L-=^uMSVHL`Ur3X;)r(ku z*}YBs639b6M?ylnPJo&gU`j(D^cR>4xzkLdXc4aA!xYx6f$*@<;MP~jw#H5oI)!3s zR>2OI36c|d*uVs}lTGWv!l7zX4Fr!XW(1ggBuRa6ni2;vVx39AM+Qzdi$VrSs{Pur zon?I{3;JJrfoZm8@9e6jIZ4!EYQ|BAN%4$1w!46W&Za})7tG2fOLp&inGi+sJ9<2I z!?@Xc@PgkveHWpR7ao)f%b7JNNcgwwPm%j$ z^WW3kcn`V$+orQ5?9_@+NW4#qJ|NG(UiBGyev+)yQweXl2j1t_enGDH&w7)D|4atL z`8rkCe@S>?Fa6_sAJ{i@H@k;4;2D(tn>C+lf0+K7x#yFr{kZ8HZQrcj+5s5+*01G& zq1t`+oXk8X9}eK=;CO6(v{gP$Ti?lsewRjIDk6SNDw=(x1yWfB$p*belg~Q1KxhOy zFs@jG;K3MEf+T85xUMp$;w~7ZK#RW_Y+19#v zX93IeJHl0%1ypR|Z^&{RFf=6^PKCk}6k5@xPGd@FOhE)C>!ZQ@hY4S2o4{Bd|2-2V zw(FoEc9aIy>l2Srz{DJ58^nO#cFPDEz7P@w7 z+))Rm-P-yQ%L#~lt7|wiU;?lJ59;T~KSk~V^b9`rwO1xTM>HDPPaFKNAPjuDAPjt^ zz`+qVXM^`b_pT?K>B03&6Q3cw0DvD7fEu_H4AlV&{ForGuqDi_0gsSt(7aBtLm7B5 zvbK~K>lr=g+8D*d?ZdSdPFrYO@q;dESj9*y@(Gwk4fS1*b(gGH7g1<7g(>TDDW84vg2) z`TIyb&_F0KjnlOf*oz2+`lE&K+wu(H0oo5}O@liQAbU2gAF+b$N_msHff@!T17He> zBP1-Mh4*-1DqvfP9GUknxd+G5xwlR?wW7~S*iX6!1oxmt0RVv}1aV-M|4N--yMorF zzrpi)180zTV4Ygay3I))z!te*t@_kn&x%;baRL*k1)=*y(oTmqo|V8v)kcKY+)+(f z%~klyw#+=^8C6g5x;slXHNuM5k`xTsi4q2Sw?;GKbL$l8cu`1L`hy6c=V#-E1Y*Bw z%0c;-4_(N%kG-?&5Vjj8(1#`vz)?mNm|&?(x2B!7K5cIzyB&ymSa;_#67S(&50GUm zu=Ol}6#xJ|mPiIn-~rx2=M8xPO$Y-MXiV_lz8SBRFaSE}uW)^4jj@~t94b1Birc{9KX0gpm8Bny13Sv)?C zi@32u#lu}ddLTohW}WPdDSlaH0EU4@{BUp@nB+Z)cE!e+gd?qCS;w?Klh|M|j1kd2 zjwmp_Jkbz*FzK4rY08A0E**g#0${ud;=*_mm{qXg817+a?T3wDY0K|eD2y@HCtwHs z0ep3%RVvnFLaRIDge{mWI*8b73Hy?S4JnPr)W^xZ>RB(@Xg@kQQ;2ErQ z19R>TvTv2B?eO=~=T3{)vC(yH?j2m^04!DHx(3gUw_`oyFnfRI>zQu@@)7qv?eu_BO!-e2Fu@^+ z7?6liabRP1tgT^G!FJyz&U91wWh(qebH=+xx6O%bubOlL6Rb3UZv4|$xn&@$$bj1F zL|zVLun%S`_kR(HXtJK6XmG z@7j@`_Q^>XFaan%KmOOo9@q#_Q*j`JXlBv(WCuc|P9Xg1&}kMPUnvVfDS^Cj^5;`s zc$NQT33g?T2~7Rl_vLM5Ds&8lRHoKZK;i`pWmabXm_mzZl;|wq*)^YQPmbP9#&i-T zI5+^je_=b^WYPii?RUDS^y8*8X*rOA*OV+Uk{$?=7NJO`Kzn&F(*TtLkaB4MSb*dx zf5}k7@*h9-ZF^H}VCvH3YLpq{McyMdEPUlrg(`F$1uynh88C5MqM$It)BHTUcjfO( zM{;@JEK|ASRh$?|7h zuuB@H2b4-o|MQ7Ic=(I>Gp+BWdvf+nf2E>+^D_=8U$#6MJdVm5jV6qku~St{M8qbH zHGX0sEJof4E0|SCJmck+zZ)Q>gMa4AA5dz*Nk#uYP>Jn-$?-q6>QmWCI2ZTLdZTep zWJ@@=`eoIg5>X4zr|0ZmL4{-EEFrP-QKN>ej7DiCh=owBnJdmkAA?T7-Y9ba--qbig3V7-<9kp7?tb79aVCk}ZFx!NX_Dbo&=G{+}&AOfW_OroR^rp4~i$ z{=VP%RbK7NwKnUQ|HcuoZgdq{dF_2U237?vl@Bk+z(~v;swtXg^tqx2{7V7c8q$t^0(IMY%cnw|>NmmipgmQMDT0b%;j4xS3s!5%4b+{4)(c znJ#}R;6JEif0^IX@hv0Q*3S`t7dD^GZB(PdM9B+U(cn3ZL8g~u1pG@E|5SiaaVmdF z<3D%c3>hdLYF4{xCmSfy-~L&8gkR@6;Su*+a{Ih$`ritjE{ci4?tjmWdjb^% zWgcaQD;SN35IWK27@1xU67UcB2mHPBhb@a?_fXjokxq{;8?qqZ6DZN&_#5wUtpB}` zBh1uM>e{q3IrV}RfNOB<=%BY^7Ha9xFk+CZ-1okB(h08-6V_+kfDO{cBxq)^En;u zkDvEC7Y%6zDdTvsO{ zP=cSHsk~iNcHC9vlFH}ZzzI|HI?c%bDieA=K+ftS)Zh3o>~CJvds#Ssj>2sB{mpnz z;gV+o|A2qM-#`9vBv+p{y|fl}Ja3ErZyigH?4J5kLBgPff1fQmT&-!X#y9DgkL&cE zSC9%Qpnw80>7P1)?K-~Xus@)Le=CPADqpWkovZZAtvY?11%(YLpn$TQeymru?i;Iy zFYfijrmxH8r1H0J#In5l)h@56Uyjo0uulJ(1r-obKmlb3{X?g(3aZziqhm#@A2*#T zlatQhp6RdV7Y>-#u4|J{N`79x&9xw)fC4H#q+`J8ZcRHE>6p-b?~K=y0;B&2;LX|F TF~aG+00000NkvXXu0mjfQ=Abh literal 0 HcmV?d00001 From 938aa9eaf165370200b499cb42213ee47ef8158b Mon Sep 17 00:00:00 2001 From: KRSHH <136873090+KRSHH@users.noreply.github.com> Date: Thu, 1 May 2025 22:11:21 +0530 Subject: [PATCH 5/6] Delete media/download.png --- media/download.png | Bin 9263 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 media/download.png diff --git a/media/download.png b/media/download.png deleted file mode 100644 index 917d7d8074217d9580cd844521dd28dbf92e2aaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9263 zcmV+~B+%Q5P)p+ zK?w##K?HYD1Ox;nNDw4P$ze#6L14Nui(-IP5d$jtbd3mz>!KhkBB6WN2tBj!eednQ zu=Vb#d#mbH-MY7Lci*0#fji%KzV7K;b^nTgojP@@Dkmq+zq#F~RchCu^^h{TW&YFn zmjn_>AZMol2VC2*?cVu!%xIO9jlb#LCWUHLs@~A}`miB?PbTq!1QN&@FaK@GW3?(@ zbV*Ke{4MXZuw3_x5^{!8(m8|AOS%g ztag6YJ9kapUN$XKT6gyfP{BTO0y3s`WW-HF$hL9Mk-|unN>LajMhcBjQ;hGC7%7Ux z%rIf|dz^*mzpE0X?e`~W||&p!UPG0&0_Hx3~N0XdP=Pln9h zFksd1QX-}Cw~VT8d_lt@(z|nwu)Oi{obH8P zuINM#FWt`*5U1>nGaKWdoNbki@WP5%?9MZ1W;)Ib3ujmf=R!y}g31(rw(}q02lyo% z|Im_sq+^o~I%0yAyB(|gF0SK=ly*#f@toXH?qfPq8rESDIaP21v97|Fs4%3ANhBhe zJB}G!dJj@Zab^*VdnF~Eis~DFw(}q02l%A`|5U+oGT_>~bma7ZWpc}W^7_QBwOmQ* z^Zbv>SFCXU8sqCf@e4ws5Sia&CSp)f5o0_-JTZuMMIo5q<2J^Pq4$ZfMTo`O{Iw{I zSw0O?@`x`ASQLCbVh>Y@eq-+~3d`wa`Nnw>BZ_?lD-7_@di=!gKimB;HT=2Vr)j5k z2IuV9KmWsWj>OcwZnL>L8vmqu-KU!c85R}AD<_QRpp0#mN-e^P#2K=Fk6RgwqXOX- z$O;PMr%X)V@MR*4NfpA?-H4*OMWWKX3pb+5XQNC+c`t9wF>bV!%2Mh8fg~kRRiJ@WeF^H>?VELaVFwWT$6*jIo+_`xnMEP%G zwZQscmw^bXMD$GHr`}k-;$v){N9!3^fBC2(zdO#~hbvcp2ghd5*}K#R97vk=oksbm zSpUxA9pAnEXS@HUkKf~}+jQjg_szo}v2SImdtsd(YT#D&nvlg8FFCZ zZd)d}`WMz~7`_Fd&^9z69yg!lLP_9Z&|Fg31V&NTLuWDUzr2G{J z8gjz`iOsQUCR9CEQA~wH%!&SwE0xX-e_8WnU<8^s&F(hKF2J9{m(~y-AY}fnwO2Fr1a_B_i~MovG`&6a^=Z)%f3*6 zqM{&``Lg^Ssd~t0CRkczIId(qZmS$Se!7j*6TU58pe2=d;hiNMMIO!8GpXGw?UdKQ zMQDC%%x?G$w}kaSKk*MP*-OqTQ%)tPBL^1k4&}`2KEt-{q*v?i(x?%)RNFW!#0Z|3 zB25M{DemM_hew)+Xe{PCiqryA@cnEIZur^mM1lA(=8`v>W}ps4rzMe-#MUXTxbaN3 z3k|+g`_Fd&%LM-IE&pKCnilq&(=w+`{j2hge@^2EkKDUnWj0bUY%35tce?g=2EKR2yb8_$8nt1>&#B%k^xzA5Yihjw3l3W^l05;_KRfw)GZ`>dZhO6*8g1c>RbQIaR2{)#b0d1 zRIW@}_>_OVv|2r$*dp}FJU@jxEGLw2{Nv0j3fp|HGzLCBV=AMmD*EE#?XjUc;%B=P z1(KmUxBP@uqS0tcarAp}q)Wz+y7xbi?@YJ<`QHB>(t2@~+B&}``3E>xMPkXY!kEe^ zQiN2wLj1{rnYtHM)Ky$5W*qy@=i+J<3VtAGpqQP86ArSS;Esro^+@bA>62h02uI!f zUkdrw_P-S0lT!ar@a}dES|=u^e(ib_K2KEUtNG&c5$84jZR8}dB-U0sEji0Qj{V%B*c^`F~zc1 zte6Gk>qk$u5wUr?$P0H^1Lu2O!Oi`GO zP{MM-GZiyqd&RO*kcx=BDe5mC5hJ33;q45f@nJPQhVqVAE}~K#cDPr7AK+{8&p?4g z0umC_d?2QO*D^~lGtDwB1{1r*sqV@a67+=kBEEA2y z@pJ%di;)07z}MrSiQ3@h&ZyexE@q@ocjA6 zTLt0H9hFCyutiv?u%*31C7__}5<_Vg8Xq=JiiQ@G@+=!IV;eWl3&&zJ0tR+ z^*&J&h)LZmWU@aiM8x{6GXk+FzwxD1bu@@L?^QZ!bYed;yJgfD#6! zd2Rd_sUc&V#gjwBx(XtF+VpV5Ke%|0Ej(;1qE~C7sR1ADjqkTy(NT+IrY%Y~4clnG z2R*yF>5Z=W2N~93u&vA+RIe}LLs_f1=DUS`GL`a&n|mhQGK#dQdnL)u&9#+BvpP-5 z*v=!#*NgW#mcJYRLw7IJmKl=|XTGKEypL(iztXuCUEc%epg~({Q~xS@acpGZT4P{4 zB+_*TN^(=Vu&i=op9}UWIbEVk!FHoKA}B9=l}>Fqo*82DC~&ggj)^a#QA{CeG(xgb z^o9GMq>afdM%QLHlW!jUoZyiY-gR=-VcLmQQmA`j9Y_52_pCI+glrfujC_)J2B~8k zpXXON-xmJdbIvu&{)9wKs)Prw*5;pe-`3(*9!4T2)JZ_YGznE-7LLS(!f1)<_cx|g$H!KD zMXqhwHl^~1Z4eOO3(oPC2l;^EB(UGh%e&l($sGfTH8@+mPzg=S+Tk<59! z`kC2OH6|~eo5`xXmLzOUZUQ6Ww@d#ly%PooU05IsT^cH%cY!v1<64ch;n(zgP#b>z zJu7$^Cyfb&?xl1n4@yiSvx6~>PfJXSMvw|I!JyH(=}jKXT3<(?1$h~K%zC!R4=Mlu zY5IqJafU)qvffB7}!`bMTS zt=+`6Av_9aQ)%A6XU@B%Y;IX?9Qb|Ub^XZnyh&tww@I|)IlUj!fZzMctXl}P>aFASyVtF_58gR1Ar{n;7t$Et`Tm6O(h(C()meLNZ%EtvSCb0mDmdam8D^VI zvO`Rgrc+Gbu0G3F2V&Yk{{vgtub1r8o}>pI9vThUG1NF68ei{7G=~=NwS|9W-1Cmw z%`^8sB89D`u~)&3HQLUZB&ouPtL72xYB-G3RE|l7a^=Yv`5)WfEi@(}nV8BQF$h;@ zCj%MRc_jJiq3@;eV4HDh{PaDTlvM$ZRu>PnT^+$BO1qAjrsYkvh5L2=F-n?j@Kd$3 zHz&Q66%xsWB=0T|DL!vkzccHkF?~M&L&rE^XVJykeBYx|xc8^OsSQ`Z+9l-2hmJVD z|Lw`!h)%n?>XH^xxFPKa*uub#5^9I*az!UsV!Hd9K2mtFQ|ZEiR)NDM(wIP6*1OV1 z*u`aInr?JtU77&jEuO<>Q8MTD2OQ(9=)1@k9_&p(`nq?$`@rk2Y0wc9jPbzb++Mvrl-^7OQR&GF=gG`H9bj1V*=6L656QdWl|b-4Fwv!s?q2qGH{JH zT`!H<%)`KYbYbS)K8=SlwJ-U(ZhGidN8WWTa z`1+{tfI9IKU#ArV!RXvnV4%{i#x1ezQa!J_J>g)WO0pUgh|@sj#n@gN#Iwef6>nFc zGn*a5{rItU|HpGrCQ-J>RGyy|w+9 z@;EK(HnTma&YMaapC10OHjS6pY-szf*~Lw{f6aY24z@i92Uh&ydG9{i9^bqD#D-m_H-`@*_qqAIN;Kt)7%#Knwxb}@k3JIlH%g+E5byHleeo(JTBh0 zK8kHs&T0gSG^Xc9JZ>8y;q#09Pk4UnRJqtzkT3=Gnl^gLpF$9-;THCK={nG-v;U3! zZSA)htqhfI{-}8pkco{{ssH!Z#4FktL$5VoHQm_Z3H4ye+R;Y1pz@!q7(T& zm9x83nDWTrb)MqG>ZmUMi=&^B!a-i`;X<5*nRNPn2U|Fp&N=xo}cELDG}Z8m-@Rpl}neHU|OR~8#qCFiSIGz$w*mN?w% zex~!Ks%5`5>18dxZYnqR591}fttw#T)@kuh{$!<1JZntclN-4Vn8t8MEa-4IjW3dV zk%4@dIU+Rc_qaq*{s<)|O~Xp0F#$oSabTqmYj?VRQ>td*Bu*p#(%$oJVaMEjpDkSf zcD>2yPV(<`pIgCkT81Z$>4h2x_E~k*jO=uoJi^Y+vRp&LZp5^ghCjaY5ZzLv3*%HS zY>^{fV)}9IcUl}MD|P#mu1!InMLeO|seW1D!XaT8Z3(8aZ%q87Bu;jw5jWneO}}m` z2O5*xnfI{3pu>Pw)@+kXu@aMda)7W6F>Q$v5OS*IQ$6{AZikBC)jBqvQ!xA{CM!>P zv`Iuv;K-i#1Jfoo3`}R-_c59ITi$n}wvoMNG;-X5LBKsg4F~qE#uqh` zeuHTwK64$mjo^+4_9*U5BCmAq;etFEZdNK;h-_1?D!Vc*~ zOwyU}s9osJoWG=MU7H309{nu;EUfO#dEL~jVugz2*Mj35@6Zz6G%h)Dn$9^HzunHf zU)nogi@}WWrCpNqW5OK@8>=NUlEa7_LXpiWY*r3yB$(9VyfbCek4YAt=Qk5re$~Z! zz)-dEnddK#*{lsWmie$m^k<&`y#A=xa1QnZI70|;@qzL>WvK9=4T-RtttUq32Nwi9 z4RG?a!cz783zaFg*kZKFVY(^d};PsF3p%0`>Od#Cv4CP<%`8`3&zo<)C@oZS5fvpXA@iH$hlKcslVZq{z zMELZJHy$L6WFj)*@B-)42BB4nX`{cHO=e392pF4n%i$oOK^)%LW7JM`;qR*0!oig9 z_3>L#BSRR*=sDope%kln)wUP!bgW~s4tZNky*D}&Fkl~D@g>@a7$bY<>0J`A48E>E zuVeMhbthu_if*;B>ULw4p7~VgLi<91jhIloaXgR7A^+l}3sL^EAzu&;bYQx@L{t99 zSA0d9)VkbWemSr~IwIlg+(Fz$zgH0ml;N}d>x|!&m^6z(Kd(Eg-336&OfkZjW=Z0f z6wxT;)wP&h>0CvY&+e9ON@6O<8XaDNkPPQOiqk=Hcq#{W1=wyf$mpcHWnU2L`p-2A ztC1P$m2DM5V6_aqf8kDcM#8U6_@mQpqg3{SlOiSuMCcpnc}vb60H!dyGuLZXzR0yR zZ65JBntI11d?#W$w0I9sSD{tM;IpG1%!bPxhzXzhZX>3UI4Dk+f6*4@@`o)kI!v&A zt?u_A`K{m>E&JcrAEW=n#$LP4F+|DiG-&k}KAd=|wiys`$7qi>+Fq|nHA4ec(*i4^ zr#GCC^6%`&Wa7g?iEv=w%x+Ui%}Uj^c?5@0xBY#kO_Dq)E~*esR5awU++gJIXsU;d z=0Zyn@0GT=_^dHGZAsB}9;at8-GNmgi9ju5{$JO8#UrvZnCL-mjI59L4CVUzIo@y|>7Pxsgp5S{N?X%_FRa>}U1 zHsQv32Ss)vX(a?r(a=;7f5!wQE-0|itjT1fvM zHv!wmDPy!wbOWo-J%P!GGu|T1D2z8)ZyWcVV;s6SjMr1lhX3?%cXt8FY1a53w390? z{=FkH;WN3?A||%DVBtS$Ou-Tz;N~U;16JGe-?VmPTR1R|OIucy{6kzPkA85W!1+&_ zn3O>dJlC^LBv~RRc@r<5lG#rKz*9BhFsa@#$4?gs3p;^rIae~8r!VOo6n9<2w&XDH z1fnsj#0&X_V=>@l!DKODCG9t8?A*@dd;=?Z2HW2eqSFVbGqGTkscbkG0$VNIZh+n7 zL`;kK+Vaov_sx4>tHIDsynHH_CNWWsNyY~Qv(Db<)UoLyb_SW5p5k);KVR^X_8sP# z>-ze~<*!@Vfa#p+%3+4pxeIs^sB6^;^h^=Y4wi9l1HzgNszladm8qQM=fpa*N@mP3 zt{B1X9^&aqvKkZEhF~Z83->=IvR)^Ja%v1`<(lXQ zR+zTv-Zi-W-L7Y1b!*X88*ktI5Aq%;(np9Fdi9(v0${qF*Oj!s;76LDEIQ z@etE62j-mjzh`&(|5R@N#%9}EO>51#{rpP zrT?Q@Z%g>}dbQK{H z3MMPnCKD5#MpJbe@M zZ4?%d3>(@1QLDp??-Kb$?0dDcSx7qLGi!{AjGv-xu$Czrs+S8H0{j49i+=`-N8>m4 z{MPSPVpA`CVgTN&B?t#qsHEBoXF2xFX|GiAi)ehsej!67zz^{C_}LX*|M&0xNqBy{ z?^P;9%&)DCh<>k<2qTX^ctqjTJpS%1RD?82dN+Qjdm)3H@jJjjd+|LHM}`P2VgD~K zVgjETOi02AhkTI2=3Xg5Fm~T1b*~cMrXp8>YO{*!@r#p`B(=RbFJy>i1Rqw@HV#}% z&n$wi41f)jvC+9@4|XO{a(>bacXa~65Zx^VNE5s&ip!{Pt0j^9FleCT_! zpyw|0;+N8=5x_dzc>gasYP8qx=Kb;iaGR^e^l+ zhs^9Yl{_>25%S}@Bc-nV)5UjhuX6wMzdt1C|2|;ojvBHN6L_jJO~q}ml3LK}UM3AkcZ{Nf}hE@t|(cOgUi_;8^9jZNB9;(?0^!1oE9M|V!yMmON@ zoVuO97naKT_6$q9x6GqtaAMU#^0amLUEemn$Z5-A@QVc>lgVAjlH;omk=m7OlXs`R z&haO79!2iH*1SFn92DWC1USTh-95_bkg{=N49bOkPlO-M|6&AW<1=Lthh$qFkh zj@gw979|!{U=eyIDw}1LJyS*s4SvQ2k3f-PzK|gj^BsTIZBxju2VUiIfK0%DX6NK> zlqfnGBmf@hKuj->eU`ryND7{-_;7SD^<<{+`otopgY;NkcBMLyA>91YuU&5%w~rAA z@L>xGoT(1JUZ%EYrWf$(2@A&mj}6&Cwv5_Dx-{!#`n4I-+aM-}|M<`XGLPLBT?)$I z5B!w-Ut0Yj)&8Hn=&m%g5ff~$kP8j16kwv!RZy7Cqw!{6radV~qM&D{r};@yL2mdN zB_@%ltX;_9Gyd=n1F54P!#`n6>joKG@!N*Rw5s0{`U!JS?kf^KL9XUDsYIFNtXM+ZlV z+}ZjLx|1Ic%X?$ei&Fl(x5}gGhk+3;Y*^H5F5T}3&-qO*5tt%=KrgN=E#>bAe%k#n zC1Ogi|0jdxa8g9hxA+G*QUUA$(q#k@rk+Mo0%Wp?1Fu9q}_j zO14oAmjC_pKcw0g976+BJkv9OqN!{5T<#(W|oafV2$F^K)J@+&f?(|t6~pzHe^#PtCsrn}npGN)p# z%}ub!SA9*@_QC@5^hMQ3P|D47T z;JRxtV3rJb{KWWfgjD*sBLw&X{+WsYoiX*VU~r8>Ooi`Ff8)}ectJFD;qR(Ep|aL6 zIIlP&5~HecXVrFq06)MF@O{VEU1m|UQuWQovs^HK=NR+%rp8AR4ghD{z^V&V@y_P$ z00Dl0AK?3o4_8lV&d>ULevg@ra@gNb>%PyeQK|X{dD3x!MPc8mZ&zz^_C7C!i_Y5bNB z6bx8(agO?TYQyo+B~|N=(L^BmJ!Wx$(zG2Tzz^^P{E~$~TYn49#|>*VxY|Za?C($0 zcT}iQuEI*=>%ZfOaCkf2yM!_)F)L?Fl<0_D0F04^%7~a$Vro$sC1E>2fFIxo`2OI7 z)2!xJn>_~Sv~naR_P1r!riw=7*~ZsjRc6a;-i12j3Gg$2J3xRR;0O5W;lmwPT zDILoV<#ydN>ZygH9ofHC@XbL+BRrSjH#cQ35i*w zfN=KQfpogy1WKr2Q+!BVA8WH0e*m=1$^lHZy6jgsmmC0MeQbTg!Henxn=i+2du7{5-Gu-k*M6)#&79= z!MT-Ax{(u>Ml~DKjhe8*liioa?$Mfo?{({j?%&Fj?+?TGlHvQsrYrZ3&2W3J`7OW? z@B@7R@Zm&=E?0CSmm7WFBR~Ah;F3>wOnj+M%A|zqalAS0htXXkU&bd{8Fp(MQ<$cyRg&G z>yMt3lgYo;{g&ijT%~p`vUCcmsdRyLwO$yc_me|5M_ZW)_vK_Gzya`uS90Y}<3Xq|6xLZf#ccr`6D`hU6@gK>}n Rp=baA002ovPDHLkV1h+SRh9q% From 267a273cb266ebc0e008896e11b86a0631251983 Mon Sep 17 00:00:00 2001 From: KRSHH <136873090+KRSHH@users.noreply.github.com> Date: Thu, 1 May 2025 22:12:55 +0530 Subject: [PATCH 6/6] Download for windows --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d5ffecb..ffb4035 100644 --- a/README.md +++ b/README.md @@ -30,11 +30,11 @@ By using this software, you agree to these terms and commit to using it in a man Users are expected to use this software responsibly and legally. If using a real person's face, obtain their consent and clearly label any output as a deepfake when sharing online. We are not responsible for end-user actions. -## Exclusive v2.0 Quick Start - Pre-built (Windows / Nvidia) +## Exclusive v2.0 Quick Start - Pre-built (Windows) - + -##### This is the fastest build you can get if you have a discrete NVIDIA GPU. +##### This is the fastest build you can get if you have a discrete NVIDIA or AMD GPU. ###### These Pre-builts are perfect for non-technical users or those who don't have time to, or can't manually install all the requirements. Just a heads-up: this is an open-source project, so you can also install it manually. This will be 60 days ahead on the open source version.