import{S as of,i as nf,s as pf,e as a,k as f,w as d,t as o,M as ff,c as s,d as e,m as c,a as r,x as m,h as n,b as u,N as pl,G as t,g as p,y as U,q as h,o as _,B as M,v as cf}from"../../chunks/vendor-hf-doc-builder.js";import{T as uf}from"../../chunks/Tip-hf-doc-builder.js";import{I as Et}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{C as v}from"../../chunks/CodeBlock-hf-doc-builder.js";function df(aa){let y,S;return{c(){y=a("p"),S=o("\uAC00\uC7A5 \uCD5C\uC2E0 \uBC84\uC804\uC758 \uC608\uC2DC \uC2A4\uD06C\uB9BD\uD2B8\uB97C \uC131\uACF5\uC801\uC73C\uB85C \uC2E4\uD589\uD558\uAE30 \uC704\uD574\uC11C\uB294, \uC18C\uC2A4\uC5D0\uC11C \uC124\uCE58\uD558\uACE0 \uCD5C\uC2E0 \uBC84\uC804\uC758 \uC124\uCE58\uB97C \uC720\uC9C0\uD558\uB294 \uAC83\uC744 \uAC15\uB825\uD558\uAC8C \uCD94\uCC9C\uD569\uB2C8\uB2E4. \uC6B0\uB9AC\uB294 \uC608\uC2DC \uC2A4\uD06C\uB9BD\uD2B8\uB4E4\uC744 \uC790\uC8FC \uC5C5\uB370\uC774\uD2B8\uD558\uACE0 \uC608\uC2DC\uC5D0 \uB9DE\uCD98 \uD2B9\uC815\uD55C \uC694\uAD6C\uC0AC\uD56D\uC744 \uC124\uCE58\uD569\uB2C8\uB2E4.")},l(T){y=s(T,"P",{});var E=r(y);S=n(E,"\uAC00\uC7A5 \uCD5C\uC2E0 \uBC84\uC804\uC758 \uC608\uC2DC \uC2A4\uD06C\uB9BD\uD2B8\uB97C \uC131\uACF5\uC801\uC73C\uB85C \uC2E4\uD589\uD558\uAE30 \uC704\uD574\uC11C\uB294, \uC18C\uC2A4\uC5D0\uC11C \uC124\uCE58\uD558\uACE0 \uCD5C\uC2E0 \uBC84\uC804\uC758 \uC124\uCE58\uB97C \uC720\uC9C0\uD558\uB294 \uAC83\uC744 \uAC15\uB825\uD558\uAC8C \uCD94\uCC9C\uD569\uB2C8\uB2E4. \uC6B0\uB9AC\uB294 \uC608\uC2DC \uC2A4\uD06C\uB9BD\uD2B8\uB4E4\uC744 \uC790\uC8FC \uC5C5\uB370\uC774\uD2B8\uD558\uACE0 \uC608\uC2DC\uC5D0 \uB9DE\uCD98 \uD2B9\uC815\uD55C \uC694\uAD6C\uC0AC\uD56D\uC744 \uC124\uCE58\uD569\uB2C8\uB2E4."),E.forEach(e)},m(T,E){p(T,y,E),t(y,S)},d(T){T&&e(y)}}}function mf(aa){let y,S,T,E,ne,fl,Os,pe,Ks,sa,cl,ul,lr,tr,ra,V,er,dl,ar,sr,ml,rr,ir,ia,Ul,or,oa,wt,nr,na,D,pa,Zt,pr,fa,hl,ca,A,fr,_l,cr,ur,ua,Ml,da,gt,dr,ma,yl,Ua,bl,Jl,mr,Ur,ha,Tl,_a,jt,hr,Ma,vl,ya,Rt,_r,ba,El,Ja,wl,Mr,Ta,C,yr,Zl,br,Jr,gl,Tr,vr,va,w,Er,jl,fe,wr,Zr,Rl,ce,gr,jr,Gl,ue,Rr,Gr,Ea,x,Wr,Gt,Ir,Vr,wa,Wl,Cr,Za,Wt,Nr,ga,Il,ja,N,de,Br,$r,Vl,me,Qr,Xr,Ra,k,Fr,Ue,Yr,Sr,Ga,Cl,Wa,It,Dr,Ia,z,Ar,he,xr,kr,Va,Vt,zr,Ca,Nl,Na,B,L,_e,Bl,Lr,Me,Pr,Ba,R,ye,Hr,qr,be,Or,Kr,$l,li,ti,$a,Ql,Qa,Xl,ei,Xa,$,P,Je,Fl,ai,Te,si,Fa,H,ve,Yl,Ya,ri,Ee,ii,G,Sl,Sa,oi,Ct,ni,pi,Dl,we,Nt,an,fi,Bt,$t,sn,ci,Al,Da,ui,Qt,di,mi,xl,Ze,Xt,rn,Ui,Ft,Yt,on,Aa,Q,q,ge,kl,hi,je,_i,xa,O,Re,zl,ka,Mi,Ge,yi,W,Ll,za,bi,St,Ji,Ti,Pl,We,Dt,nn,vi,At,xt,pn,Ei,Hl,La,wi,kt,Zi,gi,ql,Ie,zt,fn,ji,Lt,Pt,cn,Pa,X,K,Ve,Ol,Ri,Ce,Gi,Ha,Ht,Wi,qa,ll,Ne,Ii,Vi,Kl,Ci,lt,Ni,Bi,Oa,qt,$i,Ka,tt,ls,F,tl,Be,et,Qi,$e,Xi,ts,Ot,Fi,es,Z,Qe,Yi,Si,at,Di,st,Ai,xi,ki,Kt,rt,zi,Li,Pi,it,Hi,Xe,qi,Oi,as,ot,ss,I,Fe,Ki,lo,Ye,to,eo,Se,ao,so,rs,Y,el,De,nt,ro,Ae,io,is,le,oo,os,te,no,ns,b,xe,po,fo,pt,co,ft,uo,mo,Uo,ee,ct,ho,_o,Mo,ut,yo,ke,bo,Jo,To,ze,vo,Eo,Le,wo,ps,dt,mt,Zo,go,fs,al,jo,Pe,Ro,Go,cs,ae,Wo,us,Ut,ds,se,Io,ms,ht,_t,Vo,Co,Us,re,No,hs,sl,Bo,He,$o,Qo,_s,Mt,Ms,yt,Xo,ys,J,Fo,qe,Yo,So,Oe,Do,Ao,Ke,xo,ko,la,zo,Lo,ta,Po,Ho,bs,bt,Js;return fl=new Et({}),D=new uf({props:{warning:!0,$$slots:{default:[df]},$$scope:{ctx:aa}}}),hl=new v({props:{code:"Z2l0JTIwY2xvbmUlMjBodHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZodWdnaW5nZmFjZSUyRmRpZmZ1c2VycyUwQWNkJTIwZGlmZnVzZXJzJTBBcGlwJTIwaW5zdGFsbCUyMC1lJTIwLg==",highlighted:`git <span class="hljs-built_in">clone</span> https://github.com/huggingface/diffusers
<span class="hljs-built_in">cd</span> diffusers
pip install -e .`}}),Ml=new v({props:{code:"Y2QlMjBleGFtcGxlcyUyRmNvbnRyb2xuZXQ=",highlighted:'<span class="hljs-built_in">cd</span> examples/controlnet'}}),yl=new v({props:{code:"cGlwJTIwaW5zdGFsbCUyMC1yJTIwcmVxdWlyZW1lbnRzLnR4dA==",highlighted:"pip install -r requirements.txt"}}),Tl=new v({props:{code:"YWNjZWxlcmF0ZSUyMGNvbmZpZw==",highlighted:"accelerate config"}}),vl=new v({props:{code:"YWNjZWxlcmF0ZSUyMGNvbmZpZyUyMGRlZmF1bHQ=",highlighted:"accelerate config default"}}),El=new v({props:{code:"ZnJvbSUyMGFjY2VsZXJhdGUudXRpbHMlMjBpbXBvcnQlMjB3cml0ZV9iYXNpY19jb25maWclMEElMEF3cml0ZV9iYXNpY19jb25maWcoKQ==",highlighted:`<span class="hljs-keyword">from</span> accelerate.utils <span class="hljs-keyword">import</span> write_basic_config

write_basic_config()`}}),Il=new v({props:{code:"d2dldCUyMGh0dHBzJTNBJTJGJTJGaHVnZ2luZ2ZhY2UuY28lMkZkYXRhc2V0cyUyRmh1Z2dpbmdmYWNlJTJGZG9jdW1lbnRhdGlvbi1pbWFnZXMlMkZyZXNvbHZlJTJGbWFpbiUyRmRpZmZ1c2VycyUyRmNvbnRyb2xuZXRfdHJhaW5pbmclMkZjb25kaXRpb25pbmdfaW1hZ2VfMS5wbmclMEElMEF3Z2V0JTIwaHR0cHMlM0ElMkYlMkZodWdnaW5nZmFjZS5jbyUyRmRhdGFzZXRzJTJGaHVnZ2luZ2ZhY2UlMkZkb2N1bWVudGF0aW9uLWltYWdlcyUyRnJlc29sdmUlMkZtYWluJTJGZGlmZnVzZXJzJTJGY29udHJvbG5ldF90cmFpbmluZyUyRmNvbmRpdGlvbmluZ19pbWFnZV8yLnBuZw==",highlighted:`wget https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/controlnet_training/conditioning_image_1.png

wget https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/controlnet_training/conditioning_image_2.png`}}),Cl=new v({props:{code:"ZXhwb3J0JTIwTU9ERUxfRElSJTNEJTIycnVud2F5bWwlMkZzdGFibGUtZGlmZnVzaW9uLXYxLTUlMjIlMEFleHBvcnQlMjBPVVRQVVRfRElSJTNEJTIycGF0aCUyMHRvJTIwc2F2ZSUyMG1vZGVsJTIyJTBBJTBBYWNjZWxlcmF0ZSUyMGxhdW5jaCUyMHRyYWluX2NvbnRyb2xuZXQucHklMjAlNUMlMEElMjAtLXByZXRyYWluZWRfbW9kZWxfbmFtZV9vcl9wYXRoJTNEJTI0TU9ERUxfRElSJTIwJTVDJTBBJTIwLS1vdXRwdXRfZGlyJTNEJTI0T1VUUFVUX0RJUiUyMCU1QyUwQSUyMC0tZGF0YXNldF9uYW1lJTNEZnVzaW5nJTJGZmlsbDUwayUyMCU1QyUwQSUyMC0tcmVzb2x1dGlvbiUzRDUxMiUyMCU1QyUwQSUyMC0tbGVhcm5pbmdfcmF0ZSUzRDFlLTUlMjAlNUMlMEElMjAtLXZhbGlkYXRpb25faW1hZ2UlMjAlMjIuJTJGY29uZGl0aW9uaW5nX2ltYWdlXzEucG5nJTIyJTIwJTIyLiUyRmNvbmRpdGlvbmluZ19pbWFnZV8yLnBuZyUyMiUyMCU1QyUwQSUyMC0tdmFsaWRhdGlvbl9wcm9tcHQlMjAlMjJyZWQlMjBjaXJjbGUlMjB3aXRoJTIwYmx1ZSUyMGJhY2tncm91bmQlMjIlMjAlMjJjeWFuJTIwY2lyY2xlJTIwd2l0aCUyMGJyb3duJTIwZmxvcmFsJTIwYmFja2dyb3VuZCUyMiUyMCU1QyUwQSUyMC0tdHJhaW5fYmF0Y2hfc2l6ZSUzRDQlMjAlNUMlMEElMjAtLXB1c2hfdG9faHVi",highlighted:`<span class="hljs-built_in">export</span> MODEL_DIR=<span class="hljs-string">&quot;runwayml/stable-diffusion-v1-5&quot;</span>
<span class="hljs-built_in">export</span> OUTPUT_DIR=<span class="hljs-string">&quot;path to save model&quot;</span>

accelerate launch train_controlnet.py \\
 --pretrained_model_name_or_path=<span class="hljs-variable">$MODEL_DIR</span> \\
 --output_dir=<span class="hljs-variable">$OUTPUT_DIR</span> \\
 --dataset_name=fusing/fill50k \\
 --resolution=512 \\
 --learning_rate=1e-5 \\
 --validation_image <span class="hljs-string">&quot;./conditioning_image_1.png&quot;</span> <span class="hljs-string">&quot;./conditioning_image_2.png&quot;</span> \\
 --validation_prompt <span class="hljs-string">&quot;red circle with blue background&quot;</span> <span class="hljs-string">&quot;cyan circle with brown floral background&quot;</span> \\
 --train_batch_size=4 \\
 --push_to_hub`}}),Nl=new v({props:{code:"ZXhwb3J0JTIwTU9ERUxfRElSJTNEJTIycnVud2F5bWwlMkZzdGFibGUtZGlmZnVzaW9uLXYxLTUlMjIlMEFleHBvcnQlMjBPVVRQVVRfRElSJTNEJTIycGF0aCUyMHRvJTIwc2F2ZSUyMG1vZGVsJTIyJTBBJTBBYWNjZWxlcmF0ZSUyMGxhdW5jaCUyMHRyYWluX2NvbnRyb2xuZXQucHklMjAlNUMlMEElMjAtLXByZXRyYWluZWRfbW9kZWxfbmFtZV9vcl9wYXRoJTNEJTI0TU9ERUxfRElSJTIwJTVDJTBBJTIwLS1vdXRwdXRfZGlyJTNEJTI0T1VUUFVUX0RJUiUyMCU1QyUwQSUyMC0tZGF0YXNldF9uYW1lJTNEZnVzaW5nJTJGZmlsbDUwayUyMCU1QyUwQSUyMC0tcmVzb2x1dGlvbiUzRDUxMiUyMCU1QyUwQSUyMC0tbGVhcm5pbmdfcmF0ZSUzRDFlLTUlMjAlNUMlMEElMjAtLXZhbGlkYXRpb25faW1hZ2UlMjAlMjIuJTJGY29uZGl0aW9uaW5nX2ltYWdlXzEucG5nJTIyJTIwJTIyLiUyRmNvbmRpdGlvbmluZ19pbWFnZV8yLnBuZyUyMiUyMCU1QyUwQSUyMC0tdmFsaWRhdGlvbl9wcm9tcHQlMjAlMjJyZWQlMjBjaXJjbGUlMjB3aXRoJTIwYmx1ZSUyMGJhY2tncm91bmQlMjIlMjAlMjJjeWFuJTIwY2lyY2xlJTIwd2l0aCUyMGJyb3duJTIwZmxvcmFsJTIwYmFja2dyb3VuZCUyMiUyMCU1QyUwQSUyMC0tdHJhaW5fYmF0Y2hfc2l6ZSUzRDElMjAlNUMlMEElMjAtLWdyYWRpZW50X2FjY3VtdWxhdGlvbl9zdGVwcyUzRDQlMjAlNUMlMEElMjAlMjAtLXB1c2hfdG9faHVi",highlighted:`<span class="hljs-built_in">export</span> MODEL_DIR=<span class="hljs-string">&quot;runwayml/stable-diffusion-v1-5&quot;</span>
<span class="hljs-built_in">export</span> OUTPUT_DIR=<span class="hljs-string">&quot;path to save model&quot;</span>

accelerate launch train_controlnet.py \\
 --pretrained_model_name_or_path=<span class="hljs-variable">$MODEL_DIR</span> \\
 --output_dir=<span class="hljs-variable">$OUTPUT_DIR</span> \\
 --dataset_name=fusing/fill50k \\
 --resolution=512 \\
 --learning_rate=1e-5 \\
 --validation_image <span class="hljs-string">&quot;./conditioning_image_1.png&quot;</span> <span class="hljs-string">&quot;./conditioning_image_2.png&quot;</span> \\
 --validation_prompt <span class="hljs-string">&quot;red circle with blue background&quot;</span> <span class="hljs-string">&quot;cyan circle with brown floral background&quot;</span> \\
 --train_batch_size=1 \\
 --gradient_accumulation_steps=4 \\
  --push_to_hub`}}),Bl=new Et({}),Ql=new v({props:{code:"ZXhwb3J0JTIwTU9ERUxfRElSJTNEJTIycnVud2F5bWwlMkZzdGFibGUtZGlmZnVzaW9uLXYxLTUlMjIlMEFleHBvcnQlMjBPVVRQVVRfRElSJTNEJTIycGF0aCUyMHRvJTIwc2F2ZSUyMG1vZGVsJTIyJTBBJTBBYWNjZWxlcmF0ZSUyMGxhdW5jaCUyMC0tbWl4ZWRfcHJlY2lzaW9uJTNEJTIyZnAxNiUyMiUyMC0tbXVsdGlfZ3B1JTIwdHJhaW5fY29udHJvbG5ldC5weSUyMCU1QyUwQSUyMC0tcHJldHJhaW5lZF9tb2RlbF9uYW1lX29yX3BhdGglM0QlMjRNT0RFTF9ESVIlMjAlNUMlMEElMjAtLW91dHB1dF9kaXIlM0QlMjRPVVRQVVRfRElSJTIwJTVDJTBBJTIwLS1kYXRhc2V0X25hbWUlM0RmdXNpbmclMkZmaWxsNTBrJTIwJTVDJTBBJTIwLS1yZXNvbHV0aW9uJTNENTEyJTIwJTVDJTBBJTIwLS1sZWFybmluZ19yYXRlJTNEMWUtNSUyMCU1QyUwQSUyMC0tdmFsaWRhdGlvbl9pbWFnZSUyMCUyMi4lMkZjb25kaXRpb25pbmdfaW1hZ2VfMS5wbmclMjIlMjAlMjIuJTJGY29uZGl0aW9uaW5nX2ltYWdlXzIucG5nJTIyJTIwJTVDJTBBJTIwLS12YWxpZGF0aW9uX3Byb21wdCUyMCUyMnJlZCUyMGNpcmNsZSUyMHdpdGglMjBibHVlJTIwYmFja2dyb3VuZCUyMiUyMCUyMmN5YW4lMjBjaXJjbGUlMjB3aXRoJTIwYnJvd24lMjBmbG9yYWwlMjBiYWNrZ3JvdW5kJTIyJTIwJTVDJTBBJTIwLS10cmFpbl9iYXRjaF9zaXplJTNENCUyMCU1QyUwQSUyMC0tbWl4ZWRfcHJlY2lzaW9uJTNEJTIyZnAxNiUyMiUyMCU1QyUwQSUyMC0tdHJhY2tlcl9wcm9qZWN0X25hbWUlM0QlMjJjb250cm9sbmV0LWRlbW8lMjIlMjAlNUMlMEElMjAtLXJlcG9ydF90byUzRHdhbmRiJTIwJTVDJTBBJTIwJTIwLS1wdXNoX3RvX2h1Yg==",highlighted:`<span class="hljs-built_in">export</span> MODEL_DIR=<span class="hljs-string">&quot;runwayml/stable-diffusion-v1-5&quot;</span>
<span class="hljs-built_in">export</span> OUTPUT_DIR=<span class="hljs-string">&quot;path to save model&quot;</span>

accelerate launch --mixed_precision=<span class="hljs-string">&quot;fp16&quot;</span> --multi_gpu train_controlnet.py \\
 --pretrained_model_name_or_path=<span class="hljs-variable">$MODEL_DIR</span> \\
 --output_dir=<span class="hljs-variable">$OUTPUT_DIR</span> \\
 --dataset_name=fusing/fill50k \\
 --resolution=512 \\
 --learning_rate=1e-5 \\
 --validation_image <span class="hljs-string">&quot;./conditioning_image_1.png&quot;</span> <span class="hljs-string">&quot;./conditioning_image_2.png&quot;</span> \\
 --validation_prompt <span class="hljs-string">&quot;red circle with blue background&quot;</span> <span class="hljs-string">&quot;cyan circle with brown floral background&quot;</span> \\
 --train_batch_size=4 \\
 --mixed_precision=<span class="hljs-string">&quot;fp16&quot;</span> \\
 --tracker_project_name=<span class="hljs-string">&quot;controlnet-demo&quot;</span> \\
 --report_to=wandb \\
  --push_to_hub`}}),Fl=new Et({}),kl=new Et({}),Ol=new Et({}),tt=new v({props:{code:"ZXhwb3J0JTIwTU9ERUxfRElSJTNEJTIycnVud2F5bWwlMkZzdGFibGUtZGlmZnVzaW9uLXYxLTUlMjIlMEFleHBvcnQlMjBPVVRQVVRfRElSJTNEJTIycGF0aCUyMHRvJTIwc2F2ZSUyMG1vZGVsJTIyJTBBJTBBYWNjZWxlcmF0ZSUyMGxhdW5jaCUyMHRyYWluX2NvbnRyb2xuZXQucHklMjAlNUMlMEElMjAtLXByZXRyYWluZWRfbW9kZWxfbmFtZV9vcl9wYXRoJTNEJTI0TU9ERUxfRElSJTIwJTVDJTBBJTIwLS1vdXRwdXRfZGlyJTNEJTI0T1VUUFVUX0RJUiUyMCU1QyUwQSUyMC0tZGF0YXNldF9uYW1lJTNEZnVzaW5nJTJGZmlsbDUwayUyMCU1QyUwQSUyMC0tcmVzb2x1dGlvbiUzRDUxMiUyMCU1QyUwQSUyMC0tbGVhcm5pbmdfcmF0ZSUzRDFlLTUlMjAlNUMlMEElMjAtLXZhbGlkYXRpb25faW1hZ2UlMjAlMjIuJTJGY29uZGl0aW9uaW5nX2ltYWdlXzEucG5nJTIyJTIwJTIyLiUyRmNvbmRpdGlvbmluZ19pbWFnZV8yLnBuZyUyMiUyMCU1QyUwQSUyMC0tdmFsaWRhdGlvbl9wcm9tcHQlMjAlMjJyZWQlMjBjaXJjbGUlMjB3aXRoJTIwYmx1ZSUyMGJhY2tncm91bmQlMjIlMjAlMjJjeWFuJTIwY2lyY2xlJTIwd2l0aCUyMGJyb3duJTIwZmxvcmFsJTIwYmFja2dyb3VuZCUyMiUyMCU1QyUwQSUyMC0tdHJhaW5fYmF0Y2hfc2l6ZSUzRDElMjAlNUMlMEElMjAtLWdyYWRpZW50X2FjY3VtdWxhdGlvbl9zdGVwcyUzRDQlMjAlNUMlMEElMjAtLWdyYWRpZW50X2NoZWNrcG9pbnRpbmclMjAlNUMlMEElMjAtLXVzZV84Yml0X2FkYW0lMjAlNUMlMEElMjAlMjAtLXB1c2hfdG9faHVi",highlighted:`<span class="hljs-built_in">export</span> MODEL_DIR=<span class="hljs-string">&quot;runwayml/stable-diffusion-v1-5&quot;</span>
<span class="hljs-built_in">export</span> OUTPUT_DIR=<span class="hljs-string">&quot;path to save model&quot;</span>

accelerate launch train_controlnet.py \\
 --pretrained_model_name_or_path=<span class="hljs-variable">$MODEL_DIR</span> \\
 --output_dir=<span class="hljs-variable">$OUTPUT_DIR</span> \\
 --dataset_name=fusing/fill50k \\
 --resolution=512 \\
 --learning_rate=1e-5 \\
 --validation_image <span class="hljs-string">&quot;./conditioning_image_1.png&quot;</span> <span class="hljs-string">&quot;./conditioning_image_2.png&quot;</span> \\
 --validation_prompt <span class="hljs-string">&quot;red circle with blue background&quot;</span> <span class="hljs-string">&quot;cyan circle with brown floral background&quot;</span> \\
 --train_batch_size=1 \\
 --gradient_accumulation_steps=4 \\
 --gradient_checkpointing \\
 --use_8bit_adam \\
  --push_to_hub`}}),et=new Et({}),ot=new v({props:{code:"ZXhwb3J0JTIwTU9ERUxfRElSJTNEJTIycnVud2F5bWwlMkZzdGFibGUtZGlmZnVzaW9uLXYxLTUlMjIlMEFleHBvcnQlMjBPVVRQVVRfRElSJTNEJTIycGF0aCUyMHRvJTIwc2F2ZSUyMG1vZGVsJTIyJTBBJTBBYWNjZWxlcmF0ZSUyMGxhdW5jaCUyMHRyYWluX2NvbnRyb2xuZXQucHklMjAlNUMlMEElMjAtLXByZXRyYWluZWRfbW9kZWxfbmFtZV9vcl9wYXRoJTNEJTI0TU9ERUxfRElSJTIwJTVDJTBBJTIwLS1vdXRwdXRfZGlyJTNEJTI0T1VUUFVUX0RJUiUyMCU1QyUwQSUyMC0tZGF0YXNldF9uYW1lJTNEZnVzaW5nJTJGZmlsbDUwayUyMCU1QyUwQSUyMC0tcmVzb2x1dGlvbiUzRDUxMiUyMCU1QyUwQSUyMC0tbGVhcm5pbmdfcmF0ZSUzRDFlLTUlMjAlNUMlMEElMjAtLXZhbGlkYXRpb25faW1hZ2UlMjAlMjIuJTJGY29uZGl0aW9uaW5nX2ltYWdlXzEucG5nJTIyJTIwJTIyLiUyRmNvbmRpdGlvbmluZ19pbWFnZV8yLnBuZyUyMiUyMCU1QyUwQSUyMC0tdmFsaWRhdGlvbl9wcm9tcHQlMjAlMjJyZWQlMjBjaXJjbGUlMjB3aXRoJTIwYmx1ZSUyMGJhY2tncm91bmQlMjIlMjAlMjJjeWFuJTIwY2lyY2xlJTIwd2l0aCUyMGJyb3duJTIwZmxvcmFsJTIwYmFja2dyb3VuZCUyMiUyMCU1QyUwQSUyMC0tdHJhaW5fYmF0Y2hfc2l6ZSUzRDElMjAlNUMlMEElMjAtLWdyYWRpZW50X2FjY3VtdWxhdGlvbl9zdGVwcyUzRDQlMjAlNUMlMEElMjAtLWdyYWRpZW50X2NoZWNrcG9pbnRpbmclMjAlNUMlMEElMjAtLXVzZV84Yml0X2FkYW0lMjAlNUMlMEElMjAtLWVuYWJsZV94Zm9ybWVyc19tZW1vcnlfZWZmaWNpZW50X2F0dGVudGlvbiUyMCU1QyUwQSUyMC0tc2V0X2dyYWRzX3RvX25vbmUlMjAlNUMlMEElMjAlMjAtLXB1c2hfdG9faHVi",highlighted:`<span class="hljs-built_in">export</span> MODEL_DIR=<span class="hljs-string">&quot;runwayml/stable-diffusion-v1-5&quot;</span>
<span class="hljs-built_in">export</span> OUTPUT_DIR=<span class="hljs-string">&quot;path to save model&quot;</span>

accelerate launch train_controlnet.py \\
 --pretrained_model_name_or_path=<span class="hljs-variable">$MODEL_DIR</span> \\
 --output_dir=<span class="hljs-variable">$OUTPUT_DIR</span> \\
 --dataset_name=fusing/fill50k \\
 --resolution=512 \\
 --learning_rate=1e-5 \\
 --validation_image <span class="hljs-string">&quot;./conditioning_image_1.png&quot;</span> <span class="hljs-string">&quot;./conditioning_image_2.png&quot;</span> \\
 --validation_prompt <span class="hljs-string">&quot;red circle with blue background&quot;</span> <span class="hljs-string">&quot;cyan circle with brown floral background&quot;</span> \\
 --train_batch_size=1 \\
 --gradient_accumulation_steps=4 \\
 --gradient_checkpointing \\
 --use_8bit_adam \\
 --enable_xformers_memory_efficient_attention \\
 --set_grads_to_none \\
  --push_to_hub`}}),nt=new Et({}),Ut=new v({props:{code:"Y29tcHV0ZV9lbnZpcm9ubWVudCUzQSUyMExPQ0FMX01BQ0hJTkUlMEFkZWVwc3BlZWRfY29uZmlnJTNBJTBBJTIwJTIwZ3JhZGllbnRfYWNjdW11bGF0aW9uX3N0ZXBzJTNBJTIwNCUwQSUyMCUyMG9mZmxvYWRfb3B0aW1pemVyX2RldmljZSUzQSUyMGNwdSUwQSUyMCUyMG9mZmxvYWRfcGFyYW1fZGV2aWNlJTNBJTIwY3B1JTBBJTIwJTIwemVybzNfaW5pdF9mbGFnJTNBJTIwZmFsc2UlMEElMjAlMjB6ZXJvX3N0YWdlJTNBJTIwMiUwQWRpc3RyaWJ1dGVkX3R5cGUlM0ElMjBERUVQU1BFRUQ=",highlighted:`<span class="hljs-attr">compute_environment:</span> <span class="hljs-string">LOCAL_MACHINE</span>
<span class="hljs-attr">deepspeed_config:</span>
  <span class="hljs-attr">gradient_accumulation_steps:</span> <span class="hljs-number">4</span>
  <span class="hljs-attr">offload_optimizer_device:</span> <span class="hljs-string">cpu</span>
  <span class="hljs-attr">offload_param_device:</span> <span class="hljs-string">cpu</span>
  <span class="hljs-attr">zero3_init_flag:</span> <span class="hljs-literal">false</span>
  <span class="hljs-attr">zero_stage:</span> <span class="hljs-number">2</span>
<span class="hljs-attr">distributed_type:</span> <span class="hljs-string">DEEPSPEED</span>`}}),Mt=new v({props:{code:"ZXhwb3J0JTIwTU9ERUxfRElSJTNEJTIycnVud2F5bWwlMkZzdGFibGUtZGlmZnVzaW9uLXYxLTUlMjIlMEFleHBvcnQlMjBPVVRQVVRfRElSJTNEJTIycGF0aCUyMHRvJTIwc2F2ZSUyMG1vZGVsJTIyJTBBJTBBYWNjZWxlcmF0ZSUyMGxhdW5jaCUyMHRyYWluX2NvbnRyb2xuZXQucHklMjAlNUMlMEElMjAtLXByZXRyYWluZWRfbW9kZWxfbmFtZV9vcl9wYXRoJTNEJTI0TU9ERUxfRElSJTIwJTVDJTBBJTIwLS1vdXRwdXRfZGlyJTNEJTI0T1VUUFVUX0RJUiUyMCU1QyUwQSUyMC0tZGF0YXNldF9uYW1lJTNEZnVzaW5nJTJGZmlsbDUwayUyMCU1QyUwQSUyMC0tcmVzb2x1dGlvbiUzRDUxMiUyMCU1QyUwQSUyMC0tdmFsaWRhdGlvbl9pbWFnZSUyMCUyMi4lMkZjb25kaXRpb25pbmdfaW1hZ2VfMS5wbmclMjIlMjAlMjIuJTJGY29uZGl0aW9uaW5nX2ltYWdlXzIucG5nJTIyJTIwJTVDJTBBJTIwLS12YWxpZGF0aW9uX3Byb21wdCUyMCUyMnJlZCUyMGNpcmNsZSUyMHdpdGglMjBibHVlJTIwYmFja2dyb3VuZCUyMiUyMCUyMmN5YW4lMjBjaXJjbGUlMjB3aXRoJTIwYnJvd24lMjBmbG9yYWwlMjBiYWNrZ3JvdW5kJTIyJTIwJTVDJTBBJTIwLS10cmFpbl9iYXRjaF9zaXplJTNEMSUyMCU1QyUwQSUyMC0tZ3JhZGllbnRfYWNjdW11bGF0aW9uX3N0ZXBzJTNENCUyMCU1QyUwQSUyMC0tZ3JhZGllbnRfY2hlY2twb2ludGluZyUyMCU1QyUwQSUyMC0tZW5hYmxlX3hmb3JtZXJzX21lbW9yeV9lZmZpY2llbnRfYXR0ZW50aW9uJTIwJTVDJTBBJTIwLS1zZXRfZ3JhZHNfdG9fbm9uZSUyMCU1QyUwQSUyMC0tbWl4ZWRfcHJlY2lzaW9uJTIwZnAxNiUyMCU1QyUwQSUyMC0tcHVzaF90b19odWI=",highlighted:`<span class="hljs-built_in">export</span> MODEL_DIR=<span class="hljs-string">&quot;runwayml/stable-diffusion-v1-5&quot;</span>
<span class="hljs-built_in">export</span> OUTPUT_DIR=<span class="hljs-string">&quot;path to save model&quot;</span>

accelerate launch train_controlnet.py \\
 --pretrained_model_name_or_path=<span class="hljs-variable">$MODEL_DIR</span> \\
 --output_dir=<span class="hljs-variable">$OUTPUT_DIR</span> \\
 --dataset_name=fusing/fill50k \\
 --resolution=512 \\
 --validation_image <span class="hljs-string">&quot;./conditioning_image_1.png&quot;</span> <span class="hljs-string">&quot;./conditioning_image_2.png&quot;</span> \\
 --validation_prompt <span class="hljs-string">&quot;red circle with blue background&quot;</span> <span class="hljs-string">&quot;cyan circle with brown floral background&quot;</span> \\
 --train_batch_size=1 \\
 --gradient_accumulation_steps=4 \\
 --gradient_checkpointing \\
 --enable_xformers_memory_efficient_attention \\
 --set_grads_to_none \\
 --mixed_precision fp16 \\
 --push_to_hub`}}),bt=new v({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMFN0YWJsZURpZmZ1c2lvbkNvbnRyb2xOZXRQaXBlbGluZSUyQyUyMENvbnRyb2xOZXRNb2RlbCUyQyUyMFVuaVBDTXVsdGlzdGVwU2NoZWR1bGVyJTBBZnJvbSUyMGRpZmZ1c2Vycy51dGlscyUyMGltcG9ydCUyMGxvYWRfaW1hZ2UlMEFpbXBvcnQlMjB0b3JjaCUwQSUwQWJhc2VfbW9kZWxfcGF0aCUyMCUzRCUyMCUyMnBhdGglMjB0byUyMG1vZGVsJTIyJTBBY29udHJvbG5ldF9wYXRoJTIwJTNEJTIwJTIycGF0aCUyMHRvJTIwY29udHJvbG5ldCUyMiUwQSUwQWNvbnRyb2xuZXQlMjAlM0QlMjBDb250cm9sTmV0TW9kZWwuZnJvbV9wcmV0cmFpbmVkKGNvbnRyb2xuZXRfcGF0aCUyQyUyMHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiklMEFwaXBlJTIwJTNEJTIwU3RhYmxlRGlmZnVzaW9uQ29udHJvbE5ldFBpcGVsaW5lLmZyb21fcHJldHJhaW5lZCglMEElMjAlMjAlMjAlMjBiYXNlX21vZGVsX3BhdGglMkMlMjBjb250cm9sbmV0JTNEY29udHJvbG5ldCUyQyUyMHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiUwQSklMEElMEElMjMlMjAlRUIlOEQlOTQlMjAlRUIlQjklQTAlRUIlQTUlQjglMjAlRUMlOEElQTQlRUMlQkMlODAlRUMlQTQlODQlRUIlOUYlQUMlRUMlOTklODAlMjAlRUIlQTklOTQlRUIlQUElQTglRUIlQTYlQUMlMjAlRUMlQjUlOUMlRUMlQTAlODElRUQlOTklOTQlRUIlQTElOUMlMjBkaWZmdXNpb24lMjAlRUQlOTQlODQlRUIlQTElOUMlRUMlODQlQjglRUMlOEElQTQlMjAlRUMlODYlOEQlRUIlOEYlODQlMjAlRUMlOTglQUMlRUIlQTYlQUMlRUElQjglQjAlMEFwaXBlLnNjaGVkdWxlciUyMCUzRCUyMFVuaVBDTXVsdGlzdGVwU2NoZWR1bGVyLmZyb21fY29uZmlnKHBpcGUuc2NoZWR1bGVyLmNvbmZpZyklMEElMjMlMjB4Zm9ybWVycyVFQSVCMCU4MCUyMCVFQyU4NCVBNCVFQyVCOSU5OCVFQiU5MCU5OCVFQyVBNyU4MCUyMCVFQyU5NSU4QSVFQyU5QyVCQyVFQiVBOSVCNCUyMCVFQyU5NSU4NCVFQiU5RSU5OCUyMCVFQyVBNCU4NCVFQyU5RCU4NCUyMCVFQyU4MiVBRCVFQyVBMCU5QyVFRCU5NSU5OCVFQSVCOCVCMCUwQXBpcGUuZW5hYmxlX3hmb3JtZXJzX21lbW9yeV9lZmZpY2llbnRfYXR0ZW50aW9uKCklMEElMEFwaXBlLmVuYWJsZV9tb2RlbF9jcHVfb2ZmbG9hZCgpJTBBJTBBY29udHJvbF9pbWFnZSUyMCUzRCUyMGxvYWRfaW1hZ2UoJTIyLiUyRmNvbmRpdGlvbmluZ19pbWFnZV8xLnBuZyUyMiklMEFwcm9tcHQlMjAlM0QlMjAlMjJwYWxlJTIwZ29sZGVuJTIwcm9kJTIwY2lyY2xlJTIwd2l0aCUyMG9sZCUyMGxhY2UlMjBiYWNrZ3JvdW5kJTIyJTBBJTBBJTIzJTIwJUVDJTlEJUI0JUVCJUFGJUI4JUVDJUE3JTgwJTIwJUVDJTgzJTlEJUVDJTg0JUIxJUVEJTk1JTk4JUVBJUI4JUIwJTBBZ2VuZXJhdG9yJTIwJTNEJTIwdG9yY2gubWFudWFsX3NlZWQoMCklMEFpbWFnZSUyMCUzRCUyMHBpcGUocHJvbXB0JTJDJTIwbnVtX2luZmVyZW5jZV9zdGVwcyUzRDIwJTJDJTIwZ2VuZXJhdG9yJTNEZ2VuZXJhdG9yJTJDJTIwaW1hZ2UlM0Rjb250cm9sX2ltYWdlKS5pbWFnZXMlNUIwJTVEJTBBJTBBaW1hZ2Uuc2F2ZSglMjIuJTJGb3V0cHV0LnBuZyUyMik=",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> StableDiffusionControlNetPipeline, ControlNetModel, UniPCMultistepScheduler
<span class="hljs-keyword">from</span> diffusers.utils <span class="hljs-keyword">import</span> load_image
<span class="hljs-keyword">import</span> torch

base_model_path = <span class="hljs-string">&quot;path to model&quot;</span>
controlnet_path = <span class="hljs-string">&quot;path to controlnet&quot;</span>

controlnet = ControlNetModel.from_pretrained(controlnet_path, torch_dtype=torch.float16)
pipe = StableDiffusionControlNetPipeline.from_pretrained(
    base_model_path, controlnet=controlnet, torch_dtype=torch.float16
)

<span class="hljs-comment"># \uB354 \uBE60\uB978 \uC2A4\uCF00\uC904\uB7EC\uC640 \uBA54\uBAA8\uB9AC \uCD5C\uC801\uD654\uB85C diffusion \uD504\uB85C\uC138\uC2A4 \uC18D\uB3C4 \uC62C\uB9AC\uAE30</span>
pipe.scheduler = UniPCMultistepScheduler.from_config(pipe.scheduler.config)
<span class="hljs-comment"># xformers\uAC00 \uC124\uCE58\uB418\uC9C0 \uC54A\uC73C\uBA74 \uC544\uB798 \uC904\uC744 \uC0AD\uC81C\uD558\uAE30</span>
pipe.enable_xformers_memory_efficient_attention()

pipe.enable_model_cpu_offload()

control_image = load_image(<span class="hljs-string">&quot;./conditioning_image_1.png&quot;</span>)
prompt = <span class="hljs-string">&quot;pale golden rod circle with old lace background&quot;</span>

<span class="hljs-comment"># \uC774\uBBF8\uC9C0 \uC0DD\uC131\uD558\uAE30</span>
generator = torch.manual_seed(<span class="hljs-number">0</span>)
image = pipe(prompt, num_inference_steps=<span class="hljs-number">20</span>, generator=generator, image=control_image).images[<span class="hljs-number">0</span>]

image.save(<span class="hljs-string">&quot;./output.png&quot;</span>)`}}),{c(){y=a("meta"),S=f(),T=a("h1"),E=a("a"),ne=a("span"),d(fl.$$.fragment),Os=f(),pe=a("span"),Ks=o("ControlNet"),sa=f(),cl=a("p"),ul=a("a"),lr=o("Adding Conditional Control to Text-to-Image Diffusion Models"),tr=o(" (ControlNet)\uC740 Lvmin Zhang\uACFC Maneesh Agrawala\uC5D0 \uC758\uD574 \uC4F0\uC5EC\uC84C\uC2B5\uB2C8\uB2E4."),ra=f(),V=a("p"),er=o("\uC774 \uC608\uC2DC\uB294 "),dl=a("a"),ar=o("\uC6D0\uBCF8 ControlNet \uB9AC\uD3EC\uC9C0\uD1A0\uB9AC\uC5D0\uC11C \uC608\uC2DC \uD559\uC2B5\uD558\uAE30"),sr=o("\uC5D0 \uAE30\uBC18\uD569\uB2C8\uB2E4. ControlNet\uC740 \uC6D0\uB4E4\uC744 \uCC44\uC6B0\uAE30 \uC704\uD574 "),ml=a("a"),rr=o("small synthetic dataset"),ir=o("\uC744 \uC0AC\uC6A9\uD574\uC11C \uD559\uC2B5\uB429\uB2C8\uB2E4."),ia=f(),Ul=a("h2"),or=o("\uC758\uC874\uC131 \uC124\uCE58\uD558\uAE30"),oa=f(),wt=a("p"),nr=o("\uC544\uB798\uC758 \uC2A4\uD06C\uB9BD\uD2B8\uB97C \uC2E4\uD589\uD558\uAE30 \uC804\uC5D0, \uB77C\uC774\uBE0C\uB7EC\uB9AC\uC758 \uD559\uC2B5 \uC758\uC874\uC131\uC744 \uC124\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4."),na=f(),d(D.$$.fragment),pa=f(),Zt=a("p"),pr=o("\uC704 \uC0AC\uD56D\uC744 \uB9CC\uC871\uC2DC\uD0A4\uAE30 \uC704\uD574\uC11C, \uC0C8\uB85C\uC6B4 \uAC00\uC0C1\uD658\uACBD\uC5D0\uC11C \uB2E4\uC74C \uC77C\uB828\uC758 \uC2A4\uD15D\uC744 \uC2E4\uD589\uD558\uC138\uC694:"),fa=f(),d(hl.$$.fragment),ca=f(),A=a("p"),fr=o("\uADF8 \uB2E4\uC74C\uC5D0\uB294 "),_l=a("a"),cr=o("\uC608\uC2DC \uD3F4\uB354"),ur=o("\uC73C\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4."),ua=f(),d(Ml.$$.fragment),da=f(),gt=a("p"),dr=o("\uC774\uC81C \uC2E4\uD589\uD558\uC138\uC694:"),ma=f(),d(yl.$$.fragment),Ua=f(),bl=a("p"),Jl=a("a"),mr=o("\u{1F917}Accelerate"),Ur=o(" \uD658\uACBD\uC744 \uCD08\uAE30\uD654 \uD569\uB2C8\uB2E4:"),ha=f(),d(Tl.$$.fragment),_a=f(),jt=a("p"),hr=o("\uD639\uC740 \uC5EC\uB7EC\uBD84\uC758 \uD658\uACBD\uC774 \uBB34\uC5C7\uC778\uC9C0 \uBAB0\uB77C\uB3C4 \uAE30\uBCF8\uC801\uC778 \u{1F917}Accelerate \uAD6C\uC131\uC73C\uB85C \uCD08\uAE30\uD654\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4:"),Ma=f(),d(vl.$$.fragment),ya=f(),Rt=a("p"),_r=o("\uD639\uC740 \uB2F9\uC2E0\uC758 \uD658\uACBD\uC774 \uB178\uD2B8\uBD81 \uAC19\uC740 \uC0C1\uD638\uC791\uC6A9\uD558\uB294 \uC258\uC744 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294\uB2E4\uBA74, \uC544\uB798\uC758 \uCF54\uB4DC\uB85C \uCD08\uAE30\uD654 \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4:"),ba=f(),d(El.$$.fragment),Ja=f(),wl=a("h2"),Mr=o("\uC6D0\uC744 \uCC44\uC6B0\uB294 \uB370\uC774\uD130\uC14B"),Ta=f(),C=a("p"),yr=o("\uC6D0\uBCF8 \uB370\uC774\uD130\uC14B\uC740 ControlNet "),Zl=a("a"),br=o("repo"),Jr=o("\uC5D0 \uC62C\uB77C\uC640\uC788\uC9C0\uB9CC, \uC6B0\uB9AC\uB294 "),gl=a("a"),Tr=o("\uC5EC\uAE30"),vr=o("\uC5D0 \uC0C8\uB86D\uAC8C \uB2E4\uC2DC \uC62C\uB824\uC11C \u{1F917} Datasets \uACFC \uD638\uD658\uAC00\uB2A5\uD569\uB2C8\uB2E4. \uADF8\uB798\uC11C \uD559\uC2B5 \uC2A4\uD06C\uB9BD\uD2B8 \uC0C1\uC5D0\uC11C \uB370\uC774\uD130 \uBD88\uB7EC\uC624\uAE30\uB97C \uB2E4\uB8F0 \uC218 \uC788\uC2B5\uB2C8\uB2E4."),va=f(),w=a("p"),Er=o("\uC6B0\uB9AC\uC758 \uD559\uC2B5 \uC608\uC2DC\uB294 \uC6D0\uB798 ControlNet\uC758 \uD559\uC2B5\uC5D0 \uC4F0\uC600\uB358 "),jl=a("a"),fe=a("code"),wr=o("runwayml/stable-diffusion-v1-5"),Zr=o("\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4. \uADF8\uB807\uC9C0\uB9CC ControlNet\uC740 \uB300\uC751\uB418\uB294 \uC5B4\uB290 Stable Diffusion \uBAA8\uB378("),Rl=a("a"),ce=a("code"),gr=o("CompVis/stable-diffusion-v1-4"),jr=o(") \uD639\uC740 "),Gl=a("a"),ue=a("code"),Rr=o("stabilityai/stable-diffusion-2-1"),Gr=o("\uC758 \uC99D\uAC00\uB97C \uC704\uD574 \uD559\uC2B5\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4."),Ea=f(),x=a("p"),Wr=o("\uC790\uCCB4 \uB370\uC774\uD130\uC14B\uC744 \uC0AC\uC6A9\uD558\uAE30 \uC704\uD574\uC11C\uB294 "),Gt=a("a"),Ir=o("\uD559\uC2B5\uC744 \uC704\uD55C \uB370\uC774\uD130\uC14B \uC0DD\uC131\uD558\uAE30"),Vr=o(" \uAC00\uC774\uB4DC\uB97C \uD655\uC778\uD558\uC138\uC694."),wa=f(),Wl=a("h2"),Cr=o("\uD559\uC2B5"),Za=f(),Wt=a("p"),Nr=o("\uC774 \uD559\uC2B5\uC5D0 \uC0AC\uC6A9\uB420 \uB2E4\uC74C \uC774\uBBF8\uC9C0\uB4E4\uC744 \uB2E4\uC6B4\uB85C\uB4DC\uD558\uC138\uC694:"),ga=f(),d(Il.$$.fragment),ja=f(),N=a("p"),de=a("code"),Br=o("MODEL_NAME"),$r=o(" \uD658\uACBD \uBCC0\uC218 (Hub \uBAA8\uB378 \uB9AC\uD3EC\uC9C0\uD1A0\uB9AC \uC544\uC774\uB514 \uD639\uC740 \uBAA8\uB378 \uAC00\uC911\uCE58\uAC00 \uC788\uB294 \uB514\uB809\uD1A0\uB9AC\uB85C \uAC00\uB294 \uC8FC\uC18C)\uB97C \uBA85\uC2DC\uD558\uACE0 "),Vl=a("a"),me=a("code"),Qr=o("pretrained_model_name_or_path"),Xr=o(" \uC778\uC790\uB85C \uD658\uACBD\uBCC0\uC218\uB97C \uBCF4\uB0C5\uB2C8\uB2E4."),Ra=f(),k=a("p"),Fr=o("\uD559\uC2B5 \uC2A4\uD06C\uB9BD\uD2B8\uB294 \uB2F9\uC2E0\uC758 \uB9AC\uD3EC\uC9C0\uD1A0\uB9AC\uC5D0 "),Ue=a("code"),Yr=o("diffusion_pytorch_model.bin"),Sr=o(" \uD30C\uC77C\uC744 \uC0DD\uC131\uD558\uACE0 \uC800\uC7A5\uD569\uB2C8\uB2E4."),Ga=f(),d(Cl.$$.fragment),Wa=f(),It=a("p"),Dr=o("\uC774 \uAE30\uBCF8\uC801\uC778 \uC124\uC815\uC73C\uB85C\uB294 ~38GB VRAM\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."),Ia=f(),z=a("p"),Ar=o("\uAE30\uBCF8\uC801\uC73C\uB85C \uD559\uC2B5 \uC2A4\uD06C\uB9BD\uD2B8\uB294 \uACB0\uACFC\uB97C \uD150\uC11C\uBCF4\uB4DC\uC5D0 \uAE30\uB85D\uD569\uB2C8\uB2E4. \uAC00\uC911\uCE58(weight)\uC640 \uD3B8\uD5A5(bias)\uC744 \uC0AC\uC6A9\uD558\uAE30 \uC704\uD574 "),he=a("code"),xr=o("--report_to wandb"),kr=o(" \uB97C \uC804\uB2EC\uD569\uB2C8\uB2E4."),Va=f(),Vt=a("p"),zr=o("\uB354 \uC791\uC740 batch(\uBC30\uCE58) \uD06C\uAE30\uB85C gradient accumulation(\uAE30\uC6B8\uAE30 \uB204\uC801)\uC744 \uD558\uBA74 \uD559\uC2B5 \uC694\uAD6C\uC0AC\uD56D\uC744 ~20 GB VRAM\uC73C\uB85C \uC904\uC77C \uC218 \uC788\uC2B5\uB2C8\uB2E4."),Ca=f(),d(Nl.$$.fragment),Na=f(),B=a("h2"),L=a("a"),_e=a("span"),d(Bl.$$.fragment),Lr=f(),Me=a("span"),Pr=o("\uC5EC\uB7EC\uAC1C GPU\uB85C \uD559\uC2B5\uD558\uAE30"),Ba=f(),R=a("p"),ye=a("code"),Hr=o("accelerate"),qr=o(" \uC740 seamless multi-GPU \uD559\uC2B5\uC744 \uACE0\uB824\uD569\uB2C8\uB2E4. "),be=a("code"),Or=o("accelerate"),Kr=o("\uACFC \uD568\uAED8 \uBD84\uC0B0\uB41C \uD559\uC2B5\uC744 \uC2E4\uD589\uD558\uAE30 \uC704\uD574 "),$l=a("a"),li=o("\uC5EC\uAE30"),ti=o(`
\uC758 \uC124\uBA85\uC744 \uD655\uC778\uD558\uC138\uC694. \uC544\uB798\uB294 \uC608\uC2DC \uBA85\uB839\uC5B4\uC785\uB2C8\uB2E4:`),$a=f(),d(Ql.$$.fragment),Qa=f(),Xl=a("h2"),ei=o("\uC608\uC2DC \uACB0\uACFC"),Xa=f(),$=a("h4"),P=a("a"),Je=a("span"),d(Fl.$$.fragment),ai=f(),Te=a("span"),si=o("\uBC30\uCE58 \uC0AC\uC774\uC988 8\uB85C 300 \uC2A4\uD15D \uC774\uD6C4:"),Fa=f(),H=a("table"),ve=a("thead"),Yl=a("tr"),Ya=a("th"),ri=f(),Ee=a("th"),ii=f(),G=a("tbody"),Sl=a("tr"),Sa=a("td"),oi=f(),Ct=a("td"),ni=o("\uD478\uB978 \uBC30\uACBD\uACFC \uBE68\uAC04 \uC6D0"),pi=f(),Dl=a("tr"),we=a("td"),Nt=a("img"),fi=f(),Bt=a("td"),$t=a("img"),ci=f(),Al=a("tr"),Da=a("td"),ui=f(),Qt=a("td"),di=o("\uAC08\uC0C9 \uAF43 \uBC30\uACBD\uACFC \uCCAD\uB85D\uC0C9 \uC6D0"),mi=f(),xl=a("tr"),Ze=a("td"),Xt=a("img"),Ui=f(),Ft=a("td"),Yt=a("img"),Aa=f(),Q=a("h4"),q=a("a"),ge=a("span"),d(kl.$$.fragment),hi=f(),je=a("span"),_i=o("\uBC30\uCE58 \uC0AC\uC774\uC988 8\uB85C 6000 \uC2A4\uD15D \uC774\uD6C4:"),xa=f(),O=a("table"),Re=a("thead"),zl=a("tr"),ka=a("th"),Mi=f(),Ge=a("th"),yi=f(),W=a("tbody"),Ll=a("tr"),za=a("td"),bi=f(),St=a("td"),Ji=o("\uD478\uB978 \uBC30\uACBD\uACFC \uBE68\uAC04 \uC6D0"),Ti=f(),Pl=a("tr"),We=a("td"),Dt=a("img"),vi=f(),At=a("td"),xt=a("img"),Ei=f(),Hl=a("tr"),La=a("td"),wi=f(),kt=a("td"),Zi=o("\uAC08\uC0C9 \uAF43 \uBC30\uACBD\uACFC \uCCAD\uB85D\uC0C9 \uC6D0"),gi=f(),ql=a("tr"),Ie=a("td"),zt=a("img"),ji=f(),Lt=a("td"),Pt=a("img"),Pa=f(),X=a("h2"),K=a("a"),Ve=a("span"),d(Ol.$$.fragment),Ri=f(),Ce=a("span"),Gi=o("16GB GPU\uC5D0\uC11C \uD559\uC2B5\uD558\uAE30"),Ha=f(),Ht=a("p"),Wi=o("16GB GPU\uC5D0\uC11C \uD559\uC2B5\uD558\uAE30 \uC704\uD574 \uB2E4\uC74C\uC758 \uCD5C\uC801\uD654\uB97C \uC9C4\uD589\uD558\uC138\uC694:"),qa=f(),ll=a("ul"),Ne=a("li"),Ii=o("\uAE30\uC6B8\uAE30 \uCCB4\uD06C\uD3EC\uC778\uD2B8 \uC800\uC7A5\uD558\uAE30"),Vi=f(),Kl=a("li"),Ci=o("bitsandbyte\uC758 "),lt=a("a"),Ni=o("8-bit optimizer"),Bi=o("\uAC00 \uC124\uCE58\uB418\uC9C0 \uC54A\uC558\uB2E4\uBA74 \uB9C1\uD06C\uC5D0 \uC5F0\uACB0\uB41C \uC124\uBA85\uC11C\uB97C \uBCF4\uC138\uC694."),Oa=f(),qt=a("p"),$i=o("\uC774\uC81C \uD559\uC2B5 \uC2A4\uD06C\uB9BD\uD2B8\uB97C \uC2DC\uC791\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4:"),Ka=f(),d(tt.$$.fragment),ls=f(),F=a("h2"),tl=a("a"),Be=a("span"),d(et.$$.fragment),Qi=f(),$e=a("span"),Xi=o("12GB GPU\uC5D0\uC11C \uD559\uC2B5\uD558\uAE30"),ts=f(),Ot=a("p"),Fi=o("12GB GPU\uC5D0\uC11C \uC2E4\uD589\uD558\uAE30 \uC704\uD574 \uB2E4\uC74C\uC758 \uCD5C\uC801\uD654\uB97C \uC9C4\uD589\uD558\uC138\uC694:"),es=f(),Z=a("ul"),Qe=a("li"),Yi=o("\uAE30\uC6B8\uAE30 \uCCB4\uD06C\uD3EC\uC778\uD2B8 \uC800\uC7A5\uD558\uAE30"),Si=f(),at=a("li"),Di=o("bitsandbyte\uC758 8-bit "),st=a("a"),Ai=o("optimizer"),xi=o("(\uAC00 \uC124\uCE58\uB418\uC9C0 \uC54A\uC558\uB2E4\uBA74 \uB9C1\uD06C\uC5D0 \uC5F0\uACB0\uB41C \uC124\uBA85\uC11C\uB97C \uBCF4\uC138\uC694)"),ki=f(),Kt=a("li"),rt=a("a"),zi=o("xFormers"),Li=o("(\uAC00 \uC124\uCE58\uB418\uC9C0 \uC54A\uC558\uB2E4\uBA74 \uB9C1\uD06C\uC5D0 \uC5F0\uACB0\uB41C \uC124\uBA85\uC11C\uB97C \uBCF4\uC138\uC694)"),Pi=f(),it=a("li"),Hi=o("\uAE30\uC6B8\uAE30\uB97C "),Xe=a("code"),qi=o("None"),Oi=o("\uC73C\uB85C \uC124\uC815"),as=f(),d(ot.$$.fragment),ss=f(),I=a("p"),Fe=a("code"),Ki=o("pip install xformers"),lo=o("\uC73C\uB85C "),Ye=a("code"),to=o("xformers"),eo=o("\uC744 \uD655\uC2E4\uD788 \uC124\uCE58\uD558\uACE0 "),Se=a("code"),ao=o("enable_xformers_memory_efficient_attention"),so=o("\uC744 \uC0AC\uC6A9\uD558\uC138\uC694."),rs=f(),Y=a("h2"),el=a("a"),De=a("span"),d(nt.$$.fragment),ro=f(),Ae=a("span"),io=o("8GB GPU\uC5D0\uC11C \uD559\uC2B5\uD558\uAE30"),is=f(),le=a("p"),oo=o(`\uC6B0\uB9AC\uB294 ControlNet\uC744 \uC9C0\uC6D0\uD558\uAE30 \uC704\uD55C DeepSpeed\uB97C \uCCA0\uC800\uD558\uAC8C \uD14C\uC2A4\uD2B8\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uD658\uACBD\uC124\uC815\uC774 \uBA54\uBAA8\uB9AC\uB97C \uC800\uC7A5\uD560 \uB54C,
\uADF8 \uD658\uACBD\uC774 \uC131\uACF5\uC801\uC73C\uB85C \uD559\uC2B5\uD588\uB294\uC9C0\uB97C \uD655\uC815\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uC131\uACF5\uD55C \uD559\uC2B5 \uC2E4\uD589\uC744 \uC704\uD574 \uC124\uC815\uC744 \uBCC0\uACBD\uD574\uC57C \uD560 \uAC00\uB2A5\uC131\uC774 \uB192\uC2B5\uB2C8\uB2E4.`),os=f(),te=a("p"),no=o("8GB GPU\uC5D0\uC11C \uC2E4\uD589\uD558\uAE30 \uC704\uD574 \uB2E4\uC74C\uC758 \uCD5C\uC801\uD654\uB97C \uC9C4\uD589\uD558\uC138\uC694:"),ns=f(),b=a("ul"),xe=a("li"),po=o("\uAE30\uC6B8\uAE30 \uCCB4\uD06C\uD3EC\uC778\uD2B8 \uC800\uC7A5\uD558\uAE30"),fo=f(),pt=a("li"),co=o("bitsandbyte\uC758 8-bit "),ft=a("a"),uo=o("optimizer"),mo=o("(\uAC00 \uC124\uCE58\uB418\uC9C0 \uC54A\uC558\uB2E4\uBA74 \uB9C1\uD06C\uC5D0 \uC5F0\uACB0\uB41C \uC124\uBA85\uC11C\uB97C \uBCF4\uC138\uC694)"),Uo=f(),ee=a("li"),ct=a("a"),ho=o("xFormers"),_o=o("(\uAC00 \uC124\uCE58\uB418\uC9C0 \uC54A\uC558\uB2E4\uBA74 \uB9C1\uD06C\uC5D0 \uC5F0\uACB0\uB41C \uC124\uBA85\uC11C\uB97C \uBCF4\uC138\uC694)"),Mo=f(),ut=a("li"),yo=o("\uAE30\uC6B8\uAE30\uB97C "),ke=a("code"),bo=o("None"),Jo=o("\uC73C\uB85C \uC124\uC815"),To=f(),ze=a("li"),vo=o("DeepSpeed stage 2 \uBCC0\uC218\uC640 optimizer \uC5C6\uC5D0\uAE30"),Eo=f(),Le=a("li"),wo=o("fp16 \uD63C\uD569 \uC815\uBC00\uB3C4(precision)"),ps=f(),dt=a("p"),mt=a("a"),Zo=o("DeepSpeed"),go=o(`\uB294 CPU \uB610\uB294 NVME\uB85C \uD150\uC11C\uB97C VRAM\uC5D0\uC11C \uC624\uD504\uB85C\uB4DC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
\uC774\uB97C \uC704\uD574\uC11C \uD6E8\uC52C \uB354 \uB9CE\uC740 RAM(\uC57D 25 GB)\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.`),fs=f(),al=a("p"),jo=o("DeepSpeed stage 2\uB97C \uD65C\uC131\uD654\uD558\uAE30 \uC704\uD574\uC11C "),Pe=a("code"),Ro=o("accelerate config"),Go=o("\uB85C \uD658\uACBD\uC744 \uAD6C\uC131\uD574\uC57C\uD569\uB2C8\uB2E4."),cs=f(),ae=a("p"),Wo=o("\uAD6C\uC131(configuration) \uD30C\uC77C\uC740 \uC774\uB7F0 \uBAA8\uC2B5\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4:"),us=f(),d(Ut.$$.fragment),ds=f(),se=a("p"),Io=o("<\uD301>"),ms=f(),ht=a("p"),_t=a("a"),Vo=o("\uBB38\uC11C"),Co=o("\uB97C \uB354 \uB9CE\uC740 DeepSpeed \uC124\uC815 \uC635\uC158\uC744 \uC704\uD574 \uBCF4\uC138\uC694."),Us=f(),re=a("p"),No=o("<\uD301>"),hs=f(),sl=a("p"),Bo=o(`\uAE30\uBCF8 Adam optimizer\uB97C DeepSpeed\u2019\uC758 Adam
`),He=a("code"),$o=o("deepspeed.ops.adam.DeepSpeedCPUAdam"),Qo=o(` \uC73C\uB85C \uBC14\uAFB8\uBA74 \uC0C1\uB2F9\uD55C \uC18D\uB3C4 \uD5A5\uC0C1\uC744 \uC774\uB8F0\uC218 \uC788\uC9C0\uB9CC,
Pytorch\uC640 \uAC19\uC740 \uBC84\uC804\uC758 CUDA toolchain\uC774 \uD544\uC694\uD569\uB2C8\uB2E4. 8-\uBE44\uD2B8 optimizer\uB294 \uD604\uC7AC DeepSpeed\uC640
\uD638\uD658\uB418\uC9C0 \uC54A\uB294 \uAC83 \uAC19\uC2B5\uB2C8\uB2E4.`),_s=f(),d(Mt.$$.fragment),Ms=f(),yt=a("h2"),Xo=o("\uCD94\uB860"),ys=f(),J=a("p"),Fo=o("\uD559\uC2B5\uB41C \uBAA8\uB378\uC740 "),qe=a("code"),Yo=o("StableDiffusionControlNetPipeline"),So=o(`\uACFC \uD568\uAED8 \uC2E4\uD589\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
`),Oe=a("code"),Do=o("base_model_path"),Ao=o("\uC640 "),Ke=a("code"),xo=o("controlnet_path"),ko=o(" \uC5D0 \uAC12\uC744 \uC9C0\uC815\uD558\uC138\uC694 "),la=a("code"),zo=o("--pretrained_model_name_or_path"),Lo=o(` \uC640
`),ta=a("code"),Po=o("--output_dir"),Ho=o(" \uB294 \uD559\uC2B5 \uC2A4\uD06C\uB9BD\uD2B8\uC5D0 \uAC1C\uBCC4\uC801\uC73C\uB85C \uC9C0\uC815\uB429\uB2C8\uB2E4."),bs=f(),d(bt.$$.fragment),this.h()},l(l){const i=ff('[data-svelte="svelte-1phssyn"]',document.head);y=s(i,"META",{name:!0,content:!0}),i.forEach(e),S=c(l),T=s(l,"H1",{class:!0});var Jt=r(T);E=s(Jt,"A",{id:!0,class:!0,href:!0});var un=r(E);ne=s(un,"SPAN",{});var dn=r(ne);m(fl.$$.fragment,dn),dn.forEach(e),un.forEach(e),Os=c(Jt),pe=s(Jt,"SPAN",{});var mn=r(pe);Ks=n(mn,"ControlNet"),mn.forEach(e),Jt.forEach(e),sa=c(l),cl=s(l,"P",{});var qo=r(cl);ul=s(qo,"A",{href:!0,rel:!0});var Un=r(ul);lr=n(Un,"Adding Conditional Control to Text-to-Image Diffusion Models"),Un.forEach(e),tr=n(qo," (ControlNet)\uC740 Lvmin Zhang\uACFC Maneesh Agrawala\uC5D0 \uC758\uD574 \uC4F0\uC5EC\uC84C\uC2B5\uB2C8\uB2E4."),qo.forEach(e),ra=c(l),V=s(l,"P",{});var ie=r(V);er=n(ie,"\uC774 \uC608\uC2DC\uB294 "),dl=s(ie,"A",{href:!0,rel:!0});var hn=r(dl);ar=n(hn,"\uC6D0\uBCF8 ControlNet \uB9AC\uD3EC\uC9C0\uD1A0\uB9AC\uC5D0\uC11C \uC608\uC2DC \uD559\uC2B5\uD558\uAE30"),hn.forEach(e),sr=n(ie,"\uC5D0 \uAE30\uBC18\uD569\uB2C8\uB2E4. ControlNet\uC740 \uC6D0\uB4E4\uC744 \uCC44\uC6B0\uAE30 \uC704\uD574 "),ml=s(ie,"A",{href:!0,rel:!0});var _n=r(ml);rr=n(_n,"small synthetic dataset"),_n.forEach(e),ir=n(ie,"\uC744 \uC0AC\uC6A9\uD574\uC11C \uD559\uC2B5\uB429\uB2C8\uB2E4."),ie.forEach(e),ia=c(l),Ul=s(l,"H2",{id:!0});var Mn=r(Ul);or=n(Mn,"\uC758\uC874\uC131 \uC124\uCE58\uD558\uAE30"),Mn.forEach(e),oa=c(l),wt=s(l,"P",{});var yn=r(wt);nr=n(yn,"\uC544\uB798\uC758 \uC2A4\uD06C\uB9BD\uD2B8\uB97C \uC2E4\uD589\uD558\uAE30 \uC804\uC5D0, \uB77C\uC774\uBE0C\uB7EC\uB9AC\uC758 \uD559\uC2B5 \uC758\uC874\uC131\uC744 \uC124\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4."),yn.forEach(e),na=c(l),m(D.$$.fragment,l),pa=c(l),Zt=s(l,"P",{});var bn=r(Zt);pr=n(bn,"\uC704 \uC0AC\uD56D\uC744 \uB9CC\uC871\uC2DC\uD0A4\uAE30 \uC704\uD574\uC11C, \uC0C8\uB85C\uC6B4 \uAC00\uC0C1\uD658\uACBD\uC5D0\uC11C \uB2E4\uC74C \uC77C\uB828\uC758 \uC2A4\uD15D\uC744 \uC2E4\uD589\uD558\uC138\uC694:"),bn.forEach(e),fa=c(l),m(hl.$$.fragment,l),ca=c(l),A=s(l,"P",{});var Ts=r(A);fr=n(Ts,"\uADF8 \uB2E4\uC74C\uC5D0\uB294 "),_l=s(Ts,"A",{href:!0,rel:!0});var Jn=r(_l);cr=n(Jn,"\uC608\uC2DC \uD3F4\uB354"),Jn.forEach(e),ur=n(Ts,"\uC73C\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4."),Ts.forEach(e),ua=c(l),m(Ml.$$.fragment,l),da=c(l),gt=s(l,"P",{});var Tn=r(gt);dr=n(Tn,"\uC774\uC81C \uC2E4\uD589\uD558\uC138\uC694:"),Tn.forEach(e),ma=c(l),m(yl.$$.fragment,l),Ua=c(l),bl=s(l,"P",{});var Oo=r(bl);Jl=s(Oo,"A",{href:!0,rel:!0});var vn=r(Jl);mr=n(vn,"\u{1F917}Accelerate"),vn.forEach(e),Ur=n(Oo," \uD658\uACBD\uC744 \uCD08\uAE30\uD654 \uD569\uB2C8\uB2E4:"),Oo.forEach(e),ha=c(l),m(Tl.$$.fragment,l),_a=c(l),jt=s(l,"P",{});var En=r(jt);hr=n(En,"\uD639\uC740 \uC5EC\uB7EC\uBD84\uC758 \uD658\uACBD\uC774 \uBB34\uC5C7\uC778\uC9C0 \uBAB0\uB77C\uB3C4 \uAE30\uBCF8\uC801\uC778 \u{1F917}Accelerate \uAD6C\uC131\uC73C\uB85C \uCD08\uAE30\uD654\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4:"),En.forEach(e),Ma=c(l),m(vl.$$.fragment,l),ya=c(l),Rt=s(l,"P",{});var wn=r(Rt);_r=n(wn,"\uD639\uC740 \uB2F9\uC2E0\uC758 \uD658\uACBD\uC774 \uB178\uD2B8\uBD81 \uAC19\uC740 \uC0C1\uD638\uC791\uC6A9\uD558\uB294 \uC258\uC744 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294\uB2E4\uBA74, \uC544\uB798\uC758 \uCF54\uB4DC\uB85C \uCD08\uAE30\uD654 \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4:"),wn.forEach(e),ba=c(l),m(El.$$.fragment,l),Ja=c(l),wl=s(l,"H2",{id:!0});var Zn=r(wl);Mr=n(Zn,"\uC6D0\uC744 \uCC44\uC6B0\uB294 \uB370\uC774\uD130\uC14B"),Zn.forEach(e),Ta=c(l),C=s(l,"P",{});var oe=r(C);yr=n(oe,"\uC6D0\uBCF8 \uB370\uC774\uD130\uC14B\uC740 ControlNet "),Zl=s(oe,"A",{href:!0,rel:!0});var gn=r(Zl);br=n(gn,"repo"),gn.forEach(e),Jr=n(oe,"\uC5D0 \uC62C\uB77C\uC640\uC788\uC9C0\uB9CC, \uC6B0\uB9AC\uB294 "),gl=s(oe,"A",{href:!0,rel:!0});var jn=r(gl);Tr=n(jn,"\uC5EC\uAE30"),jn.forEach(e),vr=n(oe,"\uC5D0 \uC0C8\uB86D\uAC8C \uB2E4\uC2DC \uC62C\uB824\uC11C \u{1F917} Datasets \uACFC \uD638\uD658\uAC00\uB2A5\uD569\uB2C8\uB2E4. \uADF8\uB798\uC11C \uD559\uC2B5 \uC2A4\uD06C\uB9BD\uD2B8 \uC0C1\uC5D0\uC11C \uB370\uC774\uD130 \uBD88\uB7EC\uC624\uAE30\uB97C \uB2E4\uB8F0 \uC218 \uC788\uC2B5\uB2C8\uB2E4."),oe.forEach(e),va=c(l),w=s(l,"P",{});var rl=r(w);Er=n(rl,"\uC6B0\uB9AC\uC758 \uD559\uC2B5 \uC608\uC2DC\uB294 \uC6D0\uB798 ControlNet\uC758 \uD559\uC2B5\uC5D0 \uC4F0\uC600\uB358 "),jl=s(rl,"A",{href:!0,rel:!0});var Rn=r(jl);fe=s(Rn,"CODE",{});var Gn=r(fe);wr=n(Gn,"runwayml/stable-diffusion-v1-5"),Gn.forEach(e),Rn.forEach(e),Zr=n(rl,"\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4. \uADF8\uB807\uC9C0\uB9CC ControlNet\uC740 \uB300\uC751\uB418\uB294 \uC5B4\uB290 Stable Diffusion \uBAA8\uB378("),Rl=s(rl,"A",{href:!0,rel:!0});var Wn=r(Rl);ce=s(Wn,"CODE",{});var In=r(ce);gr=n(In,"CompVis/stable-diffusion-v1-4"),In.forEach(e),Wn.forEach(e),jr=n(rl,") \uD639\uC740 "),Gl=s(rl,"A",{href:!0,rel:!0});var Vn=r(Gl);ue=s(Vn,"CODE",{});var Cn=r(ue);Rr=n(Cn,"stabilityai/stable-diffusion-2-1"),Cn.forEach(e),Vn.forEach(e),Gr=n(rl,"\uC758 \uC99D\uAC00\uB97C \uC704\uD574 \uD559\uC2B5\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4."),rl.forEach(e),Ea=c(l),x=s(l,"P",{});var vs=r(x);Wr=n(vs,"\uC790\uCCB4 \uB370\uC774\uD130\uC14B\uC744 \uC0AC\uC6A9\uD558\uAE30 \uC704\uD574\uC11C\uB294 "),Gt=s(vs,"A",{href:!0});var Nn=r(Gt);Ir=n(Nn,"\uD559\uC2B5\uC744 \uC704\uD55C \uB370\uC774\uD130\uC14B \uC0DD\uC131\uD558\uAE30"),Nn.forEach(e),Vr=n(vs," \uAC00\uC774\uB4DC\uB97C \uD655\uC778\uD558\uC138\uC694."),vs.forEach(e),wa=c(l),Wl=s(l,"H2",{id:!0});var Bn=r(Wl);Cr=n(Bn,"\uD559\uC2B5"),Bn.forEach(e),Za=c(l),Wt=s(l,"P",{});var $n=r(Wt);Nr=n($n,"\uC774 \uD559\uC2B5\uC5D0 \uC0AC\uC6A9\uB420 \uB2E4\uC74C \uC774\uBBF8\uC9C0\uB4E4\uC744 \uB2E4\uC6B4\uB85C\uB4DC\uD558\uC138\uC694:"),$n.forEach(e),ga=c(l),m(Il.$$.fragment,l),ja=c(l),N=s(l,"P",{});var ea=r(N);de=s(ea,"CODE",{});var Qn=r(de);Br=n(Qn,"MODEL_NAME"),Qn.forEach(e),$r=n(ea," \uD658\uACBD \uBCC0\uC218 (Hub \uBAA8\uB378 \uB9AC\uD3EC\uC9C0\uD1A0\uB9AC \uC544\uC774\uB514 \uD639\uC740 \uBAA8\uB378 \uAC00\uC911\uCE58\uAC00 \uC788\uB294 \uB514\uB809\uD1A0\uB9AC\uB85C \uAC00\uB294 \uC8FC\uC18C)\uB97C \uBA85\uC2DC\uD558\uACE0 "),Vl=s(ea,"A",{href:!0,rel:!0});var Xn=r(Vl);me=s(Xn,"CODE",{});var Fn=r(me);Qr=n(Fn,"pretrained_model_name_or_path"),Fn.forEach(e),Xn.forEach(e),Xr=n(ea," \uC778\uC790\uB85C \uD658\uACBD\uBCC0\uC218\uB97C \uBCF4\uB0C5\uB2C8\uB2E4."),ea.forEach(e),Ra=c(l),k=s(l,"P",{});var Es=r(k);Fr=n(Es,"\uD559\uC2B5 \uC2A4\uD06C\uB9BD\uD2B8\uB294 \uB2F9\uC2E0\uC758 \uB9AC\uD3EC\uC9C0\uD1A0\uB9AC\uC5D0 "),Ue=s(Es,"CODE",{});var Yn=r(Ue);Yr=n(Yn,"diffusion_pytorch_model.bin"),Yn.forEach(e),Sr=n(Es," \uD30C\uC77C\uC744 \uC0DD\uC131\uD558\uACE0 \uC800\uC7A5\uD569\uB2C8\uB2E4."),Es.forEach(e),Ga=c(l),m(Cl.$$.fragment,l),Wa=c(l),It=s(l,"P",{});var Sn=r(It);Dr=n(Sn,"\uC774 \uAE30\uBCF8\uC801\uC778 \uC124\uC815\uC73C\uB85C\uB294 ~38GB VRAM\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."),Sn.forEach(e),Ia=c(l),z=s(l,"P",{});var ws=r(z);Ar=n(ws,"\uAE30\uBCF8\uC801\uC73C\uB85C \uD559\uC2B5 \uC2A4\uD06C\uB9BD\uD2B8\uB294 \uACB0\uACFC\uB97C \uD150\uC11C\uBCF4\uB4DC\uC5D0 \uAE30\uB85D\uD569\uB2C8\uB2E4. \uAC00\uC911\uCE58(weight)\uC640 \uD3B8\uD5A5(bias)\uC744 \uC0AC\uC6A9\uD558\uAE30 \uC704\uD574 "),he=s(ws,"CODE",{});var Dn=r(he);xr=n(Dn,"--report_to wandb"),Dn.forEach(e),kr=n(ws," \uB97C \uC804\uB2EC\uD569\uB2C8\uB2E4."),ws.forEach(e),Va=c(l),Vt=s(l,"P",{});var An=r(Vt);zr=n(An,"\uB354 \uC791\uC740 batch(\uBC30\uCE58) \uD06C\uAE30\uB85C gradient accumulation(\uAE30\uC6B8\uAE30 \uB204\uC801)\uC744 \uD558\uBA74 \uD559\uC2B5 \uC694\uAD6C\uC0AC\uD56D\uC744 ~20 GB VRAM\uC73C\uB85C \uC904\uC77C \uC218 \uC788\uC2B5\uB2C8\uB2E4."),An.forEach(e),Ca=c(l),m(Nl.$$.fragment,l),Na=c(l),B=s(l,"H2",{class:!0});var Zs=r(B);L=s(Zs,"A",{id:!0,class:!0,href:!0});var xn=r(L);_e=s(xn,"SPAN",{});var kn=r(_e);m(Bl.$$.fragment,kn),kn.forEach(e),xn.forEach(e),Lr=c(Zs),Me=s(Zs,"SPAN",{});var zn=r(Me);Pr=n(zn,"\uC5EC\uB7EC\uAC1C GPU\uB85C \uD559\uC2B5\uD558\uAE30"),zn.forEach(e),Zs.forEach(e),Ba=c(l),R=s(l,"P",{});var Tt=r(R);ye=s(Tt,"CODE",{});var Ln=r(ye);Hr=n(Ln,"accelerate"),Ln.forEach(e),qr=n(Tt," \uC740 seamless multi-GPU \uD559\uC2B5\uC744 \uACE0\uB824\uD569\uB2C8\uB2E4. "),be=s(Tt,"CODE",{});var Pn=r(be);Or=n(Pn,"accelerate"),Pn.forEach(e),Kr=n(Tt,"\uACFC \uD568\uAED8 \uBD84\uC0B0\uB41C \uD559\uC2B5\uC744 \uC2E4\uD589\uD558\uAE30 \uC704\uD574 "),$l=s(Tt,"A",{href:!0,rel:!0});var Hn=r($l);li=n(Hn,"\uC5EC\uAE30"),Hn.forEach(e),ti=n(Tt,`
\uC758 \uC124\uBA85\uC744 \uD655\uC778\uD558\uC138\uC694. \uC544\uB798\uB294 \uC608\uC2DC \uBA85\uB839\uC5B4\uC785\uB2C8\uB2E4:`),Tt.forEach(e),$a=c(l),m(Ql.$$.fragment,l),Qa=c(l),Xl=s(l,"H2",{id:!0});var qn=r(Xl);ei=n(qn,"\uC608\uC2DC \uACB0\uACFC"),qn.forEach(e),Xa=c(l),$=s(l,"H4",{class:!0});var gs=r($);P=s(gs,"A",{id:!0,class:!0,href:!0});var On=r(P);Je=s(On,"SPAN",{});var Kn=r(Je);m(Fl.$$.fragment,Kn),Kn.forEach(e),On.forEach(e),ai=c(gs),Te=s(gs,"SPAN",{});var lp=r(Te);si=n(lp,"\uBC30\uCE58 \uC0AC\uC774\uC988 8\uB85C 300 \uC2A4\uD15D \uC774\uD6C4:"),lp.forEach(e),gs.forEach(e),Fa=c(l),H=s(l,"TABLE",{});var js=r(H);ve=s(js,"THEAD",{});var tp=r(ve);Yl=s(tp,"TR",{});var Rs=r(Yl);Ya=s(Rs,"TH",{}),r(Ya).forEach(e),ri=c(Rs),Ee=s(Rs,"TH",{align:!0}),r(Ee).forEach(e),Rs.forEach(e),tp.forEach(e),ii=c(js),G=s(js,"TBODY",{});var il=r(G);Sl=s(il,"TR",{});var Gs=r(Sl);Sa=s(Gs,"TD",{}),r(Sa).forEach(e),oi=c(Gs),Ct=s(Gs,"TD",{align:!0});var ep=r(Ct);ni=n(ep,"\uD478\uB978 \uBC30\uACBD\uACFC \uBE68\uAC04 \uC6D0"),ep.forEach(e),Gs.forEach(e),pi=c(il),Dl=s(il,"TR",{});var Ws=r(Dl);we=s(Ws,"TD",{});var ap=r(we);Nt=s(ap,"IMG",{src:!0,alt:!0}),ap.forEach(e),fi=c(Ws),Bt=s(Ws,"TD",{align:!0});var sp=r(Bt);$t=s(sp,"IMG",{src:!0,alt:!0}),sp.forEach(e),Ws.forEach(e),ci=c(il),Al=s(il,"TR",{});var Is=r(Al);Da=s(Is,"TD",{}),r(Da).forEach(e),ui=c(Is),Qt=s(Is,"TD",{align:!0});var rp=r(Qt);di=n(rp,"\uAC08\uC0C9 \uAF43 \uBC30\uACBD\uACFC \uCCAD\uB85D\uC0C9 \uC6D0"),rp.forEach(e),Is.forEach(e),mi=c(il),xl=s(il,"TR",{});var Vs=r(xl);Ze=s(Vs,"TD",{});var ip=r(Ze);Xt=s(ip,"IMG",{src:!0,alt:!0}),ip.forEach(e),Ui=c(Vs),Ft=s(Vs,"TD",{align:!0});var op=r(Ft);Yt=s(op,"IMG",{src:!0,alt:!0}),op.forEach(e),Vs.forEach(e),il.forEach(e),js.forEach(e),Aa=c(l),Q=s(l,"H4",{class:!0});var Cs=r(Q);q=s(Cs,"A",{id:!0,class:!0,href:!0});var np=r(q);ge=s(np,"SPAN",{});var pp=r(ge);m(kl.$$.fragment,pp),pp.forEach(e),np.forEach(e),hi=c(Cs),je=s(Cs,"SPAN",{});var fp=r(je);_i=n(fp,"\uBC30\uCE58 \uC0AC\uC774\uC988 8\uB85C 6000 \uC2A4\uD15D \uC774\uD6C4:"),fp.forEach(e),Cs.forEach(e),xa=c(l),O=s(l,"TABLE",{});var Ns=r(O);Re=s(Ns,"THEAD",{});var cp=r(Re);zl=s(cp,"TR",{});var Bs=r(zl);ka=s(Bs,"TH",{}),r(ka).forEach(e),Mi=c(Bs),Ge=s(Bs,"TH",{align:!0}),r(Ge).forEach(e),Bs.forEach(e),cp.forEach(e),yi=c(Ns),W=s(Ns,"TBODY",{});var ol=r(W);Ll=s(ol,"TR",{});var $s=r(Ll);za=s($s,"TD",{}),r(za).forEach(e),bi=c($s),St=s($s,"TD",{align:!0});var up=r(St);Ji=n(up,"\uD478\uB978 \uBC30\uACBD\uACFC \uBE68\uAC04 \uC6D0"),up.forEach(e),$s.forEach(e),Ti=c(ol),Pl=s(ol,"TR",{});var Qs=r(Pl);We=s(Qs,"TD",{});var dp=r(We);Dt=s(dp,"IMG",{src:!0,alt:!0}),dp.forEach(e),vi=c(Qs),At=s(Qs,"TD",{align:!0});var mp=r(At);xt=s(mp,"IMG",{src:!0,alt:!0}),mp.forEach(e),Qs.forEach(e),Ei=c(ol),Hl=s(ol,"TR",{});var Xs=r(Hl);La=s(Xs,"TD",{}),r(La).forEach(e),wi=c(Xs),kt=s(Xs,"TD",{align:!0});var Up=r(kt);Zi=n(Up,"\uAC08\uC0C9 \uAF43 \uBC30\uACBD\uACFC \uCCAD\uB85D\uC0C9 \uC6D0"),Up.forEach(e),Xs.forEach(e),gi=c(ol),ql=s(ol,"TR",{});var Fs=r(ql);Ie=s(Fs,"TD",{});var hp=r(Ie);zt=s(hp,"IMG",{src:!0,alt:!0}),hp.forEach(e),ji=c(Fs),Lt=s(Fs,"TD",{align:!0});var _p=r(Lt);Pt=s(_p,"IMG",{src:!0,alt:!0}),_p.forEach(e),Fs.forEach(e),ol.forEach(e),Ns.forEach(e),Pa=c(l),X=s(l,"H2",{class:!0});var Ys=r(X);K=s(Ys,"A",{id:!0,class:!0,href:!0});var Mp=r(K);Ve=s(Mp,"SPAN",{});var yp=r(Ve);m(Ol.$$.fragment,yp),yp.forEach(e),Mp.forEach(e),Ri=c(Ys),Ce=s(Ys,"SPAN",{});var bp=r(Ce);Gi=n(bp,"16GB GPU\uC5D0\uC11C \uD559\uC2B5\uD558\uAE30"),bp.forEach(e),Ys.forEach(e),Ha=c(l),Ht=s(l,"P",{});var Jp=r(Ht);Wi=n(Jp,"16GB GPU\uC5D0\uC11C \uD559\uC2B5\uD558\uAE30 \uC704\uD574 \uB2E4\uC74C\uC758 \uCD5C\uC801\uD654\uB97C \uC9C4\uD589\uD558\uC138\uC694:"),Jp.forEach(e),qa=c(l),ll=s(l,"UL",{});var Ss=r(ll);Ne=s(Ss,"LI",{});var Tp=r(Ne);Ii=n(Tp,"\uAE30\uC6B8\uAE30 \uCCB4\uD06C\uD3EC\uC778\uD2B8 \uC800\uC7A5\uD558\uAE30"),Tp.forEach(e),Vi=c(Ss),Kl=s(Ss,"LI",{});var Ds=r(Kl);Ci=n(Ds,"bitsandbyte\uC758 "),lt=s(Ds,"A",{href:!0,rel:!0});var vp=r(lt);Ni=n(vp,"8-bit optimizer"),vp.forEach(e),Bi=n(Ds,"\uAC00 \uC124\uCE58\uB418\uC9C0 \uC54A\uC558\uB2E4\uBA74 \uB9C1\uD06C\uC5D0 \uC5F0\uACB0\uB41C \uC124\uBA85\uC11C\uB97C \uBCF4\uC138\uC694."),Ds.forEach(e),Ss.forEach(e),Oa=c(l),qt=s(l,"P",{});var Ep=r(qt);$i=n(Ep,"\uC774\uC81C \uD559\uC2B5 \uC2A4\uD06C\uB9BD\uD2B8\uB97C \uC2DC\uC791\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4:"),Ep.forEach(e),Ka=c(l),m(tt.$$.fragment,l),ls=c(l),F=s(l,"H2",{class:!0});var As=r(F);tl=s(As,"A",{id:!0,class:!0,href:!0});var wp=r(tl);Be=s(wp,"SPAN",{});var Zp=r(Be);m(et.$$.fragment,Zp),Zp.forEach(e),wp.forEach(e),Qi=c(As),$e=s(As,"SPAN",{});var gp=r($e);Xi=n(gp,"12GB GPU\uC5D0\uC11C \uD559\uC2B5\uD558\uAE30"),gp.forEach(e),As.forEach(e),ts=c(l),Ot=s(l,"P",{});var jp=r(Ot);Fi=n(jp,"12GB GPU\uC5D0\uC11C \uC2E4\uD589\uD558\uAE30 \uC704\uD574 \uB2E4\uC74C\uC758 \uCD5C\uC801\uD654\uB97C \uC9C4\uD589\uD558\uC138\uC694:"),jp.forEach(e),es=c(l),Z=s(l,"UL",{});var nl=r(Z);Qe=s(nl,"LI",{});var Rp=r(Qe);Yi=n(Rp,"\uAE30\uC6B8\uAE30 \uCCB4\uD06C\uD3EC\uC778\uD2B8 \uC800\uC7A5\uD558\uAE30"),Rp.forEach(e),Si=c(nl),at=s(nl,"LI",{});var xs=r(at);Di=n(xs,"bitsandbyte\uC758 8-bit "),st=s(xs,"A",{href:!0,rel:!0});var Gp=r(st);Ai=n(Gp,"optimizer"),Gp.forEach(e),xi=n(xs,"(\uAC00 \uC124\uCE58\uB418\uC9C0 \uC54A\uC558\uB2E4\uBA74 \uB9C1\uD06C\uC5D0 \uC5F0\uACB0\uB41C \uC124\uBA85\uC11C\uB97C \uBCF4\uC138\uC694)"),xs.forEach(e),ki=c(nl),Kt=s(nl,"LI",{});var Ko=r(Kt);rt=s(Ko,"A",{href:!0,rel:!0});var Wp=r(rt);zi=n(Wp,"xFormers"),Wp.forEach(e),Li=n(Ko,"(\uAC00 \uC124\uCE58\uB418\uC9C0 \uC54A\uC558\uB2E4\uBA74 \uB9C1\uD06C\uC5D0 \uC5F0\uACB0\uB41C \uC124\uBA85\uC11C\uB97C \uBCF4\uC138\uC694)"),Ko.forEach(e),Pi=c(nl),it=s(nl,"LI",{});var ks=r(it);Hi=n(ks,"\uAE30\uC6B8\uAE30\uB97C "),Xe=s(ks,"CODE",{});var Ip=r(Xe);qi=n(Ip,"None"),Ip.forEach(e),Oi=n(ks,"\uC73C\uB85C \uC124\uC815"),ks.forEach(e),nl.forEach(e),as=c(l),m(ot.$$.fragment,l),ss=c(l),I=s(l,"P",{});var vt=r(I);Fe=s(vt,"CODE",{});var Vp=r(Fe);Ki=n(Vp,"pip install xformers"),Vp.forEach(e),lo=n(vt,"\uC73C\uB85C "),Ye=s(vt,"CODE",{});var Cp=r(Ye);to=n(Cp,"xformers"),Cp.forEach(e),eo=n(vt,"\uC744 \uD655\uC2E4\uD788 \uC124\uCE58\uD558\uACE0 "),Se=s(vt,"CODE",{});var Np=r(Se);ao=n(Np,"enable_xformers_memory_efficient_attention"),Np.forEach(e),so=n(vt,"\uC744 \uC0AC\uC6A9\uD558\uC138\uC694."),vt.forEach(e),rs=c(l),Y=s(l,"H2",{class:!0});var zs=r(Y);el=s(zs,"A",{id:!0,class:!0,href:!0});var Bp=r(el);De=s(Bp,"SPAN",{});var $p=r(De);m(nt.$$.fragment,$p),$p.forEach(e),Bp.forEach(e),ro=c(zs),Ae=s(zs,"SPAN",{});var Qp=r(Ae);io=n(Qp,"8GB GPU\uC5D0\uC11C \uD559\uC2B5\uD558\uAE30"),Qp.forEach(e),zs.forEach(e),is=c(l),le=s(l,"P",{});var Xp=r(le);oo=n(Xp,`\uC6B0\uB9AC\uB294 ControlNet\uC744 \uC9C0\uC6D0\uD558\uAE30 \uC704\uD55C DeepSpeed\uB97C \uCCA0\uC800\uD558\uAC8C \uD14C\uC2A4\uD2B8\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uD658\uACBD\uC124\uC815\uC774 \uBA54\uBAA8\uB9AC\uB97C \uC800\uC7A5\uD560 \uB54C,
\uADF8 \uD658\uACBD\uC774 \uC131\uACF5\uC801\uC73C\uB85C \uD559\uC2B5\uD588\uB294\uC9C0\uB97C \uD655\uC815\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uC131\uACF5\uD55C \uD559\uC2B5 \uC2E4\uD589\uC744 \uC704\uD574 \uC124\uC815\uC744 \uBCC0\uACBD\uD574\uC57C \uD560 \uAC00\uB2A5\uC131\uC774 \uB192\uC2B5\uB2C8\uB2E4.`),Xp.forEach(e),os=c(l),te=s(l,"P",{});var Fp=r(te);no=n(Fp,"8GB GPU\uC5D0\uC11C \uC2E4\uD589\uD558\uAE30 \uC704\uD574 \uB2E4\uC74C\uC758 \uCD5C\uC801\uD654\uB97C \uC9C4\uD589\uD558\uC138\uC694:"),Fp.forEach(e),ns=c(l),b=s(l,"UL",{});var g=r(b);xe=s(g,"LI",{});var Yp=r(xe);po=n(Yp,"\uAE30\uC6B8\uAE30 \uCCB4\uD06C\uD3EC\uC778\uD2B8 \uC800\uC7A5\uD558\uAE30"),Yp.forEach(e),fo=c(g),pt=s(g,"LI",{});var Ls=r(pt);co=n(Ls,"bitsandbyte\uC758 8-bit "),ft=s(Ls,"A",{href:!0,rel:!0});var Sp=r(ft);uo=n(Sp,"optimizer"),Sp.forEach(e),mo=n(Ls,"(\uAC00 \uC124\uCE58\uB418\uC9C0 \uC54A\uC558\uB2E4\uBA74 \uB9C1\uD06C\uC5D0 \uC5F0\uACB0\uB41C \uC124\uBA85\uC11C\uB97C \uBCF4\uC138\uC694)"),Ls.forEach(e),Uo=c(g),ee=s(g,"LI",{});var ln=r(ee);ct=s(ln,"A",{href:!0,rel:!0});var Dp=r(ct);ho=n(Dp,"xFormers"),Dp.forEach(e),_o=n(ln,"(\uAC00 \uC124\uCE58\uB418\uC9C0 \uC54A\uC558\uB2E4\uBA74 \uB9C1\uD06C\uC5D0 \uC5F0\uACB0\uB41C \uC124\uBA85\uC11C\uB97C \uBCF4\uC138\uC694)"),ln.forEach(e),Mo=c(g),ut=s(g,"LI",{});var Ps=r(ut);yo=n(Ps,"\uAE30\uC6B8\uAE30\uB97C "),ke=s(Ps,"CODE",{});var Ap=r(ke);bo=n(Ap,"None"),Ap.forEach(e),Jo=n(Ps,"\uC73C\uB85C \uC124\uC815"),Ps.forEach(e),To=c(g),ze=s(g,"LI",{});var xp=r(ze);vo=n(xp,"DeepSpeed stage 2 \uBCC0\uC218\uC640 optimizer \uC5C6\uC5D0\uAE30"),xp.forEach(e),Eo=c(g),Le=s(g,"LI",{});var kp=r(Le);wo=n(kp,"fp16 \uD63C\uD569 \uC815\uBC00\uB3C4(precision)"),kp.forEach(e),g.forEach(e),ps=c(l),dt=s(l,"P",{});var tn=r(dt);mt=s(tn,"A",{href:!0,rel:!0});var zp=r(mt);Zo=n(zp,"DeepSpeed"),zp.forEach(e),go=n(tn,`\uB294 CPU \uB610\uB294 NVME\uB85C \uD150\uC11C\uB97C VRAM\uC5D0\uC11C \uC624\uD504\uB85C\uB4DC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
\uC774\uB97C \uC704\uD574\uC11C \uD6E8\uC52C \uB354 \uB9CE\uC740 RAM(\uC57D 25 GB)\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.`),tn.forEach(e),fs=c(l),al=s(l,"P",{});var Hs=r(al);jo=n(Hs,"DeepSpeed stage 2\uB97C \uD65C\uC131\uD654\uD558\uAE30 \uC704\uD574\uC11C "),Pe=s(Hs,"CODE",{});var Lp=r(Pe);Ro=n(Lp,"accelerate config"),Lp.forEach(e),Go=n(Hs,"\uB85C \uD658\uACBD\uC744 \uAD6C\uC131\uD574\uC57C\uD569\uB2C8\uB2E4."),Hs.forEach(e),cs=c(l),ae=s(l,"P",{});var Pp=r(ae);Wo=n(Pp,"\uAD6C\uC131(configuration) \uD30C\uC77C\uC740 \uC774\uB7F0 \uBAA8\uC2B5\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4:"),Pp.forEach(e),us=c(l),m(Ut.$$.fragment,l),ds=c(l),se=s(l,"P",{});var Hp=r(se);Io=n(Hp,"<\uD301>"),Hp.forEach(e),ms=c(l),ht=s(l,"P",{});var en=r(ht);_t=s(en,"A",{href:!0,rel:!0});var qp=r(_t);Vo=n(qp,"\uBB38\uC11C"),qp.forEach(e),Co=n(en,"\uB97C \uB354 \uB9CE\uC740 DeepSpeed \uC124\uC815 \uC635\uC158\uC744 \uC704\uD574 \uBCF4\uC138\uC694."),en.forEach(e),Us=c(l),re=s(l,"P",{});var Op=r(re);No=n(Op,"<\uD301>"),Op.forEach(e),hs=c(l),sl=s(l,"P",{});var qs=r(sl);Bo=n(qs,`\uAE30\uBCF8 Adam optimizer\uB97C DeepSpeed\u2019\uC758 Adam
`),He=s(qs,"CODE",{});var Kp=r(He);$o=n(Kp,"deepspeed.ops.adam.DeepSpeedCPUAdam"),Kp.forEach(e),Qo=n(qs,` \uC73C\uB85C \uBC14\uAFB8\uBA74 \uC0C1\uB2F9\uD55C \uC18D\uB3C4 \uD5A5\uC0C1\uC744 \uC774\uB8F0\uC218 \uC788\uC9C0\uB9CC,
Pytorch\uC640 \uAC19\uC740 \uBC84\uC804\uC758 CUDA toolchain\uC774 \uD544\uC694\uD569\uB2C8\uB2E4. 8-\uBE44\uD2B8 optimizer\uB294 \uD604\uC7AC DeepSpeed\uC640
\uD638\uD658\uB418\uC9C0 \uC54A\uB294 \uAC83 \uAC19\uC2B5\uB2C8\uB2E4.`),qs.forEach(e),_s=c(l),m(Mt.$$.fragment,l),Ms=c(l),yt=s(l,"H2",{id:!0});var lf=r(yt);Xo=n(lf,"\uCD94\uB860"),lf.forEach(e),ys=c(l),J=s(l,"P",{});var j=r(J);Fo=n(j,"\uD559\uC2B5\uB41C \uBAA8\uB378\uC740 "),qe=s(j,"CODE",{});var tf=r(qe);Yo=n(tf,"StableDiffusionControlNetPipeline"),tf.forEach(e),So=n(j,`\uACFC \uD568\uAED8 \uC2E4\uD589\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
`),Oe=s(j,"CODE",{});var ef=r(Oe);Do=n(ef,"base_model_path"),ef.forEach(e),Ao=n(j,"\uC640 "),Ke=s(j,"CODE",{});var af=r(Ke);xo=n(af,"controlnet_path"),af.forEach(e),ko=n(j," \uC5D0 \uAC12\uC744 \uC9C0\uC815\uD558\uC138\uC694 "),la=s(j,"CODE",{});var sf=r(la);zo=n(sf,"--pretrained_model_name_or_path"),sf.forEach(e),Lo=n(j,` \uC640
`),ta=s(j,"CODE",{});var rf=r(ta);Po=n(rf,"--output_dir"),rf.forEach(e),Ho=n(j," \uB294 \uD559\uC2B5 \uC2A4\uD06C\uB9BD\uD2B8\uC5D0 \uAC1C\uBCC4\uC801\uC73C\uB85C \uC9C0\uC815\uB429\uB2C8\uB2E4."),j.forEach(e),bs=c(l),m(bt.$$.fragment,l),this.h()},h(){u(y,"name","hf:doc:metadata"),u(y,"content",JSON.stringify(Uf)),u(E,"id","controlnet"),u(E,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(E,"href","#controlnet"),u(T,"class","relative group"),u(ul,"href","https://arxiv.org/abs/2302.05543"),u(ul,"rel","nofollow"),u(dl,"href","https://github.com/lllyasviel/ControlNet/blob/main/docs/train.md"),u(dl,"rel","nofollow"),u(ml,"href","https://huggingface.co/datasets/fusing/fill50k"),u(ml,"rel","nofollow"),u(Ul,"id",""),u(_l,"href","https://github.com/huggingface/diffusers/tree/main/examples/controlnet"),u(_l,"rel","nofollow"),u(Jl,"href","https://github.com/huggingface/accelerate/"),u(Jl,"rel","nofollow"),u(wl,"id",""),u(Zl,"href","https://huggingface.co/lllyasviel/ControlNet/blob/main/training/fill50k.zip"),u(Zl,"rel","nofollow"),u(gl,"href","https://huggingface.co/datasets/fusing/fill50k"),u(gl,"rel","nofollow"),u(jl,"href","https://huggingface.co/runwayml/stable-diffusion-v1-5"),u(jl,"rel","nofollow"),u(Rl,"href","https://huggingface.co/CompVis/stable-diffusion-v1-4"),u(Rl,"rel","nofollow"),u(Gl,"href","https://huggingface.co/stabilityai/stable-diffusion-2-1"),u(Gl,"rel","nofollow"),u(Gt,"href","create_dataset"),u(Wl,"id",""),u(Vl,"href","https://huggingface.co/docs/diffusers/en/api/diffusion_pipeline#diffusers.DiffusionPipeline.from_pretrained.pretrained_model_name_or_path"),u(Vl,"rel","nofollow"),u(L,"id","gpu"),u(L,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(L,"href","#gpu"),u(B,"class","relative group"),u($l,"href","https://huggingface.co/docs/accelerate/basic_tutorials/launch"),u($l,"rel","nofollow"),u(Xl,"id",""),u(P,"id","8-300"),u(P,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(P,"href","#8-300"),u($,"class","relative group"),u(Ee,"align","center"),u(Ct,"align","center"),pl(Nt.src,an="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/controlnet_training/conditioning_image_1.png")||u(Nt,"src",an),u(Nt,"alt","conditioning image"),pl($t.src,sn="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/controlnet_training/red_circle_with_blue_background_300_steps.png")||u($t,"src",sn),u($t,"alt","\uD478\uB978 \uBC30\uACBD\uACFC \uBE68\uAC04 \uC6D0"),u(Bt,"align","center"),u(Qt,"align","center"),pl(Xt.src,rn="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/controlnet_training/conditioning_image_2.png")||u(Xt,"src",rn),u(Xt,"alt","conditioning image"),pl(Yt.src,on="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/controlnet_training/cyan_circle_with_brown_floral_background_300_steps.png")||u(Yt,"src",on),u(Yt,"alt","\uAC08\uC0C9 \uAF43 \uBC30\uACBD\uACFC \uCCAD\uB85D\uC0C9 \uC6D0"),u(Ft,"align","center"),u(q,"id","8-6000"),u(q,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(q,"href","#8-6000"),u(Q,"class","relative group"),u(Ge,"align","center"),u(St,"align","center"),pl(Dt.src,nn="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/controlnet_training/conditioning_image_1.png")||u(Dt,"src",nn),u(Dt,"alt","conditioning image"),pl(xt.src,pn="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/controlnet_training/red_circle_with_blue_background_6000_steps.png")||u(xt,"src",pn),u(xt,"alt","\uD478\uB978 \uBC30\uACBD\uACFC \uBE68\uAC04 \uC6D0"),u(At,"align","center"),u(kt,"align","center"),pl(zt.src,fn="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/controlnet_training/conditioning_image_2.png")||u(zt,"src",fn),u(zt,"alt","conditioning image"),pl(Pt.src,cn="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/controlnet_training/cyan_circle_with_brown_floral_background_6000_steps.png")||u(Pt,"src",cn),u(Pt,"alt","\uAC08\uC0C9 \uAF43 \uBC30\uACBD\uACFC \uCCAD\uB85D\uC0C9 \uC6D0"),u(Lt,"align","center"),u(K,"id","16gb-gpu"),u(K,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(K,"href","#16gb-gpu"),u(X,"class","relative group"),u(lt,"href","https://github.com/TimDettmers/bitsandbytes#requirements--installation"),u(lt,"rel","nofollow"),u(tl,"id","12gb-gpu"),u(tl,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(tl,"href","#12gb-gpu"),u(F,"class","relative group"),u(st,"href","https://github.com/TimDettmers/bitsandbytes#requirements--installation"),u(st,"rel","nofollow"),u(rt,"href","https://huggingface.co/docs/diffusers/training/optimization/xformers"),u(rt,"rel","nofollow"),u(el,"id","8gb-gpu"),u(el,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(el,"href","#8gb-gpu"),u(Y,"class","relative group"),u(ft,"href","https://github.com/TimDettmers/bitsandbytes#requirements--installation"),u(ft,"rel","nofollow"),u(ct,"href","https://huggingface.co/docs/diffusers/training/optimization/xformers"),u(ct,"rel","nofollow"),u(mt,"href","https://www.deepspeed.ai/"),u(mt,"rel","nofollow"),u(_t,"href","https://huggingface.co/docs/accelerate/usage_guides/deepspeed"),u(_t,"rel","nofollow"),u(yt,"id","")},m(l,i){t(document.head,y),p(l,S,i),p(l,T,i),t(T,E),t(E,ne),U(fl,ne,null),t(T,Os),t(T,pe),t(pe,Ks),p(l,sa,i),p(l,cl,i),t(cl,ul),t(ul,lr),t(cl,tr),p(l,ra,i),p(l,V,i),t(V,er),t(V,dl),t(dl,ar),t(V,sr),t(V,ml),t(ml,rr),t(V,ir),p(l,ia,i),p(l,Ul,i),t(Ul,or),p(l,oa,i),p(l,wt,i),t(wt,nr),p(l,na,i),U(D,l,i),p(l,pa,i),p(l,Zt,i),t(Zt,pr),p(l,fa,i),U(hl,l,i),p(l,ca,i),p(l,A,i),t(A,fr),t(A,_l),t(_l,cr),t(A,ur),p(l,ua,i),U(Ml,l,i),p(l,da,i),p(l,gt,i),t(gt,dr),p(l,ma,i),U(yl,l,i),p(l,Ua,i),p(l,bl,i),t(bl,Jl),t(Jl,mr),t(bl,Ur),p(l,ha,i),U(Tl,l,i),p(l,_a,i),p(l,jt,i),t(jt,hr),p(l,Ma,i),U(vl,l,i),p(l,ya,i),p(l,Rt,i),t(Rt,_r),p(l,ba,i),U(El,l,i),p(l,Ja,i),p(l,wl,i),t(wl,Mr),p(l,Ta,i),p(l,C,i),t(C,yr),t(C,Zl),t(Zl,br),t(C,Jr),t(C,gl),t(gl,Tr),t(C,vr),p(l,va,i),p(l,w,i),t(w,Er),t(w,jl),t(jl,fe),t(fe,wr),t(w,Zr),t(w,Rl),t(Rl,ce),t(ce,gr),t(w,jr),t(w,Gl),t(Gl,ue),t(ue,Rr),t(w,Gr),p(l,Ea,i),p(l,x,i),t(x,Wr),t(x,Gt),t(Gt,Ir),t(x,Vr),p(l,wa,i),p(l,Wl,i),t(Wl,Cr),p(l,Za,i),p(l,Wt,i),t(Wt,Nr),p(l,ga,i),U(Il,l,i),p(l,ja,i),p(l,N,i),t(N,de),t(de,Br),t(N,$r),t(N,Vl),t(Vl,me),t(me,Qr),t(N,Xr),p(l,Ra,i),p(l,k,i),t(k,Fr),t(k,Ue),t(Ue,Yr),t(k,Sr),p(l,Ga,i),U(Cl,l,i),p(l,Wa,i),p(l,It,i),t(It,Dr),p(l,Ia,i),p(l,z,i),t(z,Ar),t(z,he),t(he,xr),t(z,kr),p(l,Va,i),p(l,Vt,i),t(Vt,zr),p(l,Ca,i),U(Nl,l,i),p(l,Na,i),p(l,B,i),t(B,L),t(L,_e),U(Bl,_e,null),t(B,Lr),t(B,Me),t(Me,Pr),p(l,Ba,i),p(l,R,i),t(R,ye),t(ye,Hr),t(R,qr),t(R,be),t(be,Or),t(R,Kr),t(R,$l),t($l,li),t(R,ti),p(l,$a,i),U(Ql,l,i),p(l,Qa,i),p(l,Xl,i),t(Xl,ei),p(l,Xa,i),p(l,$,i),t($,P),t(P,Je),U(Fl,Je,null),t($,ai),t($,Te),t(Te,si),p(l,Fa,i),p(l,H,i),t(H,ve),t(ve,Yl),t(Yl,Ya),t(Yl,ri),t(Yl,Ee),t(H,ii),t(H,G),t(G,Sl),t(Sl,Sa),t(Sl,oi),t(Sl,Ct),t(Ct,ni),t(G,pi),t(G,Dl),t(Dl,we),t(we,Nt),t(Dl,fi),t(Dl,Bt),t(Bt,$t),t(G,ci),t(G,Al),t(Al,Da),t(Al,ui),t(Al,Qt),t(Qt,di),t(G,mi),t(G,xl),t(xl,Ze),t(Ze,Xt),t(xl,Ui),t(xl,Ft),t(Ft,Yt),p(l,Aa,i),p(l,Q,i),t(Q,q),t(q,ge),U(kl,ge,null),t(Q,hi),t(Q,je),t(je,_i),p(l,xa,i),p(l,O,i),t(O,Re),t(Re,zl),t(zl,ka),t(zl,Mi),t(zl,Ge),t(O,yi),t(O,W),t(W,Ll),t(Ll,za),t(Ll,bi),t(Ll,St),t(St,Ji),t(W,Ti),t(W,Pl),t(Pl,We),t(We,Dt),t(Pl,vi),t(Pl,At),t(At,xt),t(W,Ei),t(W,Hl),t(Hl,La),t(Hl,wi),t(Hl,kt),t(kt,Zi),t(W,gi),t(W,ql),t(ql,Ie),t(Ie,zt),t(ql,ji),t(ql,Lt),t(Lt,Pt),p(l,Pa,i),p(l,X,i),t(X,K),t(K,Ve),U(Ol,Ve,null),t(X,Ri),t(X,Ce),t(Ce,Gi),p(l,Ha,i),p(l,Ht,i),t(Ht,Wi),p(l,qa,i),p(l,ll,i),t(ll,Ne),t(Ne,Ii),t(ll,Vi),t(ll,Kl),t(Kl,Ci),t(Kl,lt),t(lt,Ni),t(Kl,Bi),p(l,Oa,i),p(l,qt,i),t(qt,$i),p(l,Ka,i),U(tt,l,i),p(l,ls,i),p(l,F,i),t(F,tl),t(tl,Be),U(et,Be,null),t(F,Qi),t(F,$e),t($e,Xi),p(l,ts,i),p(l,Ot,i),t(Ot,Fi),p(l,es,i),p(l,Z,i),t(Z,Qe),t(Qe,Yi),t(Z,Si),t(Z,at),t(at,Di),t(at,st),t(st,Ai),t(at,xi),t(Z,ki),t(Z,Kt),t(Kt,rt),t(rt,zi),t(Kt,Li),t(Z,Pi),t(Z,it),t(it,Hi),t(it,Xe),t(Xe,qi),t(it,Oi),p(l,as,i),U(ot,l,i),p(l,ss,i),p(l,I,i),t(I,Fe),t(Fe,Ki),t(I,lo),t(I,Ye),t(Ye,to),t(I,eo),t(I,Se),t(Se,ao),t(I,so),p(l,rs,i),p(l,Y,i),t(Y,el),t(el,De),U(nt,De,null),t(Y,ro),t(Y,Ae),t(Ae,io),p(l,is,i),p(l,le,i),t(le,oo),p(l,os,i),p(l,te,i),t(te,no),p(l,ns,i),p(l,b,i),t(b,xe),t(xe,po),t(b,fo),t(b,pt),t(pt,co),t(pt,ft),t(ft,uo),t(pt,mo),t(b,Uo),t(b,ee),t(ee,ct),t(ct,ho),t(ee,_o),t(b,Mo),t(b,ut),t(ut,yo),t(ut,ke),t(ke,bo),t(ut,Jo),t(b,To),t(b,ze),t(ze,vo),t(b,Eo),t(b,Le),t(Le,wo),p(l,ps,i),p(l,dt,i),t(dt,mt),t(mt,Zo),t(dt,go),p(l,fs,i),p(l,al,i),t(al,jo),t(al,Pe),t(Pe,Ro),t(al,Go),p(l,cs,i),p(l,ae,i),t(ae,Wo),p(l,us,i),U(Ut,l,i),p(l,ds,i),p(l,se,i),t(se,Io),p(l,ms,i),p(l,ht,i),t(ht,_t),t(_t,Vo),t(ht,Co),p(l,Us,i),p(l,re,i),t(re,No),p(l,hs,i),p(l,sl,i),t(sl,Bo),t(sl,He),t(He,$o),t(sl,Qo),p(l,_s,i),U(Mt,l,i),p(l,Ms,i),p(l,yt,i),t(yt,Xo),p(l,ys,i),p(l,J,i),t(J,Fo),t(J,qe),t(qe,Yo),t(J,So),t(J,Oe),t(Oe,Do),t(J,Ao),t(J,Ke),t(Ke,xo),t(J,ko),t(J,la),t(la,zo),t(J,Lo),t(J,ta),t(ta,Po),t(J,Ho),p(l,bs,i),U(bt,l,i),Js=!0},p(l,[i]){const Jt={};i&2&&(Jt.$$scope={dirty:i,ctx:l}),D.$set(Jt)},i(l){Js||(h(fl.$$.fragment,l),h(D.$$.fragment,l),h(hl.$$.fragment,l),h(Ml.$$.fragment,l),h(yl.$$.fragment,l),h(Tl.$$.fragment,l),h(vl.$$.fragment,l),h(El.$$.fragment,l),h(Il.$$.fragment,l),h(Cl.$$.fragment,l),h(Nl.$$.fragment,l),h(Bl.$$.fragment,l),h(Ql.$$.fragment,l),h(Fl.$$.fragment,l),h(kl.$$.fragment,l),h(Ol.$$.fragment,l),h(tt.$$.fragment,l),h(et.$$.fragment,l),h(ot.$$.fragment,l),h(nt.$$.fragment,l),h(Ut.$$.fragment,l),h(Mt.$$.fragment,l),h(bt.$$.fragment,l),Js=!0)},o(l){_(fl.$$.fragment,l),_(D.$$.fragment,l),_(hl.$$.fragment,l),_(Ml.$$.fragment,l),_(yl.$$.fragment,l),_(Tl.$$.fragment,l),_(vl.$$.fragment,l),_(El.$$.fragment,l),_(Il.$$.fragment,l),_(Cl.$$.fragment,l),_(Nl.$$.fragment,l),_(Bl.$$.fragment,l),_(Ql.$$.fragment,l),_(Fl.$$.fragment,l),_(kl.$$.fragment,l),_(Ol.$$.fragment,l),_(tt.$$.fragment,l),_(et.$$.fragment,l),_(ot.$$.fragment,l),_(nt.$$.fragment,l),_(Ut.$$.fragment,l),_(Mt.$$.fragment,l),_(bt.$$.fragment,l),Js=!1},d(l){e(y),l&&e(S),l&&e(T),M(fl),l&&e(sa),l&&e(cl),l&&e(ra),l&&e(V),l&&e(ia),l&&e(Ul),l&&e(oa),l&&e(wt),l&&e(na),M(D,l),l&&e(pa),l&&e(Zt),l&&e(fa),M(hl,l),l&&e(ca),l&&e(A),l&&e(ua),M(Ml,l),l&&e(da),l&&e(gt),l&&e(ma),M(yl,l),l&&e(Ua),l&&e(bl),l&&e(ha),M(Tl,l),l&&e(_a),l&&e(jt),l&&e(Ma),M(vl,l),l&&e(ya),l&&e(Rt),l&&e(ba),M(El,l),l&&e(Ja),l&&e(wl),l&&e(Ta),l&&e(C),l&&e(va),l&&e(w),l&&e(Ea),l&&e(x),l&&e(wa),l&&e(Wl),l&&e(Za),l&&e(Wt),l&&e(ga),M(Il,l),l&&e(ja),l&&e(N),l&&e(Ra),l&&e(k),l&&e(Ga),M(Cl,l),l&&e(Wa),l&&e(It),l&&e(Ia),l&&e(z),l&&e(Va),l&&e(Vt),l&&e(Ca),M(Nl,l),l&&e(Na),l&&e(B),M(Bl),l&&e(Ba),l&&e(R),l&&e($a),M(Ql,l),l&&e(Qa),l&&e(Xl),l&&e(Xa),l&&e($),M(Fl),l&&e(Fa),l&&e(H),l&&e(Aa),l&&e(Q),M(kl),l&&e(xa),l&&e(O),l&&e(Pa),l&&e(X),M(Ol),l&&e(Ha),l&&e(Ht),l&&e(qa),l&&e(ll),l&&e(Oa),l&&e(qt),l&&e(Ka),M(tt,l),l&&e(ls),l&&e(F),M(et),l&&e(ts),l&&e(Ot),l&&e(es),l&&e(Z),l&&e(as),M(ot,l),l&&e(ss),l&&e(I),l&&e(rs),l&&e(Y),M(nt),l&&e(is),l&&e(le),l&&e(os),l&&e(te),l&&e(ns),l&&e(b),l&&e(ps),l&&e(dt),l&&e(fs),l&&e(al),l&&e(cs),l&&e(ae),l&&e(us),M(Ut,l),l&&e(ds),l&&e(se),l&&e(ms),l&&e(ht),l&&e(Us),l&&e(re),l&&e(hs),l&&e(sl),l&&e(_s),M(Mt,l),l&&e(Ms),l&&e(yt),l&&e(ys),l&&e(J),l&&e(bs),M(bt,l)}}}const Uf={local:"controlnet",sections:[{local:"",title:"\uC758\uC874\uC131 \uC124\uCE58\uD558\uAE30"},{local:"",title:"\uC6D0\uC744 \uCC44\uC6B0\uB294 \uB370\uC774\uD130\uC14B"},{local:"",title:"\uD559\uC2B5"},{local:"gpu",title:"\uC5EC\uB7EC\uAC1C GPU\uB85C \uD559\uC2B5\uD558\uAE30"},{local:"",sections:[{local:"8-300",title:"\uBC30\uCE58 \uC0AC\uC774\uC988 8\uB85C 300 \uC2A4\uD15D \uC774\uD6C4:"},{local:"8-6000",title:"\uBC30\uCE58 \uC0AC\uC774\uC988 8\uB85C 6000 \uC2A4\uD15D \uC774\uD6C4:"}],title:"\uC608\uC2DC \uACB0\uACFC"},{local:"16gb-gpu",title:"16GB GPU\uC5D0\uC11C \uD559\uC2B5\uD558\uAE30"},{local:"12gb-gpu",title:"12GB GPU\uC5D0\uC11C \uD559\uC2B5\uD558\uAE30"},{local:"8gb-gpu",title:"8GB GPU\uC5D0\uC11C \uD559\uC2B5\uD558\uAE30"},{local:"",title:"\uCD94\uB860"}],title:"ControlNet"};function hf(aa){return cf(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Jf extends of{constructor(y){super();nf(this,y,hf,mf,pf,{})}}export{Jf as default,Uf as metadata};
