Buckets:
hf-doc-build/doc / diffusers /main /ko /_app /pages /using-diffusers /write_own_pipeline.mdx-hf-doc-builder.js
| import{S as Ip,i as kp,s as Rp,e as i,k as r,t as a,w as M,M as Gp,c as o,d as l,m as c,a as m,h as n,x as h,b as w,N as $p,G as e,g as p,y as U,q as b,o as j,B as J,v as Np,L as Qp}from"../../chunks/vendor-hf-doc-builder.js";import{T as jn}from"../../chunks/Tip-hf-doc-builder.js";import{I as Wp}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{C as g}from"../../chunks/CodeBlock-hf-doc-builder.js";import{D as Dp}from"../../chunks/DocNotebookDropdown-hf-doc-builder.js";function Xp(A){let f,E,u,Z,C;return{c(){f=i("p"),E=a("\u{1F4A1} VAE, UNet \uBC0F \uD14D\uC2A4\uD2B8 \uC778\uCF54\uB354 \uBAA8\uB378\uC758 \uC791\uB3D9\uBC29\uC2DD\uC5D0 \uB300\uD55C \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 "),u=i("a"),Z=a("How does Stable Diffusion work?"),C=a(" \uBE14\uB85C\uADF8\uB97C \uCC38\uC870\uD558\uC138\uC694."),this.h()},l(y){f=o(y,"P",{});var d=m(f);E=n(d,"\u{1F4A1} VAE, UNet \uBC0F \uD14D\uC2A4\uD2B8 \uC778\uCF54\uB354 \uBAA8\uB378\uC758 \uC791\uB3D9\uBC29\uC2DD\uC5D0 \uB300\uD55C \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 "),u=o(d,"A",{href:!0,rel:!0});var T=m(u);Z=n(T,"How does Stable Diffusion work?"),T.forEach(l),C=n(d," \uBE14\uB85C\uADF8\uB97C \uCC38\uC870\uD558\uC138\uC694."),d.forEach(l),this.h()},h(){w(u,"href","https://huggingface.co/blog/stable_diffusion#how-does-stable-diffusion-work"),w(u,"rel","nofollow")},m(y,d){p(y,f,d),e(f,E),e(f,u),e(u,Z),e(f,C)},d(y){y&&l(f)}}}function Bp(A){let f,E,u,Z,C;return{c(){f=i("p"),E=a("\u{1F4A1} "),u=i("code"),Z=a("guidance_scale"),C=a(" \uB9E4\uAC1C\uBCC0\uC218\uB294 \uC774\uBBF8\uC9C0\uB97C \uC0DD\uC131\uD560 \uB54C \uD504\uB86C\uD504\uD2B8\uC5D0 \uC5BC\uB9C8\uB098 \uB9CE\uC740 \uAC00\uC911\uCE58\uB97C \uBD80\uC5EC\uD560\uC9C0 \uACB0\uC815\uD569\uB2C8\uB2E4.")},l(y){f=o(y,"P",{});var d=m(f);E=n(d,"\u{1F4A1} "),u=o(d,"CODE",{});var T=m(u);Z=n(T,"guidance_scale"),T.forEach(l),C=n(d," \uB9E4\uAC1C\uBCC0\uC218\uB294 \uC774\uBBF8\uC9C0\uB97C \uC0DD\uC131\uD560 \uB54C \uD504\uB86C\uD504\uD2B8\uC5D0 \uC5BC\uB9C8\uB098 \uB9CE\uC740 \uAC00\uC911\uCE58\uB97C \uBD80\uC5EC\uD560\uC9C0 \uACB0\uC815\uD569\uB2C8\uB2E4."),d.forEach(l)},m(y,d){p(y,f,d),e(f,E),e(f,u),e(u,Z),e(f,C)},d(y){y&&l(f)}}}function Sp(A){let f,E,u,Z,C,y,d,T;return d=new g({props:{code:"MiUyMCoqJTIwKGxlbih2YWUuY29uZmlnLmJsb2NrX291dF9jaGFubmVscyklMjAtJTIwMSklMjAlM0QlM0QlMjA4",highlighted:'<span class="hljs-number">2</span> ** (<span class="hljs-built_in">len</span>(vae.config.block_out_channels) - <span class="hljs-number">1</span>) == <span class="hljs-number">8</span>'}}),{c(){f=i("p"),E=a("\u{1F4A1} "),u=i("code"),Z=a("vae"),C=a(" \uBAA8\uB378\uC5D0\uB294 3\uAC1C\uC758 \uB2E4\uC6B4 \uC0D8\uD50C\uB9C1 \uB808\uC774\uC5B4\uAC00 \uC788\uAE30 \uB54C\uBB38\uC5D0 \uB192\uC774\uC640 \uB108\uBE44\uAC00 8\uB85C \uB098\uB269\uB2C8\uB2E4. \uB2E4\uC74C\uC744 \uC2E4\uD589\uD558\uC5EC \uD655\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4:"),y=r(),M(d.$$.fragment)},l(_){f=o(_,"P",{});var v=m(f);E=n(v,"\u{1F4A1} "),u=o(v,"CODE",{});var Xs=m(u);Z=n(Xs,"vae"),Xs.forEach(l),C=n(v," \uBAA8\uB378\uC5D0\uB294 3\uAC1C\uC758 \uB2E4\uC6B4 \uC0D8\uD50C\uB9C1 \uB808\uC774\uC5B4\uAC00 \uC788\uAE30 \uB54C\uBB38\uC5D0 \uB192\uC774\uC640 \uB108\uBE44\uAC00 8\uB85C \uB098\uB269\uB2C8\uB2E4. \uB2E4\uC74C\uC744 \uC2E4\uD589\uD558\uC5EC \uD655\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4:"),v.forEach(l),y=c(_),h(d.$$.fragment,_)},m(_,v){p(_,f,v),e(f,E),e(f,u),e(u,Z),e(f,C),p(_,y,v),U(d,_,v),T=!0},p:Qp,i(_){T||(b(d.$$.fragment,_),T=!0)},o(_){j(d.$$.fragment,_),T=!1},d(_){_&&l(f),_&&l(y),J(d,_)}}}function Fp(A){let f,E,u,Z,C,y,d,T,_,v,Xs,mt,Ll,Bs,rt,Ol,ts,ct,ql,Ss,ft,Kl,as,se,ns,Fs,Jn,le,zs,ut,ee,k,dt,rl,Mt,ht,cl,Ut,bt,fl,jt,Jt,te,As,yt,ae,V,ps,ul,wt,gt,is,Tt,os,dl,_t,Et,ms,Ct,rs,Ml,Vt,Zt,cs,vt,fs,hl,$t,It,us,kt,F,G,Rt,Ul,Gt,Nt,bl,Qt,Wt,jl,Dt,Xt,Bt,ds,St,Jl,Ft,zt,Ms,yl,At,Yt,hs,ne,$,xt,wl,Ht,Pt,gl,Lt,Ot,Tl,qt,Kt,_l,sa,la,pe,Ys,ea,ie,z,Y,El,Us,ta,Cl,aa,oe,x,na,Vl,pa,ia,me,xs,oa,re,H,ce,N,ma,Zl,ra,ca,bs,vl,fa,ua,fe,js,ue,Q,da,$l,Ma,ha,Il,Ua,ba,de,Js,Me,Hs,ja,he,ys,Ue,ws,Ja,be,Ps,ya,je,P,Je,Ls,wa,ye,gs,we,Os,ga,ge,Ts,Te,I,Ta,kl,_a,Ea,Rl,Ca,Va,Gl,Za,va,Nl,$a,Ia,_e,_s,Ee,qs,ka,Ce,Es,Ve,Cs,Ra,Ze,L,Ga,Ql,Na,Qa,ve,O,$e,Vs,Ie,Zs,Wa,ke,W,Da,Wl,Xa,Ba,Dl,Sa,Fa,Re,vs,Ge,q,za,Xl,Aa,Ya,Ne,D,Bl,xa,Ha,Sl,Pa,La,Fl,Oa,Qe,$s,We,Is,qa,De,X,Ka,zl,sn,ln,Al,en,tn,Xe,ks,Be,K,an,Yl,nn,pn,Se,Rs,Fe,Gs,xl,yn,ze,Ns,on,Ae,Ks,mn,Ye,sl,rn,xe,ll,cn,He,ss,Qs,fn,el,un,dn,Mn,Ws,hn,tl,Un,bn,Pe;return y=new Dp({props:{classNames:"absolute z-10 right-0 top-0",options:[{label:"Mixed",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers_doc/ko/write_own_pipeline.ipynb"},{label:"PyTorch",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers_doc/ko/pytorch/write_own_pipeline.ipynb"},{label:"TensorFlow",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers_doc/ko/tensorflow/write_own_pipeline.ipynb"},{label:"Mixed",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/diffusers_doc/ko/write_own_pipeline.ipynb"},{label:"PyTorch",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/diffusers_doc/ko/pytorch/write_own_pipeline.ipynb"},{label:"TensorFlow",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/diffusers_doc/ko/tensorflow/write_own_pipeline.ipynb"}]}}),as=new g({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMEREUE1QaXBlbGluZSUwQSUwQWRkcG0lMjAlM0QlMjBERFBNUGlwZWxpbmUuZnJvbV9wcmV0cmFpbmVkKCUyMmdvb2dsZSUyRmRkcG0tY2F0LTI1NiUyMikudG8oJTIyY3VkYSUyMiklMEFpbWFnZSUyMCUzRCUyMGRkcG0obnVtX2luZmVyZW5jZV9zdGVwcyUzRDI1KS5pbWFnZXMlNUIwJTVEJTBBaW1hZ2U=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> DDPMPipeline | |
| <span class="hljs-meta">>>> </span>ddpm = DDPMPipeline.from_pretrained(<span class="hljs-string">"google/ddpm-cat-256"</span>).to(<span class="hljs-string">"cuda"</span>) | |
| <span class="hljs-meta">>>> </span>image = ddpm(num_inference_steps=<span class="hljs-number">25</span>).images[<span class="hljs-number">0</span>] | |
| <span class="hljs-meta">>>> </span>image`}}),is=new g({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMEREUE1TY2hlZHVsZXIlMkMlMjBVTmV0MkRNb2RlbCUwQSUwQXNjaGVkdWxlciUyMCUzRCUyMEREUE1TY2hlZHVsZXIuZnJvbV9wcmV0cmFpbmVkKCUyMmdvb2dsZSUyRmRkcG0tY2F0LTI1NiUyMiklMEFtb2RlbCUyMCUzRCUyMFVOZXQyRE1vZGVsLmZyb21fcHJldHJhaW5lZCglMjJnb29nbGUlMkZkZHBtLWNhdC0yNTYlMjIpLnRvKCUyMmN1ZGElMjIp",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> DDPMScheduler, UNet2DModel | |
| <span class="hljs-meta">>>> </span>scheduler = DDPMScheduler.from_pretrained(<span class="hljs-string">"google/ddpm-cat-256"</span>) | |
| <span class="hljs-meta">>>> </span>model = UNet2DModel.from_pretrained(<span class="hljs-string">"google/ddpm-cat-256"</span>).to(<span class="hljs-string">"cuda"</span>)`}}),ms=new g({props:{code:"c2NoZWR1bGVyLnNldF90aW1lc3RlcHMoNTAp",highlighted:'<span class="hljs-meta">>>> </span>scheduler.set_timesteps(<span class="hljs-number">50</span>)'}}),cs=new g({props:{code:"c2NoZWR1bGVyLnRpbWVzdGVwcw==",highlighted:`<span class="hljs-meta">>>> </span>scheduler.timesteps | |
| tensor([<span class="hljs-number">980</span>, <span class="hljs-number">960</span>, <span class="hljs-number">940</span>, <span class="hljs-number">920</span>, <span class="hljs-number">900</span>, <span class="hljs-number">880</span>, <span class="hljs-number">860</span>, <span class="hljs-number">840</span>, <span class="hljs-number">820</span>, <span class="hljs-number">800</span>, <span class="hljs-number">780</span>, <span class="hljs-number">760</span>, <span class="hljs-number">740</span>, <span class="hljs-number">720</span>, | |
| <span class="hljs-number">700</span>, <span class="hljs-number">680</span>, <span class="hljs-number">660</span>, <span class="hljs-number">640</span>, <span class="hljs-number">620</span>, <span class="hljs-number">600</span>, <span class="hljs-number">580</span>, <span class="hljs-number">560</span>, <span class="hljs-number">540</span>, <span class="hljs-number">520</span>, <span class="hljs-number">500</span>, <span class="hljs-number">480</span>, <span class="hljs-number">460</span>, <span class="hljs-number">440</span>, | |
| <span class="hljs-number">420</span>, <span class="hljs-number">400</span>, <span class="hljs-number">380</span>, <span class="hljs-number">360</span>, <span class="hljs-number">340</span>, <span class="hljs-number">320</span>, <span class="hljs-number">300</span>, <span class="hljs-number">280</span>, <span class="hljs-number">260</span>, <span class="hljs-number">240</span>, <span class="hljs-number">220</span>, <span class="hljs-number">200</span>, <span class="hljs-number">180</span>, <span class="hljs-number">160</span>, | |
| <span class="hljs-number">140</span>, <span class="hljs-number">120</span>, <span class="hljs-number">100</span>, <span class="hljs-number">80</span>, <span class="hljs-number">60</span>, <span class="hljs-number">40</span>, <span class="hljs-number">20</span>, <span class="hljs-number">0</span>])`}}),us=new g({props:{code:"aW1wb3J0JTIwdG9yY2glMEElMEFzYW1wbGVfc2l6ZSUyMCUzRCUyMG1vZGVsLmNvbmZpZy5zYW1wbGVfc2l6ZSUwQW5vaXNlJTIwJTNEJTIwdG9yY2gucmFuZG4oKDElMkMlMjAzJTJDJTIwc2FtcGxlX3NpemUlMkMlMjBzYW1wbGVfc2l6ZSkpLnRvKCUyMmN1ZGElMjIp",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> torch | |
| <span class="hljs-meta">>>> </span>sample_size = model.config.sample_size | |
| <span class="hljs-meta">>>> </span>noise = torch.randn((<span class="hljs-number">1</span>, <span class="hljs-number">3</span>, sample_size, sample_size)).to(<span class="hljs-string">"cuda"</span>)`}}),ds=new g({props:{code:"aW5wdXQlMjAlM0QlMjBub2lzZSUwQSUwQWZvciUyMHQlMjBpbiUyMHNjaGVkdWxlci50aW1lc3RlcHMlM0ElMEElMjAlMjAlMjAlMjB3aXRoJTIwdG9yY2gubm9fZ3JhZCgpJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbm9pc3lfcmVzaWR1YWwlMjAlM0QlMjBtb2RlbChpbnB1dCUyQyUyMHQpLnNhbXBsZSUwQSUyMCUyMCUyMCUyMHByZXZpb3VzX25vaXN5X3NhbXBsZSUyMCUzRCUyMHNjaGVkdWxlci5zdGVwKG5vaXN5X3Jlc2lkdWFsJTJDJTIwdCUyQyUyMGlucHV0KS5wcmV2X3NhbXBsZSUwQSUyMCUyMCUyMCUyMGlucHV0JTIwJTNEJTIwcHJldmlvdXNfbm9pc3lfc2FtcGxl",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-built_in">input</span> = noise | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">for</span> t <span class="hljs-keyword">in</span> scheduler.timesteps: | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">with</span> torch.no_grad(): | |
| <span class="hljs-meta">... </span> noisy_residual = model(<span class="hljs-built_in">input</span>, t).sample | |
| <span class="hljs-meta">... </span> previous_noisy_sample = scheduler.step(noisy_residual, t, <span class="hljs-built_in">input</span>).prev_sample | |
| <span class="hljs-meta">... </span> <span class="hljs-built_in">input</span> = previous_noisy_sample`}}),hs=new g({props:{code:"ZnJvbSUyMFBJTCUyMGltcG9ydCUyMEltYWdlJTBBaW1wb3J0JTIwbnVtcHklMjBhcyUyMG5wJTBBJTBBaW1hZ2UlMjAlM0QlMjAoaW5wdXQlMjAlMkYlMjAyJTIwJTJCJTIwMC41KS5jbGFtcCgwJTJDJTIwMSklMEFpbWFnZSUyMCUzRCUyMGltYWdlLmNwdSgpLnBlcm11dGUoMCUyQyUyMDIlMkMlMjAzJTJDJTIwMSkubnVtcHkoKSU1QjAlNUQlMEFpbWFnZSUyMCUzRCUyMEltYWdlLmZyb21hcnJheSgoaW1hZ2UlMjAqJTIwMjU1KS5yb3VuZCgpLmFzdHlwZSglMjJ1aW50OCUyMikpJTBBaW1hZ2U=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> PIL <span class="hljs-keyword">import</span> Image | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> numpy <span class="hljs-keyword">as</span> np | |
| <span class="hljs-meta">>>> </span>image = (<span class="hljs-built_in">input</span> / <span class="hljs-number">2</span> + <span class="hljs-number">0.5</span>).clamp(<span class="hljs-number">0</span>, <span class="hljs-number">1</span>) | |
| <span class="hljs-meta">>>> </span>image = image.cpu().permute(<span class="hljs-number">0</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>, <span class="hljs-number">1</span>).numpy()[<span class="hljs-number">0</span>] | |
| <span class="hljs-meta">>>> </span>image = Image.fromarray((image * <span class="hljs-number">255</span>).<span class="hljs-built_in">round</span>().astype(<span class="hljs-string">"uint8"</span>)) | |
| <span class="hljs-meta">>>> </span>image`}}),Us=new Wp({}),H=new jn({props:{$$slots:{default:[Xp]},$$scope:{ctx:A}}}),js=new g({props:{code:"ZnJvbSUyMFBJTCUyMGltcG9ydCUyMEltYWdlJTBBaW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwdHJhbnNmb3JtZXJzJTIwaW1wb3J0JTIwQ0xJUFRleHRNb2RlbCUyQyUyMENMSVBUb2tlbml6ZXIlMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwQXV0b2VuY29kZXJLTCUyQyUyMFVOZXQyRENvbmRpdGlvbk1vZGVsJTJDJTIwUE5ETVNjaGVkdWxlciUwQSUwQXZhZSUyMCUzRCUyMEF1dG9lbmNvZGVyS0wuZnJvbV9wcmV0cmFpbmVkKCUyMkNvbXBWaXMlMkZzdGFibGUtZGlmZnVzaW9uLXYxLTQlMjIlMkMlMjBzdWJmb2xkZXIlM0QlMjJ2YWUlMjIpJTBBdG9rZW5pemVyJTIwJTNEJTIwQ0xJUFRva2VuaXplci5mcm9tX3ByZXRyYWluZWQoJTIyQ29tcFZpcyUyRnN0YWJsZS1kaWZmdXNpb24tdjEtNCUyMiUyQyUyMHN1YmZvbGRlciUzRCUyMnRva2VuaXplciUyMiklMEF0ZXh0X2VuY29kZXIlMjAlM0QlMjBDTElQVGV4dE1vZGVsLmZyb21fcHJldHJhaW5lZCglMjJDb21wVmlzJTJGc3RhYmxlLWRpZmZ1c2lvbi12MS00JTIyJTJDJTIwc3ViZm9sZGVyJTNEJTIydGV4dF9lbmNvZGVyJTIyKSUwQXVuZXQlMjAlM0QlMjBVTmV0MkRDb25kaXRpb25Nb2RlbC5mcm9tX3ByZXRyYWluZWQoJTIyQ29tcFZpcyUyRnN0YWJsZS1kaWZmdXNpb24tdjEtNCUyMiUyQyUyMHN1YmZvbGRlciUzRCUyMnVuZXQlMjIp",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> PIL <span class="hljs-keyword">import</span> Image | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> torch | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> CLIPTextModel, CLIPTokenizer | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> AutoencoderKL, UNet2DConditionModel, PNDMScheduler | |
| <span class="hljs-meta">>>> </span>vae = AutoencoderKL.from_pretrained(<span class="hljs-string">"CompVis/stable-diffusion-v1-4"</span>, subfolder=<span class="hljs-string">"vae"</span>) | |
| <span class="hljs-meta">>>> </span>tokenizer = CLIPTokenizer.from_pretrained(<span class="hljs-string">"CompVis/stable-diffusion-v1-4"</span>, subfolder=<span class="hljs-string">"tokenizer"</span>) | |
| <span class="hljs-meta">>>> </span>text_encoder = CLIPTextModel.from_pretrained(<span class="hljs-string">"CompVis/stable-diffusion-v1-4"</span>, subfolder=<span class="hljs-string">"text_encoder"</span>) | |
| <span class="hljs-meta">>>> </span>unet = UNet2DConditionModel.from_pretrained(<span class="hljs-string">"CompVis/stable-diffusion-v1-4"</span>, subfolder=<span class="hljs-string">"unet"</span>)`}}),Js=new g({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMFVuaVBDTXVsdGlzdGVwU2NoZWR1bGVyJTBBJTBBc2NoZWR1bGVyJTIwJTNEJTIwVW5pUENNdWx0aXN0ZXBTY2hlZHVsZXIuZnJvbV9wcmV0cmFpbmVkKCUyMkNvbXBWaXMlMkZzdGFibGUtZGlmZnVzaW9uLXYxLTQlMjIlMkMlMjBzdWJmb2xkZXIlM0QlMjJzY2hlZHVsZXIlMjIp",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> UniPCMultistepScheduler | |
| <span class="hljs-meta">>>> </span>scheduler = UniPCMultistepScheduler.from_pretrained(<span class="hljs-string">"CompVis/stable-diffusion-v1-4"</span>, subfolder=<span class="hljs-string">"scheduler"</span>)`}}),ys=new g({props:{code:"dG9yY2hfZGV2aWNlJTIwJTNEJTIwJTIyY3VkYSUyMiUwQXZhZS50byh0b3JjaF9kZXZpY2UpJTBBdGV4dF9lbmNvZGVyLnRvKHRvcmNoX2RldmljZSklMEF1bmV0LnRvKHRvcmNoX2RldmljZSk=",highlighted:`<span class="hljs-meta">>>> </span>torch_device = <span class="hljs-string">"cuda"</span> | |
| <span class="hljs-meta">>>> </span>vae.to(torch_device) | |
| <span class="hljs-meta">>>> </span>text_encoder.to(torch_device) | |
| <span class="hljs-meta">>>> </span>unet.to(torch_device)`}}),P=new jn({props:{$$slots:{default:[Bp]},$$scope:{ctx:A}}}),gs=new g({props:{code:"cHJvbXB0JTIwJTNEJTIwJTVCJTIyYSUyMHBob3RvZ3JhcGglMjBvZiUyMGFuJTIwYXN0cm9uYXV0JTIwcmlkaW5nJTIwYSUyMGhvcnNlJTIyJTVEJTBBaGVpZ2h0JTIwJTNEJTIwNTEyJTIwJTIwJTIzJTIwU3RhYmxlJTIwRGlmZnVzaW9uJUVDJTlEJTk4JTIwJUVBJUI4JUIwJUVCJUIzJUI4JTIwJUVCJTg2JTkyJUVDJTlEJUI0JTBBd2lkdGglMjAlM0QlMjA1MTIlMjAlMjAlMjMlMjBTdGFibGUlMjBEaWZmdXNpb24lRUMlOUQlOTglMjAlRUElQjglQjAlRUIlQjMlQjglMjAlRUIlODQlODglRUIlQjklODQlMEFudW1faW5mZXJlbmNlX3N0ZXBzJTIwJTNEJTIwMjUlMjAlMjAlMjMlMjAlRUIlODUlQjglRUMlOUQlQjQlRUMlQTYlODglMjAlRUMlQTAlOUMlRUElQjElQjAlMjAlRUMlOEElQTQlRUQlODUlOUQlMjAlRUMlODglOTglMEFndWlkYW5jZV9zY2FsZSUyMCUzRCUyMDcuNSUyMCUyMCUyMyUyMGNsYXNzaWZpZXItZnJlZSUyMGd1aWRhbmNlJUVCJUE1JUJDJTIwJUVDJTlDJTg0JUVEJTk1JTlDJTIwc2NhbGUlMEFnZW5lcmF0b3IlMjAlM0QlMjB0b3JjaC5tYW51YWxfc2VlZCgwKSUyMCUyMCUyMyUyMCVFQyVCNCU4OCVFQSVCOCVCMCUyMCVFQyU5RSVBMCVFQyU5RSVBQyUyMCVFQiU4NSVCOCVFQyU5RCVCNCVFQyVBNiU4OCVFQiVBNSVCQyUyMCVFQyU4MyU5RCVFQyU4NCVCMSVFRCU5NSU5OCVFQiU4QSU5NCUyMHNlZWQlMjBnZW5lcmF0b3IlMEFiYXRjaF9zaXplJTIwJTNEJTIwbGVuKHByb21wdCk=",highlighted:`<span class="hljs-meta">>>> </span>prompt = [<span class="hljs-string">"a photograph of an astronaut riding a horse"</span>] | |
| <span class="hljs-meta">>>> </span>height = <span class="hljs-number">512</span> <span class="hljs-comment"># Stable Diffusion\uC758 \uAE30\uBCF8 \uB192\uC774</span> | |
| <span class="hljs-meta">>>> </span>width = <span class="hljs-number">512</span> <span class="hljs-comment"># Stable Diffusion\uC758 \uAE30\uBCF8 \uB108\uBE44</span> | |
| <span class="hljs-meta">>>> </span>num_inference_steps = <span class="hljs-number">25</span> <span class="hljs-comment"># \uB178\uC774\uC988 \uC81C\uAC70 \uC2A4\uD15D \uC218</span> | |
| <span class="hljs-meta">>>> </span>guidance_scale = <span class="hljs-number">7.5</span> <span class="hljs-comment"># classifier-free guidance\uB97C \uC704\uD55C scale</span> | |
| <span class="hljs-meta">>>> </span>generator = torch.manual_seed(<span class="hljs-number">0</span>) <span class="hljs-comment"># \uCD08\uAE30 \uC7A0\uC7AC \uB178\uC774\uC988\uB97C \uC0DD\uC131\uD558\uB294 seed generator</span> | |
| <span class="hljs-meta">>>> </span>batch_size = <span class="hljs-built_in">len</span>(prompt)`}}),Ts=new g({props:{code:"dGV4dF9pbnB1dCUyMCUzRCUyMHRva2VuaXplciglMEElMjAlMjAlMjAlMjBwcm9tcHQlMkMlMjBwYWRkaW5nJTNEJTIybWF4X2xlbmd0aCUyMiUyQyUyMG1heF9sZW5ndGglM0R0b2tlbml6ZXIubW9kZWxfbWF4X2xlbmd0aCUyQyUyMHRydW5jYXRpb24lM0RUcnVlJTJDJTIwcmV0dXJuX3RlbnNvcnMlM0QlMjJwdCUyMiUwQSklMEElMEF3aXRoJTIwdG9yY2gubm9fZ3JhZCgpJTNBJTBBJTIwJTIwJTIwJTIwdGV4dF9lbWJlZGRpbmdzJTIwJTNEJTIwdGV4dF9lbmNvZGVyKHRleHRfaW5wdXQuaW5wdXRfaWRzLnRvKHRvcmNoX2RldmljZSkpJTVCMCU1RA==",highlighted:`<span class="hljs-meta">>>> </span>text_input = tokenizer( | |
| <span class="hljs-meta">... </span> prompt, padding=<span class="hljs-string">"max_length"</span>, max_length=tokenizer.model_max_length, truncation=<span class="hljs-literal">True</span>, return_tensors=<span class="hljs-string">"pt"</span> | |
| <span class="hljs-meta">... </span>) | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">with</span> torch.no_grad(): | |
| <span class="hljs-meta">... </span> text_embeddings = text_encoder(text_input.input_ids.to(torch_device))[<span class="hljs-number">0</span>]`}}),_s=new g({props:{code:"bWF4X2xlbmd0aCUyMCUzRCUyMHRleHRfaW5wdXQuaW5wdXRfaWRzLnNoYXBlJTVCLTElNUQlMEF1bmNvbmRfaW5wdXQlMjAlM0QlMjB0b2tlbml6ZXIoJTVCJTIyJTIyJTVEJTIwKiUyMGJhdGNoX3NpemUlMkMlMjBwYWRkaW5nJTNEJTIybWF4X2xlbmd0aCUyMiUyQyUyMG1heF9sZW5ndGglM0RtYXhfbGVuZ3RoJTJDJTIwcmV0dXJuX3RlbnNvcnMlM0QlMjJwdCUyMiklMEF1bmNvbmRfZW1iZWRkaW5ncyUyMCUzRCUyMHRleHRfZW5jb2Rlcih1bmNvbmRfaW5wdXQuaW5wdXRfaWRzLnRvKHRvcmNoX2RldmljZSkpJTVCMCU1RA==",highlighted:`<span class="hljs-meta">>>> </span>max_length = text_input.input_ids.shape[-<span class="hljs-number">1</span>] | |
| <span class="hljs-meta">>>> </span>uncond_input = tokenizer([<span class="hljs-string">""</span>] * batch_size, padding=<span class="hljs-string">"max_length"</span>, max_length=max_length, return_tensors=<span class="hljs-string">"pt"</span>) | |
| <span class="hljs-meta">>>> </span>uncond_embeddings = text_encoder(uncond_input.input_ids.to(torch_device))[<span class="hljs-number">0</span>]`}}),Es=new g({props:{code:"dGV4dF9lbWJlZGRpbmdzJTIwJTNEJTIwdG9yY2guY2F0KCU1QnVuY29uZF9lbWJlZGRpbmdzJTJDJTIwdGV4dF9lbWJlZGRpbmdzJTVEKQ==",highlighted:'<span class="hljs-meta">>>> </span>text_embeddings = torch.cat([uncond_embeddings, text_embeddings])'}}),O=new jn({props:{$$slots:{default:[Sp]},$$scope:{ctx:A}}}),Vs=new g({props:{code:"bGF0ZW50cyUyMCUzRCUyMHRvcmNoLnJhbmRuKCUwQSUyMCUyMCUyMCUyMChiYXRjaF9zaXplJTJDJTIwdW5ldC5pbl9jaGFubmVscyUyQyUyMGhlaWdodCUyMCUyRiUyRiUyMDglMkMlMjB3aWR0aCUyMCUyRiUyRiUyMDgpJTJDJTBBJTIwJTIwJTIwJTIwZ2VuZXJhdG9yJTNEZ2VuZXJhdG9yJTJDJTBBKSUwQWxhdGVudHMlMjAlM0QlMjBsYXRlbnRzLnRvKHRvcmNoX2RldmljZSk=",highlighted:`<span class="hljs-meta">>>> </span>latents = torch.randn( | |
| <span class="hljs-meta">... </span> (batch_size, unet.in_channels, height // <span class="hljs-number">8</span>, width // <span class="hljs-number">8</span>), | |
| <span class="hljs-meta">... </span> generator=generator, | |
| <span class="hljs-meta">... </span>) | |
| <span class="hljs-meta">>>> </span>latents = latents.to(torch_device)`}}),vs=new g({props:{code:"bGF0ZW50cyUyMCUzRCUyMGxhdGVudHMlMjAqJTIwc2NoZWR1bGVyLmluaXRfbm9pc2Vfc2lnbWE=",highlighted:'<span class="hljs-meta">>>> </span>latents = latents * scheduler.init_noise_sigma'}}),$s=new g({props:{code:"ZnJvbSUyMHRxZG0uYXV0byUyMGltcG9ydCUyMHRxZG0lMEElMEFzY2hlZHVsZXIuc2V0X3RpbWVzdGVwcyhudW1faW5mZXJlbmNlX3N0ZXBzKSUwQSUwQWZvciUyMHQlMjBpbiUyMHRxZG0oc2NoZWR1bGVyLnRpbWVzdGVwcyklM0ElMEElMjAlMjAlMjAlMjAlMjMlMjBjbGFzc2lmaWVyLWZyZWUlMjBndWlkYW5jZSVFQiVBNSVCQyUyMCVFQyU4OCU5OCVFRCU5NiU4OSVFRCU5NSU5OCVFQiU4QSU5NCUyMCVFQSVCMiVCRCVFQyU5QSVCMCUyMCVFQiU5MSU5MCVFQiVCMiU4OCVFQyU5RCU5OCUyMGZvcndhcmQlMjBwYXNzJUVCJUE1JUJDJTIwJUVDJTg4JTk4JUVEJTk2JTg5JUVEJTk1JTk4JUVDJUE3JTgwJTIwJUVDJTk1JThBJUVCJThGJTg0JUVCJUExJTlEJTIwbGF0ZW50JUVCJUE1JUJDJTIwJUVEJTk5JTk1JUVDJTlFJUE1LiUwQSUyMCUyMCUyMCUyMGxhdGVudF9tb2RlbF9pbnB1dCUyMCUzRCUyMHRvcmNoLmNhdCglNUJsYXRlbnRzJTVEJTIwKiUyMDIpJTBBJTBBJTIwJTIwJTIwJTIwbGF0ZW50X21vZGVsX2lucHV0JTIwJTNEJTIwc2NoZWR1bGVyLnNjYWxlX21vZGVsX2lucHV0KGxhdGVudF9tb2RlbF9pbnB1dCUyQyUyMHRpbWVzdGVwJTNEdCklMEElMEElMjAlMjAlMjAlMjAlMjMlMjBub2lzZSUyMHJlc2lkdWFsJTIwJUVDJTk4JTg4JUVDJUI4JUExJTBBJTIwJTIwJTIwJTIwd2l0aCUyMHRvcmNoLm5vX2dyYWQoKSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMG5vaXNlX3ByZWQlMjAlM0QlMjB1bmV0KGxhdGVudF9tb2RlbF9pbnB1dCUyQyUyMHQlMkMlMjBlbmNvZGVyX2hpZGRlbl9zdGF0ZXMlM0R0ZXh0X2VtYmVkZGluZ3MpLnNhbXBsZSUwQSUwQSUyMCUyMCUyMCUyMCUyMyUyMGd1aWRhbmNlJTIwJUVDJTg4JTk4JUVEJTk2JTg5JTBBJTIwJTIwJTIwJTIwbm9pc2VfcHJlZF91bmNvbmQlMkMlMjBub2lzZV9wcmVkX3RleHQlMjAlM0QlMjBub2lzZV9wcmVkLmNodW5rKDIpJTBBJTIwJTIwJTIwJTIwbm9pc2VfcHJlZCUyMCUzRCUyMG5vaXNlX3ByZWRfdW5jb25kJTIwJTJCJTIwZ3VpZGFuY2Vfc2NhbGUlMjAqJTIwKG5vaXNlX3ByZWRfdGV4dCUyMC0lMjBub2lzZV9wcmVkX3VuY29uZCklMEElMEElMjAlMjAlMjAlMjAlMjMlMjAlRUMlOUQlQjQlRUMlQTAlODQlMjAlRUIlODUlQjglRUMlOUQlQjQlRUMlQTYlODglMjAlRUMlODMlOTglRUQlOTQlOEMlRUMlOUQlODQlMjAlRUElQjMlODQlRUMlODIlQjAlMjB4X3QlMjAtJTNFJTIweF90LTElMEElMjAlMjAlMjAlMjBsYXRlbnRzJTIwJTNEJTIwc2NoZWR1bGVyLnN0ZXAobm9pc2VfcHJlZCUyQyUyMHQlMkMlMjBsYXRlbnRzKS5wcmV2X3NhbXBsZQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> tqdm.auto <span class="hljs-keyword">import</span> tqdm | |
| <span class="hljs-meta">>>> </span>scheduler.set_timesteps(num_inference_steps) | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">for</span> t <span class="hljs-keyword">in</span> tqdm(scheduler.timesteps): | |
| <span class="hljs-meta">... </span> <span class="hljs-comment"># classifier-free guidance\uB97C \uC218\uD589\uD558\uB294 \uACBD\uC6B0 \uB450\uBC88\uC758 forward pass\uB97C \uC218\uD589\uD558\uC9C0 \uC54A\uB3C4\uB85D latent\uB97C \uD655\uC7A5.</span> | |
| <span class="hljs-meta">... </span> latent_model_input = torch.cat([latents] * <span class="hljs-number">2</span>) | |
| <span class="hljs-meta">... </span> latent_model_input = scheduler.scale_model_input(latent_model_input, timestep=t) | |
| <span class="hljs-meta">... </span> <span class="hljs-comment"># noise residual \uC608\uCE21</span> | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">with</span> torch.no_grad(): | |
| <span class="hljs-meta">... </span> noise_pred = unet(latent_model_input, t, encoder_hidden_states=text_embeddings).sample | |
| <span class="hljs-meta">... </span> <span class="hljs-comment"># guidance \uC218\uD589</span> | |
| <span class="hljs-meta">... </span> noise_pred_uncond, noise_pred_text = noise_pred.chunk(<span class="hljs-number">2</span>) | |
| <span class="hljs-meta">... </span> noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) | |
| <span class="hljs-meta">... </span> <span class="hljs-comment"># \uC774\uC804 \uB178\uC774\uC988 \uC0D8\uD50C\uC744 \uACC4\uC0B0 x_t -> x_t-1</span> | |
| <span class="hljs-meta">... </span> latents = scheduler.step(noise_pred, t, latents).prev_sample`}}),ks=new g({props:{code:"JTIzJTIwbGF0ZW50JUVCJUE1JUJDJTIwJUVDJThBJUE0JUVDJUJDJTgwJUVDJTlEJUJDJUVCJUE3JTgxJUVEJTk1JTk4JUVBJUIzJUEwJTIwdmFlJUVCJUExJTlDJTIwJUVDJTlEJUI0JUVCJUFGJUI4JUVDJUE3JTgwJTIwJUVCJTk0JTk0JUVDJUJEJTk0JUVCJTk0JUE5JTBBbGF0ZW50cyUyMCUzRCUyMDElMjAlMkYlMjAwLjE4MjE1JTIwKiUyMGxhdGVudHMlMEF3aXRoJTIwdG9yY2gubm9fZ3JhZCgpJTNBJTBBJTIwJTIwJTIwJTIwaW1hZ2UlMjAlM0QlMjB2YWUuZGVjb2RlKGxhdGVudHMpLnNhbXBsZQ==",highlighted:`<span class="hljs-comment"># latent\uB97C \uC2A4\uCF00\uC77C\uB9C1\uD558\uACE0 vae\uB85C \uC774\uBBF8\uC9C0 \uB514\uCF54\uB529</span> | |
| latents = <span class="hljs-number">1</span> / <span class="hljs-number">0.18215</span> * latents | |
| <span class="hljs-keyword">with</span> torch.no_grad(): | |
| image = vae.decode(latents).sample`}}),Rs=new g({props:{code:"aW1hZ2UlMjAlM0QlMjAoaW1hZ2UlMjAlMkYlMjAyJTIwJTJCJTIwMC41KS5jbGFtcCgwJTJDJTIwMSklMEFpbWFnZSUyMCUzRCUyMGltYWdlLmRldGFjaCgpLmNwdSgpLnBlcm11dGUoMCUyQyUyMDIlMkMlMjAzJTJDJTIwMSkubnVtcHkoKSUwQWltYWdlcyUyMCUzRCUyMChpbWFnZSUyMColMjAyNTUpLnJvdW5kKCkuYXN0eXBlKCUyMnVpbnQ4JTIyKSUwQXBpbF9pbWFnZXMlMjAlM0QlMjAlNUJJbWFnZS5mcm9tYXJyYXkoaW1hZ2UpJTIwZm9yJTIwaW1hZ2UlMjBpbiUyMGltYWdlcyU1RCUwQXBpbF9pbWFnZXMlNUIwJTVE",highlighted:`<span class="hljs-meta">>>> </span>image = (image / <span class="hljs-number">2</span> + <span class="hljs-number">0.5</span>).clamp(<span class="hljs-number">0</span>, <span class="hljs-number">1</span>) | |
| <span class="hljs-meta">>>> </span>image = image.detach().cpu().permute(<span class="hljs-number">0</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>, <span class="hljs-number">1</span>).numpy() | |
| <span class="hljs-meta">>>> </span>images = (image * <span class="hljs-number">255</span>).<span class="hljs-built_in">round</span>().astype(<span class="hljs-string">"uint8"</span>) | |
| <span class="hljs-meta">>>> </span>pil_images = [Image.fromarray(image) <span class="hljs-keyword">for</span> image <span class="hljs-keyword">in</span> images] | |
| <span class="hljs-meta">>>> </span>pil_images[<span class="hljs-number">0</span>]`}}),{c(){f=i("meta"),E=r(),u=i("h1"),Z=a("\uD30C\uC774\uD504\uB77C\uC778, \uBAA8\uB378 \uBC0F \uC2A4\uCF00\uC904\uB7EC \uC774\uD574\uD558\uAE30"),C=r(),M(y.$$.fragment),d=r(),T=i("p"),_=a("\u{1F9E8} Diffusers\uB294 \uC0AC\uC6A9\uC790 \uCE5C\uD654\uC801\uC774\uBA70 \uC720\uC5F0\uD55C \uB3C4\uAD6C \uC0C1\uC790\uB85C, \uC0AC\uC6A9\uC0AC\uB840\uC5D0 \uB9DE\uAC8C diffusion \uC2DC\uC2A4\uD15C\uC744 \uAD6C\uCD95 \uD560 \uC218 \uC788\uB3C4\uB85D \uC124\uACC4\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uC774 \uB3C4\uAD6C \uC0C1\uC790\uC758 \uD575\uC2EC\uC740 \uBAA8\uB378\uACFC \uC2A4\uCF00\uC904\uB7EC\uC785\uB2C8\uB2E4. "),v=i("code"),Xs=a("DiffusionPipeline"),mt=a("\uC740 \uD3B8\uC758\uB97C \uC704\uD574 \uC774\uB7EC\uD55C \uAD6C\uC131 \uC694\uC18C\uB97C \uBC88\uB4E4\uB85C \uC81C\uACF5\uD558\uC9C0\uB9CC, \uD30C\uC774\uD504\uB77C\uC778\uC744 \uBD84\uB9AC\uD558\uACE0 \uBAA8\uB378\uACFC \uC2A4\uCF00\uC904\uB7EC\uB97C \uAC1C\uBCC4\uC801\uC73C\uB85C \uC0AC\uC6A9\uD574 \uC0C8\uB85C\uC6B4 diffusion \uC2DC\uC2A4\uD15C\uC744 \uB9CC\uB4E4 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4."),Ll=r(),Bs=i("p"),rt=a("\uC774 \uD29C\uD1A0\uB9AC\uC5BC\uC5D0\uC11C\uB294 \uAE30\uBCF8 \uD30C\uC774\uD504\uB77C\uC778\uBD80\uD130 \uC2DC\uC791\uD574 Stable Diffusion \uD30C\uC774\uD504\uB77C\uC778\uAE4C\uC9C0 \uC9C4\uD589\uD558\uBA70 \uBAA8\uB378\uACFC \uC2A4\uCF00\uC904\uB7EC\uB97C \uC0AC\uC6A9\uD574 \uCD94\uB860\uC744 \uC704\uD55C diffusion \uC2DC\uC2A4\uD15C\uC744 \uC870\uB9BD\uD558\uB294 \uBC29\uBC95\uC744 \uBC30\uC6C1\uB2C8\uB2E4."),Ol=r(),ts=i("h2"),ct=a("\uAE30\uBCF8 \uD30C\uC774\uD504\uB77C\uC778 \uD574\uCCB4\uD558\uAE30"),ql=r(),Ss=i("p"),ft=a("\uD30C\uC774\uD504\uB77C\uC778\uC740 \uCD94\uB860\uC744 \uC704\uD574 \uBAA8\uB378\uC744 \uC2E4\uD589\uD558\uB294 \uBE60\uB974\uACE0 \uC26C\uC6B4 \uBC29\uBC95\uC73C\uB85C, \uC774\uBBF8\uC9C0\uB97C \uC0DD\uC131\uD558\uB294 \uB370 \uCF54\uB4DC\uAC00 4\uC904 \uC774\uC0C1 \uD544\uC694\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4:"),Kl=r(),M(as.$$.fragment),se=r(),ns=i("div"),Fs=i("img"),le=r(),zs=i("p"),ut=a("\uC815\uB9D0 \uC27D\uC2B5\uB2C8\uB2E4. \uADF8\uB7F0\uB370 \uD30C\uC774\uD504\uB77C\uC778\uC740 \uC5B4\uB5BB\uAC8C \uC774\uB807\uAC8C \uD560 \uC218 \uC788\uC5C8\uC744\uAE4C\uC694? \uD30C\uC774\uD504\uB77C\uC778\uC744 \uC138\uBD84\uD654\uD558\uC5EC \uB0B4\uBD80\uC5D0\uC11C \uC5B4\uB5A4 \uC77C\uC774 \uC77C\uC5B4\uB098\uACE0 \uC788\uB294\uC9C0 \uC0B4\uD3B4\uBCF4\uACA0\uC2B5\uB2C8\uB2E4."),ee=r(),k=i("p"),dt=a("\uC704 \uC608\uC2DC\uC5D0\uC11C \uD30C\uC774\uD504\uB77C\uC778\uC5D0\uB294 "),rl=i("code"),Mt=a("UNet2DModel"),ht=a(" \uBAA8\uB378\uACFC "),cl=i("code"),Ut=a("DDPMScheduler"),bt=a("\uAC00 \uD3EC\uD568\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. \uD30C\uC774\uD504\uB77C\uC778\uC740 \uC6D0\uD558\uB294 \uCD9C\uB825 \uD06C\uAE30\uC758 \uB79C\uB364 \uB178\uC774\uC988\uB97C \uBC1B\uC544 \uBAA8\uB378\uC744 \uC5EC\uB7EC\uBC88 \uD1B5\uACFC\uC2DC\uCF1C \uC774\uBBF8\uC9C0\uC758 \uB178\uC774\uC988\uB97C \uC81C\uAC70\uD569\uB2C8\uB2E4. \uAC01 timestep\uC5D0\uC11C \uBAA8\uB378\uC740 "),fl=i("em"),jt=a("noise residual"),Jt=a("\uC744 \uC608\uCE21\uD558\uACE0 \uC2A4\uCF00\uC904\uB7EC\uB294 \uC774\uB97C \uC0AC\uC6A9\uD558\uC5EC \uB178\uC774\uC988\uAC00 \uC801\uC740 \uC774\uBBF8\uC9C0\uB97C \uC608\uCE21\uD569\uB2C8\uB2E4. \uD30C\uC774\uD504\uB77C\uC778\uC740 \uC9C0\uC815\uB41C \uCD94\uB860 \uC2A4\uD15D\uC218\uC5D0 \uB3C4\uB2EC\uD560 \uB54C\uAE4C\uC9C0 \uC774 \uACFC\uC815\uC744 \uBC18\uBCF5\uD569\uB2C8\uB2E4."),te=r(),As=i("p"),yt=a("\uBAA8\uB378\uACFC \uC2A4\uCF00\uC904\uB7EC\uB97C \uBCC4\uB3C4\uB85C \uC0AC\uC6A9\uD558\uC5EC \uD30C\uC774\uD504\uB77C\uC778\uC744 \uB2E4\uC2DC \uC0DD\uC131\uD558\uAE30 \uC704\uD574 \uC790\uCCB4\uC801\uC778 \uB178\uC774\uC988 \uC81C\uAC70 \uD504\uB85C\uC138\uC2A4\uB97C \uC791\uC131\uD574 \uBCF4\uACA0\uC2B5\uB2C8\uB2E4."),ae=r(),V=i("ol"),ps=i("li"),ul=i("p"),wt=a("\uBAA8\uB378\uACFC \uC2A4\uCF00\uC904\uB7EC\uB97C \uBD88\uB7EC\uC635\uB2C8\uB2E4:"),gt=r(),M(is.$$.fragment),Tt=r(),os=i("li"),dl=i("p"),_t=a("\uB178\uC774\uC988 \uC81C\uAC70 \uD504\uB85C\uC138\uC2A4\uB97C \uC2E4\uD589\uD560 timestep \uC218\uB97C \uC124\uC815\uD569\uB2C8\uB2E4:"),Et=r(),M(ms.$$.fragment),Ct=r(),rs=i("li"),Ml=i("p"),Vt=a("\uC2A4\uCF00\uC904\uB7EC\uC758 timestep\uC744 \uC124\uC815\uD558\uBA74 \uADE0\uB4F1\uD55C \uAC04\uACA9\uC758 \uAD6C\uC131 \uC694\uC18C\uB97C \uAC00\uC9C4 \uD150\uC11C\uAC00 \uC0DD\uC131\uB429\uB2C8\uB2E4.(\uC774 \uC608\uC2DC\uC5D0\uC11C\uB294 50\uAC1C) \uAC01 \uC694\uC18C\uB294 \uBAA8\uB378\uC774 \uC774\uBBF8\uC9C0\uC758 \uB178\uC774\uC988\uB97C \uC81C\uAC70\uD558\uB294 \uC2DC\uAC04 \uAC04\uACA9\uC5D0 \uD574\uB2F9\uD569\uB2C8\uB2E4. \uB098\uC911\uC5D0 \uB178\uC774\uC988 \uC81C\uAC70 \uB8E8\uD504\uB97C \uB9CC\uB4E4 \uB54C \uC774 \uD150\uC11C\uB97C \uBC18\uBCF5\uD558\uC5EC \uC774\uBBF8\uC9C0\uC758 \uB178\uC774\uC988\uB97C \uC81C\uAC70\uD569\uB2C8\uB2E4:"),Zt=r(),M(cs.$$.fragment),vt=r(),fs=i("li"),hl=i("p"),$t=a("\uC6D0\uD558\uB294 \uCD9C\uB825\uACFC \uAC19\uC740 \uBAA8\uC591\uC744 \uAC00\uC9C4 \uB79C\uB364 \uB178\uC774\uC988\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4:"),It=r(),M(us.$$.fragment),kt=r(),F=i("li"),G=i("p"),Rt=a("\uC774\uC81C timestep\uC744 \uBC18\uBCF5\uD558\uB294 \uB8E8\uD504\uB97C \uC791\uC131\uD569\uB2C8\uB2E4. \uAC01 timestep\uC5D0\uC11C \uBAA8\uB378\uC740 "),Ul=i("code"),Gt=a("UNet2DModel.forward()"),Nt=a("\uB97C \uD1B5\uD574 noisy residual\uC744 \uBC18\uD658\uD569\uB2C8\uB2E4. \uC2A4\uCF00\uC904\uB7EC\uC758 "),bl=i("code"),Qt=a("step()"),Wt=a(" \uBA54\uC11C\uB4DC\uB294 noisy residual, timestep, \uADF8\uB9AC\uACE0 \uC785\uB825\uC744 \uBC1B\uC544 \uC774\uC804 timestep\uC5D0\uC11C \uC774\uBBF8\uC9C0\uB97C \uC608\uCE21\uD569\uB2C8\uB2E4. \uC774 \uCD9C\uB825\uC740 \uB178\uC774\uC988 \uC81C\uAC70 \uB8E8\uD504\uC758 \uBAA8\uB378\uC5D0 \uB300\uD55C \uB2E4\uC74C \uC785\uB825\uC774 \uB418\uBA70, "),jl=i("code"),Dt=a("timesteps"),Xt=a(" \uBC30\uC5F4\uC758 \uB05D\uC5D0 \uB3C4\uB2EC\uD560 \uB54C\uAE4C\uC9C0 \uBC18\uBCF5\uB429\uB2C8\uB2E4."),Bt=r(),M(ds.$$.fragment),St=r(),Jl=i("p"),Ft=a("\uC774\uAC83\uC774 \uC804\uCCB4 \uB178\uC774\uC988 \uC81C\uAC70 \uD504\uB85C\uC138\uC2A4\uC774\uBA70, \uB3D9\uC77C\uD55C \uD328\uD134\uC744 \uC0AC\uC6A9\uD574 \uBAA8\uB4E0 diffusion \uC2DC\uC2A4\uD15C\uC744 \uC791\uC131\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."),zt=r(),Ms=i("li"),yl=i("p"),At=a("\uB9C8\uC9C0\uB9C9 \uB2E8\uACC4\uB294 \uB178\uC774\uC988\uAC00 \uC81C\uAC70\uB41C \uCD9C\uB825\uC744 \uC774\uBBF8\uC9C0\uB85C \uBCC0\uD658\uD558\uB294 \uAC83\uC785\uB2C8\uB2E4:"),Yt=r(),M(hs.$$.fragment),ne=r(),$=i("p"),xt=a("\uB2E4\uC74C \uC139\uC158\uC5D0\uC11C\uB294 \uC5EC\uB7EC\uBD84\uC758 \uAE30\uC220\uC744 \uC2DC\uD5D8\uD574\uBCF4\uACE0 \uC880 \uB354 \uBCF5\uC7A1\uD55C Stable Diffusion \uD30C\uC774\uD504\uB77C\uC778\uC744 \uBD84\uC11D\uD574 \uBCF4\uACA0\uC2B5\uB2C8\uB2E4. \uBC29\uBC95\uC740 \uAC70\uC758 \uB3D9\uC77C\uD569\uB2C8\uB2E4. \uD544\uC694\uD55C \uAD6C\uC131\uC694\uC18C\uB4E4\uC744 \uCD08\uAE30\uD654\uD558\uACE0 timestep\uC218\uB97C \uC124\uC815\uD558\uC5EC "),wl=i("code"),Ht=a("timestep"),Pt=a(" \uBC30\uC5F4\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4. \uB178\uC774\uC988 \uC81C\uAC70 \uB8E8\uD504\uC5D0\uC11C "),gl=i("code"),Lt=a("timestep"),Ot=a(" \uBC30\uC5F4\uC774 \uC0AC\uC6A9\uB418\uBA70, \uC774 \uBC30\uC5F4\uC758 \uAC01 \uC694\uC18C\uC5D0 \uB300\uD574 \uBAA8\uB378\uC740 \uB178\uC774\uC988\uAC00 \uC801\uC740 \uC774\uBBF8\uC9C0\uB97C \uC608\uCE21\uD569\uB2C8\uB2E4. \uB178\uC774\uC988 \uC81C\uAC70 \uB8E8\uD504\uB294 "),Tl=i("code"),qt=a("timestep"),Kt=a("\uC744 \uBC18\uBCF5\uD558\uACE0 \uAC01 timestep\uC5D0\uC11C noise residual\uC744 \uCD9C\uB825\uD558\uACE0 \uC2A4\uCF00\uC904\uB7EC\uB294 \uC774\uB97C \uC0AC\uC6A9\uD558\uC5EC \uC774\uC804 timestep\uC5D0\uC11C \uB178\uC774\uC988\uAC00 \uB35C\uD55C \uC774\uBBF8\uC9C0\uB97C \uC608\uCE21\uD569\uB2C8\uB2E4. \uC774 \uD504\uB85C\uC138\uC2A4\uB294 "),_l=i("code"),sa=a("timestep"),la=a(" \uBC30\uC5F4\uC758 \uB05D\uC5D0 \uB3C4\uB2EC\uD560 \uB54C\uAE4C\uC9C0 \uBC18\uBCF5\uB429\uB2C8\uB2E4."),pe=r(),Ys=i("p"),ea=a("\uD55C\uBC88 \uC0AC\uC6A9\uD574 \uBD05\uC2DC\uB2E4!"),ie=r(),z=i("h2"),Y=i("a"),El=i("span"),M(Us.$$.fragment),ta=r(),Cl=i("span"),aa=a("Stable Diffusion \uD30C\uC774\uD504\uB77C\uC778 \uD574\uCCB4\uD558\uAE30"),oe=r(),x=i("p"),na=a("Stable Diffusion \uC740 text-to-image "),Vl=i("em"),pa=a("latent diffusion"),ia=a(" \uBAA8\uB378\uC785\uB2C8\uB2E4. latent diffusion \uBAA8\uB378\uC774\uB77C\uACE0 \uBD88\uB9AC\uB294 \uC774\uC720\uB294 \uC2E4\uC81C \uD53D\uC140 \uACF5\uAC04 \uB300\uC2E0 \uC774\uBBF8\uC9C0\uC758 \uC800\uCC28\uC6D0\uC758 \uD45C\uD604\uC73C\uB85C \uC791\uC5C5\uD558\uAE30 \uB54C\uBB38\uC774\uACE0, \uBA54\uBAA8\uB9AC \uD6A8\uC728\uC774 \uB354 \uB192\uC2B5\uB2C8\uB2E4. \uC778\uCF54\uB354\uB294 \uC774\uBBF8\uC9C0\uB97C \uB354 \uC791\uC740 \uD45C\uD604\uC73C\uB85C \uC555\uCD95\uD558\uACE0, \uB514\uCF54\uB354\uB294 \uC555\uCD95\uB41C \uD45C\uD604\uC744 \uB2E4\uC2DC \uC774\uBBF8\uC9C0\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4. text-to-image \uBAA8\uB378\uC758 \uACBD\uC6B0 \uD14D\uC2A4\uD2B8 \uC784\uBCA0\uB529\uC744 \uC0DD\uC131\uD558\uAE30 \uC704\uD574 tokenizer\uC640 \uC778\uCF54\uB354\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4. \uC774\uC804 \uC608\uC81C\uC5D0\uC11C \uC774\uBBF8 UNet \uBAA8\uB378\uACFC \uC2A4\uCF00\uC904\uB7EC\uAC00 \uD544\uC694\uD558\uB2E4\uB294 \uAC83\uC740 \uC54C\uACE0 \uACC4\uC168\uC744 \uAC83\uC785\uB2C8\uB2E4."),me=r(),xs=i("p"),oa=a("\uBCF4\uC2DC\uB2E4\uC2DC\uD53C, \uC774\uAC83\uC740 UNet \uBAA8\uB378\uB9CC \uD3EC\uD568\uB41C DDPM \uD30C\uC774\uD504\uB77C\uC778\uBCF4\uB2E4 \uB354 \uBCF5\uC7A1\uD569\uB2C8\uB2E4. Stable Diffusion \uBAA8\uB378\uC5D0\uB294 \uC138 \uAC1C\uC758 \uAC1C\uBCC4 \uC0AC\uC804\uD559\uC2B5\uB41C \uBAA8\uB378\uC774 \uC788\uC2B5\uB2C8\uB2E4."),re=r(),M(H.$$.fragment),ce=r(),N=i("p"),ma=a("\uC774\uC81C Stable Diffusion \uD30C\uC774\uD504\uB77C\uC778\uC5D0 \uD544\uC694\uD55C \uAD6C\uC131\uC694\uC18C\uB4E4\uC774 \uBB34\uC5C7\uC778\uC9C0 \uC54C\uC558\uC73C\uB2C8, "),Zl=i("code"),ra=a("from_pretrained()"),ca=a(" \uBA54\uC11C\uB4DC\uB97C \uC0AC\uC6A9\uD574 \uBAA8\uB4E0 \uAD6C\uC131\uC694\uC18C\uB97C \uBD88\uB7EC\uC635\uB2C8\uB2E4. \uC0AC\uC804\uD559\uC2B5\uB41C \uCCB4\uD06C\uD3EC\uC778\uD2B8 "),bs=i("a"),vl=i("code"),fa=a("runwayml/stable-diffusion-v1-5"),ua=a("\uC5D0\uC11C \uCC3E\uC744 \uC218 \uC788\uC73C\uBA70, \uAC01 \uAD6C\uC131\uC694\uC18C\uB4E4\uC740 \uBCC4\uB3C4\uC758 \uD558\uC704 \uD3F4\uB354\uC5D0 \uC800\uC7A5\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4:"),fe=r(),M(js.$$.fragment),ue=r(),Q=i("p"),da=a("\uAE30\uBCF8 "),$l=i("code"),Ma=a("PNDMScheduler"),ha=a(" \uB300\uC2E0, "),Il=i("code"),Ua=a("UniPCMultistepScheduler"),ba=a("\uB85C \uAD50\uCCB4\uD558\uC5EC \uB2E4\uB978 \uC2A4\uCF00\uC904\uB7EC\uB97C \uC5BC\uB9C8\uB098 \uC27D\uAC8C \uC5F0\uACB0\uD560 \uC218 \uC788\uB294\uC9C0 \uD655\uC778\uD569\uB2C8\uB2E4:"),de=r(),M(Js.$$.fragment),Me=r(),Hs=i("p"),ja=a("\uCD94\uB860 \uC18D\uB3C4\uB97C \uB192\uC774\uB824\uBA74 \uC2A4\uCF00\uC904\uB7EC\uC640 \uB2EC\uB9AC \uD559\uC2B5 \uAC00\uB2A5\uD55C \uAC00\uC911\uCE58\uAC00 \uC788\uC73C\uBBC0\uB85C \uBAA8\uB378\uC744 GPU\uB85C \uC62E\uAE30\uC138\uC694:"),he=r(),M(ys.$$.fragment),Ue=r(),ws=i("h3"),Ja=a("\uD14D\uC2A4\uD2B8 \uC784\uBCA0\uB529 \uC0DD\uC131\uD558\uAE30"),be=r(),Ps=i("p"),ya=a("\uB2E4\uC74C \uB2E8\uACC4\uB294 \uC784\uBCA0\uB529\uC744 \uC0DD\uC131\uD558\uAE30 \uC704\uD574 \uD14D\uC2A4\uD2B8\uB97C \uD1A0\uD070\uD654\uD558\uB294 \uAC83\uC785\uB2C8\uB2E4. \uC774 \uD14D\uC2A4\uD2B8\uB294 UNet \uBAA8\uB378\uC5D0\uC11C condition\uC73C\uB85C \uC0AC\uC6A9\uB418\uACE0 \uC785\uB825 \uD504\uB86C\uD504\uD2B8\uC640 \uC720\uC0AC\uD55C \uBC29\uD5A5\uC73C\uB85C diffusion \uD504\uB85C\uC138\uC2A4\uB97C \uC870\uC815\uD558\uB294 \uB370 \uC0AC\uC6A9\uB429\uB2C8\uB2E4."),je=r(),M(P.$$.fragment),Je=r(),Ls=i("p"),wa=a("\uB2E4\uB978 \uD504\uB86C\uD504\uD2B8\uB97C \uC0DD\uC131\uD558\uACE0 \uC2F6\uB2E4\uBA74 \uC6D0\uD558\uB294 \uD504\uB86C\uD504\uD2B8\uB97C \uC790\uC720\uB86D\uAC8C \uC120\uD0DD\uD558\uC138\uC694!"),ye=r(),M(gs.$$.fragment),we=r(),Os=i("p"),ga=a("\uD14D\uC2A4\uD2B8\uB97C \uD1A0\uD070\uD654\uD558\uACE0 \uD504\uB86C\uD504\uD2B8\uC5D0\uC11C \uC784\uBCA0\uB529\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4:"),ge=r(),M(Ts.$$.fragment),Te=r(),I=i("p"),Ta=a("\uB610\uD55C \uD328\uB529 \uD1A0\uD070\uC758 \uC784\uBCA0\uB529\uC778 "),kl=i("em"),_a=a("unconditional \uD14D\uC2A4\uD2B8 \uC784\uBCA0\uB529"),Ea=a("\uC744 \uC0DD\uC131\uD574\uC57C \uD569\uB2C8\uB2E4. \uC774 \uC784\uBCA0\uB529\uC740 \uC870\uAC74\uBD80 "),Rl=i("code"),Ca=a("text_embeddings"),Va=a("\uACFC \uB3D9\uC77C\uD55C shape("),Gl=i("code"),Za=a("batch_size"),va=a(" \uADF8\uB9AC\uACE0 "),Nl=i("code"),$a=a("seq_length"),Ia=a(")\uC744 \uAC00\uC838\uC57C \uD569\uB2C8\uB2E4:"),_e=r(),M(_s.$$.fragment),Ee=r(),qs=i("p"),ka=a("\uB450\uBC88\uC758 forward pass\uB97C \uD53C\uD558\uAE30 \uC704\uD574 conditional \uC784\uBCA0\uB529\uACFC unconditional \uC784\uBCA0\uB529\uC744 \uBC30\uCE58(batch)\uB85C \uC5F0\uACB0\uD558\uACA0\uC2B5\uB2C8\uB2E4:"),Ce=r(),M(Es.$$.fragment),Ve=r(),Cs=i("h3"),Ra=a("\uB79C\uB364 \uB178\uC774\uC988 \uC0DD\uC131"),Ze=r(),L=i("p"),Ga=a("\uADF8\uB2E4\uC74C diffusion \uD504\uB85C\uC138\uC2A4\uC758 \uC2DC\uC791\uC810\uC73C\uB85C \uCD08\uAE30 \uB79C\uB364 \uB178\uC774\uC988\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4. \uC774\uAC83\uC774 \uC774\uBBF8\uC9C0\uC758 \uC7A0\uC7AC\uC801 \uD45C\uD604\uC774\uBA70 \uC810\uCC28\uC801\uC73C\uB85C \uB178\uC774\uC988\uAC00 \uC81C\uAC70\uB429\uB2C8\uB2E4. \uC774 \uC2DC\uC810\uC5D0\uC11C "),Ql=i("code"),Na=a("latent"),Qa=a(" \uC774\uBBF8\uC9C0\uB294 \uCD5C\uC885 \uC774\uBBF8\uC9C0 \uD06C\uAE30\uBCF4\uB2E4 \uC791\uC9C0\uB9CC \uB098\uC911\uC5D0 \uBAA8\uB378\uC774 \uC774\uB97C 512x512 \uC774\uBBF8\uC9C0 \uD06C\uAE30\uB85C \uBCC0\uD658\uD558\uBBC0\uB85C \uAD1C\uCC2E\uC2B5\uB2C8\uB2E4."),ve=r(),M(O.$$.fragment),$e=r(),M(Vs.$$.fragment),Ie=r(),Zs=i("h3"),Wa=a("\uC774\uBBF8\uC9C0 \uB178\uC774\uC988 \uC81C\uAC70"),ke=r(),W=i("p"),Da=a("\uBA3C\uC800 "),Wl=i("code"),Xa=a("UniPCMultistepScheduler"),Ba=a("\uC640 \uAC19\uC740 \uD5A5\uC0C1\uB41C \uC2A4\uCF00\uC904\uB7EC\uC5D0 \uD544\uC694\uD55C \uB178\uC774\uC988 \uC2A4\uCF00\uC77C \uAC12\uC778 \uCD08\uAE30 \uB178\uC774\uC988 \uBD84\uD3EC "),Dl=i("em"),Sa=a("sigma"),Fa=a(" \uB85C \uC785\uB825\uC744 \uC2A4\uCF00\uC77C\uB9C1 \uD558\uB294 \uAC83\uBD80\uD130 \uC2DC\uC791\uD569\uB2C8\uB2E4:"),Re=r(),M(vs.$$.fragment),Ge=r(),q=i("p"),za=a("\uB9C8\uC9C0\uB9C9 \uB2E8\uACC4\uB294 "),Xl=i("code"),Aa=a("latent"),Ya=a("\uC758 \uC21C\uC218\uD55C \uB178\uC774\uC988\uB97C \uC810\uC9C4\uC801\uC73C\uB85C \uD504\uB86C\uD504\uD2B8\uC5D0 \uC124\uBA85\uB41C \uC774\uBBF8\uC9C0\uB85C \uBCC0\uD658\uD558\uB294 \uB178\uC774\uC988 \uC81C\uAC70 \uB8E8\uD504\uB97C \uC0DD\uC131\uD558\uB294 \uAC83\uC785\uB2C8\uB2E4. \uB178\uC774\uC988 \uC81C\uAC70 \uB8E8\uD504\uB294 \uC138 \uAC00\uC9C0 \uC791\uC5C5\uC744 \uC218\uD589\uD574\uC57C \uD55C\uB2E4\uB294 \uC810\uC744 \uAE30\uC5B5\uD558\uC138\uC694:"),Ne=r(),D=i("ol"),Bl=i("li"),xa=a("\uB178\uC774\uC988 \uC81C\uAC70 \uC911\uC5D0 \uC0AC\uC6A9\uD560 \uC2A4\uCF00\uC904\uB7EC\uC758 timesteps\uB97C \uC124\uC815\uD569\uB2C8\uB2E4."),Ha=r(),Sl=i("li"),Pa=a("timestep\uC744 \uB530\uB77C \uBC18\uBCF5\uD569\uB2C8\uB2E4."),La=r(),Fl=i("li"),Oa=a("\uAC01 timestep\uC5D0\uC11C UNet \uBAA8\uB378\uC744 \uD638\uCD9C\uD558\uC5EC noise residual\uC744 \uC608\uCE21\uD558\uACE0 \uC2A4\uCF00\uC904\uB7EC\uC5D0 \uC804\uB2EC\uD558\uC5EC \uC774\uC804 \uB178\uC774\uC988 \uC0D8\uD50C\uC744 \uACC4\uC0B0\uD569\uB2C8\uB2E4."),Qe=r(),M($s.$$.fragment),We=r(),Is=i("h3"),qa=a("\uC774\uBBF8\uC9C0 \uB514\uCF54\uB529"),De=r(),X=i("p"),Ka=a("\uB9C8\uC9C0\uB9C9 \uB2E8\uACC4\uB294 "),zl=i("code"),sn=a("vae"),ln=a("\uB97C \uC774\uC6A9\uD558\uC5EC \uC7A0\uC7AC \uD45C\uD604\uC744 \uC774\uBBF8\uC9C0\uB85C \uB514\uCF54\uB529\uD558\uACE0 "),Al=i("code"),en=a("sample"),tn=a("\uACFC \uD568\uAED8 \uB514\uCF54\uB529\uB41C \uCD9C\uB825\uC744 \uC5BB\uB294 \uAC83\uC785\uB2C8\uB2E4:"),Xe=r(),M(ks.$$.fragment),Be=r(),K=i("p"),an=a("\uB9C8\uC9C0\uB9C9\uC73C\uB85C \uC774\uBBF8\uC9C0\uB97C "),Yl=i("code"),nn=a("PIL.Image"),pn=a("\uB85C \uBCC0\uD658\uD558\uBA74 \uC0DD\uC131\uB41C \uC774\uBBF8\uC9C0\uB97C \uD655\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4!"),Se=r(),M(Rs.$$.fragment),Fe=r(),Gs=i("div"),xl=i("img"),ze=r(),Ns=i("h2"),on=a("\uB2E4\uC74C \uB2E8\uACC4"),Ae=r(),Ks=i("p"),mn=a("\uAE30\uBCF8 \uD30C\uC774\uD504\uB77C\uC778\uBD80\uD130 \uBCF5\uC7A1\uD55C \uD30C\uC774\uD504\uB77C\uC778\uAE4C\uC9C0, \uC790\uC2E0\uB9CC\uC758 diffusion \uC2DC\uC2A4\uD15C\uC744 \uC791\uC131\uD558\uB294 \uB370 \uD544\uC694\uD55C \uAC83\uC740 \uB178\uC774\uC988 \uC81C\uAC70 \uB8E8\uD504\uBFD0\uC774\uB77C\uB294 \uAC83\uC744 \uC54C \uC218 \uC788\uC5C8\uC2B5\uB2C8\uB2E4. \uC774 \uB8E8\uD504\uB294 \uC2A4\uCF00\uC904\uB7EC\uC758 timesteps\uB97C \uC124\uC815\uD558\uACE0, \uC774\uB97C \uBC18\uBCF5\uD558\uBA70, UNet \uBAA8\uB378\uC744 \uD638\uCD9C\uD558\uC5EC noise residual\uC744 \uC608\uCE21\uD558\uACE0 \uC2A4\uCF00\uC904\uB7EC\uC5D0 \uC804\uB2EC\uD558\uC5EC \uC774\uC804 \uB178\uC774\uC988 \uC0D8\uD50C\uC744 \uACC4\uC0B0\uD558\uB294 \uACFC\uC815\uC744 \uBC88\uAC08\uC544 \uAC00\uBA70 \uC218\uD589\uD574\uC57C \uD569\uB2C8\uB2E4."),Ye=r(),sl=i("p"),rn=a("\uC774\uAC83\uC774 \uBC14\uB85C \u{1F9E8} Diffusers\uAC00 \uC124\uACC4\uB41C \uBAA9\uC801\uC785\uB2C8\uB2E4: \uBAA8\uB378\uACFC \uC2A4\uCF00\uC904\uB7EC\uB97C \uC0AC\uC6A9\uD574 \uC790\uC2E0\uB9CC\uC758 diffusion \uC2DC\uC2A4\uD15C\uC744 \uC9C1\uAD00\uC801\uC774\uACE0 \uC27D\uAC8C \uC791\uC131\uD560 \uC218 \uC788\uB3C4\uB85D \uD558\uAE30 \uC704\uD574\uC11C\uC785\uB2C8\uB2E4."),xe=r(),ll=i("p"),cn=a("\uB2E4\uC74C \uB2E8\uACC4\uB97C \uC790\uC720\uB86D\uAC8C \uC9C4\uD589\uD558\uC138\uC694:"),He=r(),ss=i("ul"),Qs=i("li"),fn=a("\u{1F9E8} Diffusers\uC5D0 "),el=i("a"),un=a("\uD30C\uC774\uD504\uB77C\uC778 \uAD6C\uCD95 \uBC0F \uAE30\uC5EC"),dn=a("\uD558\uB294 \uBC29\uBC95\uC744 \uC54C\uC544\uBCF4\uC138\uC694. \uC5EC\uB7EC\uBD84\uC774 \uC5B4\uB5A4 \uC544\uC774\uB514\uC5B4\uB97C \uB0B4\uB193\uC744\uC9C0 \uAE30\uB300\uB429\uB2C8\uB2E4!"),Mn=r(),Ws=i("li"),hn=a("\uB77C\uC774\uBE0C\uB7EC\uB9AC\uC5D0\uC11C "),tl=i("a"),Un=a("\uAE30\uBCF8 \uD30C\uC774\uD504\uB77C\uC778"),bn=a("\uC744 \uC0B4\uD3B4\uBCF4\uACE0, \uBAA8\uB378\uACFC \uC2A4\uCF00\uC904\uB7EC\uB97C \uBCC4\uB3C4\uB85C \uC0AC\uC6A9\uD558\uC5EC \uD30C\uC774\uD504\uB77C\uC778\uC744 \uCC98\uC74C\uBD80\uD130 \uD574\uCCB4\uD558\uACE0 \uBE4C\uB4DC\uD560 \uC218 \uC788\uB294\uC9C0 \uD655\uC778\uD574 \uBCF4\uC138\uC694."),this.h()},l(s){const t=Gp('[data-svelte="svelte-1phssyn"]',document.head);f=o(t,"META",{name:!0,content:!0}),t.forEach(l),E=c(s),u=o(s,"H1",{id:!0});var Hl=m(u);Z=n(Hl,"\uD30C\uC774\uD504\uB77C\uC778, \uBAA8\uB378 \uBC0F \uC2A4\uCF00\uC904\uB7EC \uC774\uD574\uD558\uAE30"),Hl.forEach(l),C=c(s),h(y.$$.fragment,s),d=c(s),T=o(s,"P",{});var Ds=m(T);_=n(Ds,"\u{1F9E8} Diffusers\uB294 \uC0AC\uC6A9\uC790 \uCE5C\uD654\uC801\uC774\uBA70 \uC720\uC5F0\uD55C \uB3C4\uAD6C \uC0C1\uC790\uB85C, \uC0AC\uC6A9\uC0AC\uB840\uC5D0 \uB9DE\uAC8C diffusion \uC2DC\uC2A4\uD15C\uC744 \uAD6C\uCD95 \uD560 \uC218 \uC788\uB3C4\uB85D \uC124\uACC4\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uC774 \uB3C4\uAD6C \uC0C1\uC790\uC758 \uD575\uC2EC\uC740 \uBAA8\uB378\uACFC \uC2A4\uCF00\uC904\uB7EC\uC785\uB2C8\uB2E4. "),v=o(Ds,"CODE",{});var Pl=m(v);Xs=n(Pl,"DiffusionPipeline"),Pl.forEach(l),mt=n(Ds,"\uC740 \uD3B8\uC758\uB97C \uC704\uD574 \uC774\uB7EC\uD55C \uAD6C\uC131 \uC694\uC18C\uB97C \uBC88\uB4E4\uB85C \uC81C\uACF5\uD558\uC9C0\uB9CC, \uD30C\uC774\uD504\uB77C\uC778\uC744 \uBD84\uB9AC\uD558\uACE0 \uBAA8\uB378\uACFC \uC2A4\uCF00\uC904\uB7EC\uB97C \uAC1C\uBCC4\uC801\uC73C\uB85C \uC0AC\uC6A9\uD574 \uC0C8\uB85C\uC6B4 diffusion \uC2DC\uC2A4\uD15C\uC744 \uB9CC\uB4E4 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4."),Ds.forEach(l),Ll=c(s),Bs=o(s,"P",{});var wn=m(Bs);rt=n(wn,"\uC774 \uD29C\uD1A0\uB9AC\uC5BC\uC5D0\uC11C\uB294 \uAE30\uBCF8 \uD30C\uC774\uD504\uB77C\uC778\uBD80\uD130 \uC2DC\uC791\uD574 Stable Diffusion \uD30C\uC774\uD504\uB77C\uC778\uAE4C\uC9C0 \uC9C4\uD589\uD558\uBA70 \uBAA8\uB378\uACFC \uC2A4\uCF00\uC904\uB7EC\uB97C \uC0AC\uC6A9\uD574 \uCD94\uB860\uC744 \uC704\uD55C diffusion \uC2DC\uC2A4\uD15C\uC744 \uC870\uB9BD\uD558\uB294 \uBC29\uBC95\uC744 \uBC30\uC6C1\uB2C8\uB2E4."),wn.forEach(l),Ol=c(s),ts=o(s,"H2",{id:!0});var gn=m(ts);ct=n(gn,"\uAE30\uBCF8 \uD30C\uC774\uD504\uB77C\uC778 \uD574\uCCB4\uD558\uAE30"),gn.forEach(l),ql=c(s),Ss=o(s,"P",{});var Tn=m(Ss);ft=n(Tn,"\uD30C\uC774\uD504\uB77C\uC778\uC740 \uCD94\uB860\uC744 \uC704\uD574 \uBAA8\uB378\uC744 \uC2E4\uD589\uD558\uB294 \uBE60\uB974\uACE0 \uC26C\uC6B4 \uBC29\uBC95\uC73C\uB85C, \uC774\uBBF8\uC9C0\uB97C \uC0DD\uC131\uD558\uB294 \uB370 \uCF54\uB4DC\uAC00 4\uC904 \uC774\uC0C1 \uD544\uC694\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4:"),Tn.forEach(l),Kl=c(s),h(as.$$.fragment,s),se=c(s),ns=o(s,"DIV",{class:!0});var _n=m(ns);Fs=o(_n,"IMG",{src:!0,alt:!0}),_n.forEach(l),le=c(s),zs=o(s,"P",{});var En=m(zs);ut=n(En,"\uC815\uB9D0 \uC27D\uC2B5\uB2C8\uB2E4. \uADF8\uB7F0\uB370 \uD30C\uC774\uD504\uB77C\uC778\uC740 \uC5B4\uB5BB\uAC8C \uC774\uB807\uAC8C \uD560 \uC218 \uC788\uC5C8\uC744\uAE4C\uC694? \uD30C\uC774\uD504\uB77C\uC778\uC744 \uC138\uBD84\uD654\uD558\uC5EC \uB0B4\uBD80\uC5D0\uC11C \uC5B4\uB5A4 \uC77C\uC774 \uC77C\uC5B4\uB098\uACE0 \uC788\uB294\uC9C0 \uC0B4\uD3B4\uBCF4\uACA0\uC2B5\uB2C8\uB2E4."),En.forEach(l),ee=c(s),k=o(s,"P",{});var ls=m(k);dt=n(ls,"\uC704 \uC608\uC2DC\uC5D0\uC11C \uD30C\uC774\uD504\uB77C\uC778\uC5D0\uB294 "),rl=o(ls,"CODE",{});var Cn=m(rl);Mt=n(Cn,"UNet2DModel"),Cn.forEach(l),ht=n(ls," \uBAA8\uB378\uACFC "),cl=o(ls,"CODE",{});var Vn=m(cl);Ut=n(Vn,"DDPMScheduler"),Vn.forEach(l),bt=n(ls,"\uAC00 \uD3EC\uD568\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. \uD30C\uC774\uD504\uB77C\uC778\uC740 \uC6D0\uD558\uB294 \uCD9C\uB825 \uD06C\uAE30\uC758 \uB79C\uB364 \uB178\uC774\uC988\uB97C \uBC1B\uC544 \uBAA8\uB378\uC744 \uC5EC\uB7EC\uBC88 \uD1B5\uACFC\uC2DC\uCF1C \uC774\uBBF8\uC9C0\uC758 \uB178\uC774\uC988\uB97C \uC81C\uAC70\uD569\uB2C8\uB2E4. \uAC01 timestep\uC5D0\uC11C \uBAA8\uB378\uC740 "),fl=o(ls,"EM",{});var Zn=m(fl);jt=n(Zn,"noise residual"),Zn.forEach(l),Jt=n(ls,"\uC744 \uC608\uCE21\uD558\uACE0 \uC2A4\uCF00\uC904\uB7EC\uB294 \uC774\uB97C \uC0AC\uC6A9\uD558\uC5EC \uB178\uC774\uC988\uAC00 \uC801\uC740 \uC774\uBBF8\uC9C0\uB97C \uC608\uCE21\uD569\uB2C8\uB2E4. \uD30C\uC774\uD504\uB77C\uC778\uC740 \uC9C0\uC815\uB41C \uCD94\uB860 \uC2A4\uD15D\uC218\uC5D0 \uB3C4\uB2EC\uD560 \uB54C\uAE4C\uC9C0 \uC774 \uACFC\uC815\uC744 \uBC18\uBCF5\uD569\uB2C8\uB2E4."),ls.forEach(l),te=c(s),As=o(s,"P",{});var vn=m(As);yt=n(vn,"\uBAA8\uB378\uACFC \uC2A4\uCF00\uC904\uB7EC\uB97C \uBCC4\uB3C4\uB85C \uC0AC\uC6A9\uD558\uC5EC \uD30C\uC774\uD504\uB77C\uC778\uC744 \uB2E4\uC2DC \uC0DD\uC131\uD558\uAE30 \uC704\uD574 \uC790\uCCB4\uC801\uC778 \uB178\uC774\uC988 \uC81C\uAC70 \uD504\uB85C\uC138\uC2A4\uB97C \uC791\uC131\uD574 \uBCF4\uACA0\uC2B5\uB2C8\uB2E4."),vn.forEach(l),ae=c(s),V=o(s,"OL",{});var R=m(V);ps=o(R,"LI",{});var Le=m(ps);ul=o(Le,"P",{});var $n=m(ul);wt=n($n,"\uBAA8\uB378\uACFC \uC2A4\uCF00\uC904\uB7EC\uB97C \uBD88\uB7EC\uC635\uB2C8\uB2E4:"),$n.forEach(l),gt=c(Le),h(is.$$.fragment,Le),Le.forEach(l),Tt=c(R),os=o(R,"LI",{});var Oe=m(os);dl=o(Oe,"P",{});var In=m(dl);_t=n(In,"\uB178\uC774\uC988 \uC81C\uAC70 \uD504\uB85C\uC138\uC2A4\uB97C \uC2E4\uD589\uD560 timestep \uC218\uB97C \uC124\uC815\uD569\uB2C8\uB2E4:"),In.forEach(l),Et=c(Oe),h(ms.$$.fragment,Oe),Oe.forEach(l),Ct=c(R),rs=o(R,"LI",{});var qe=m(rs);Ml=o(qe,"P",{});var kn=m(Ml);Vt=n(kn,"\uC2A4\uCF00\uC904\uB7EC\uC758 timestep\uC744 \uC124\uC815\uD558\uBA74 \uADE0\uB4F1\uD55C \uAC04\uACA9\uC758 \uAD6C\uC131 \uC694\uC18C\uB97C \uAC00\uC9C4 \uD150\uC11C\uAC00 \uC0DD\uC131\uB429\uB2C8\uB2E4.(\uC774 \uC608\uC2DC\uC5D0\uC11C\uB294 50\uAC1C) \uAC01 \uC694\uC18C\uB294 \uBAA8\uB378\uC774 \uC774\uBBF8\uC9C0\uC758 \uB178\uC774\uC988\uB97C \uC81C\uAC70\uD558\uB294 \uC2DC\uAC04 \uAC04\uACA9\uC5D0 \uD574\uB2F9\uD569\uB2C8\uB2E4. \uB098\uC911\uC5D0 \uB178\uC774\uC988 \uC81C\uAC70 \uB8E8\uD504\uB97C \uB9CC\uB4E4 \uB54C \uC774 \uD150\uC11C\uB97C \uBC18\uBCF5\uD558\uC5EC \uC774\uBBF8\uC9C0\uC758 \uB178\uC774\uC988\uB97C \uC81C\uAC70\uD569\uB2C8\uB2E4:"),kn.forEach(l),Zt=c(qe),h(cs.$$.fragment,qe),qe.forEach(l),vt=c(R),fs=o(R,"LI",{});var Ke=m(fs);hl=o(Ke,"P",{});var Rn=m(hl);$t=n(Rn,"\uC6D0\uD558\uB294 \uCD9C\uB825\uACFC \uAC19\uC740 \uBAA8\uC591\uC744 \uAC00\uC9C4 \uB79C\uB364 \uB178\uC774\uC988\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4:"),Rn.forEach(l),It=c(Ke),h(us.$$.fragment,Ke),Ke.forEach(l),kt=c(R),F=o(R,"LI",{});var al=m(F);G=o(al,"P",{});var es=m(G);Rt=n(es,"\uC774\uC81C timestep\uC744 \uBC18\uBCF5\uD558\uB294 \uB8E8\uD504\uB97C \uC791\uC131\uD569\uB2C8\uB2E4. \uAC01 timestep\uC5D0\uC11C \uBAA8\uB378\uC740 "),Ul=o(es,"CODE",{});var Gn=m(Ul);Gt=n(Gn,"UNet2DModel.forward()"),Gn.forEach(l),Nt=n(es,"\uB97C \uD1B5\uD574 noisy residual\uC744 \uBC18\uD658\uD569\uB2C8\uB2E4. \uC2A4\uCF00\uC904\uB7EC\uC758 "),bl=o(es,"CODE",{});var Nn=m(bl);Qt=n(Nn,"step()"),Nn.forEach(l),Wt=n(es," \uBA54\uC11C\uB4DC\uB294 noisy residual, timestep, \uADF8\uB9AC\uACE0 \uC785\uB825\uC744 \uBC1B\uC544 \uC774\uC804 timestep\uC5D0\uC11C \uC774\uBBF8\uC9C0\uB97C \uC608\uCE21\uD569\uB2C8\uB2E4. \uC774 \uCD9C\uB825\uC740 \uB178\uC774\uC988 \uC81C\uAC70 \uB8E8\uD504\uC758 \uBAA8\uB378\uC5D0 \uB300\uD55C \uB2E4\uC74C \uC785\uB825\uC774 \uB418\uBA70, "),jl=o(es,"CODE",{});var Qn=m(jl);Dt=n(Qn,"timesteps"),Qn.forEach(l),Xt=n(es," \uBC30\uC5F4\uC758 \uB05D\uC5D0 \uB3C4\uB2EC\uD560 \uB54C\uAE4C\uC9C0 \uBC18\uBCF5\uB429\uB2C8\uB2E4."),es.forEach(l),Bt=c(al),h(ds.$$.fragment,al),St=c(al),Jl=o(al,"P",{});var Wn=m(Jl);Ft=n(Wn,"\uC774\uAC83\uC774 \uC804\uCCB4 \uB178\uC774\uC988 \uC81C\uAC70 \uD504\uB85C\uC138\uC2A4\uC774\uBA70, \uB3D9\uC77C\uD55C \uD328\uD134\uC744 \uC0AC\uC6A9\uD574 \uBAA8\uB4E0 diffusion \uC2DC\uC2A4\uD15C\uC744 \uC791\uC131\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."),Wn.forEach(l),al.forEach(l),zt=c(R),Ms=o(R,"LI",{});var st=m(Ms);yl=o(st,"P",{});var Dn=m(yl);At=n(Dn,"\uB9C8\uC9C0\uB9C9 \uB2E8\uACC4\uB294 \uB178\uC774\uC988\uAC00 \uC81C\uAC70\uB41C \uCD9C\uB825\uC744 \uC774\uBBF8\uC9C0\uB85C \uBCC0\uD658\uD558\uB294 \uAC83\uC785\uB2C8\uB2E4:"),Dn.forEach(l),Yt=c(st),h(hs.$$.fragment,st),st.forEach(l),R.forEach(l),ne=c(s),$=o(s,"P",{});var B=m($);xt=n(B,"\uB2E4\uC74C \uC139\uC158\uC5D0\uC11C\uB294 \uC5EC\uB7EC\uBD84\uC758 \uAE30\uC220\uC744 \uC2DC\uD5D8\uD574\uBCF4\uACE0 \uC880 \uB354 \uBCF5\uC7A1\uD55C Stable Diffusion \uD30C\uC774\uD504\uB77C\uC778\uC744 \uBD84\uC11D\uD574 \uBCF4\uACA0\uC2B5\uB2C8\uB2E4. \uBC29\uBC95\uC740 \uAC70\uC758 \uB3D9\uC77C\uD569\uB2C8\uB2E4. \uD544\uC694\uD55C \uAD6C\uC131\uC694\uC18C\uB4E4\uC744 \uCD08\uAE30\uD654\uD558\uACE0 timestep\uC218\uB97C \uC124\uC815\uD558\uC5EC "),wl=o(B,"CODE",{});var Xn=m(wl);Ht=n(Xn,"timestep"),Xn.forEach(l),Pt=n(B," \uBC30\uC5F4\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4. \uB178\uC774\uC988 \uC81C\uAC70 \uB8E8\uD504\uC5D0\uC11C "),gl=o(B,"CODE",{});var Bn=m(gl);Lt=n(Bn,"timestep"),Bn.forEach(l),Ot=n(B," \uBC30\uC5F4\uC774 \uC0AC\uC6A9\uB418\uBA70, \uC774 \uBC30\uC5F4\uC758 \uAC01 \uC694\uC18C\uC5D0 \uB300\uD574 \uBAA8\uB378\uC740 \uB178\uC774\uC988\uAC00 \uC801\uC740 \uC774\uBBF8\uC9C0\uB97C \uC608\uCE21\uD569\uB2C8\uB2E4. \uB178\uC774\uC988 \uC81C\uAC70 \uB8E8\uD504\uB294 "),Tl=o(B,"CODE",{});var Sn=m(Tl);qt=n(Sn,"timestep"),Sn.forEach(l),Kt=n(B,"\uC744 \uBC18\uBCF5\uD558\uACE0 \uAC01 timestep\uC5D0\uC11C noise residual\uC744 \uCD9C\uB825\uD558\uACE0 \uC2A4\uCF00\uC904\uB7EC\uB294 \uC774\uB97C \uC0AC\uC6A9\uD558\uC5EC \uC774\uC804 timestep\uC5D0\uC11C \uB178\uC774\uC988\uAC00 \uB35C\uD55C \uC774\uBBF8\uC9C0\uB97C \uC608\uCE21\uD569\uB2C8\uB2E4. \uC774 \uD504\uB85C\uC138\uC2A4\uB294 "),_l=o(B,"CODE",{});var Fn=m(_l);sa=n(Fn,"timestep"),Fn.forEach(l),la=n(B," \uBC30\uC5F4\uC758 \uB05D\uC5D0 \uB3C4\uB2EC\uD560 \uB54C\uAE4C\uC9C0 \uBC18\uBCF5\uB429\uB2C8\uB2E4."),B.forEach(l),pe=c(s),Ys=o(s,"P",{});var zn=m(Ys);ea=n(zn,"\uD55C\uBC88 \uC0AC\uC6A9\uD574 \uBD05\uC2DC\uB2E4!"),zn.forEach(l),ie=c(s),z=o(s,"H2",{class:!0});var lt=m(z);Y=o(lt,"A",{id:!0,class:!0,href:!0});var An=m(Y);El=o(An,"SPAN",{});var Yn=m(El);h(Us.$$.fragment,Yn),Yn.forEach(l),An.forEach(l),ta=c(lt),Cl=o(lt,"SPAN",{});var xn=m(Cl);aa=n(xn,"Stable Diffusion \uD30C\uC774\uD504\uB77C\uC778 \uD574\uCCB4\uD558\uAE30"),xn.forEach(l),lt.forEach(l),oe=c(s),x=o(s,"P",{});var et=m(x);na=n(et,"Stable Diffusion \uC740 text-to-image "),Vl=o(et,"EM",{});var Hn=m(Vl);pa=n(Hn,"latent diffusion"),Hn.forEach(l),ia=n(et," \uBAA8\uB378\uC785\uB2C8\uB2E4. latent diffusion \uBAA8\uB378\uC774\uB77C\uACE0 \uBD88\uB9AC\uB294 \uC774\uC720\uB294 \uC2E4\uC81C \uD53D\uC140 \uACF5\uAC04 \uB300\uC2E0 \uC774\uBBF8\uC9C0\uC758 \uC800\uCC28\uC6D0\uC758 \uD45C\uD604\uC73C\uB85C \uC791\uC5C5\uD558\uAE30 \uB54C\uBB38\uC774\uACE0, \uBA54\uBAA8\uB9AC \uD6A8\uC728\uC774 \uB354 \uB192\uC2B5\uB2C8\uB2E4. \uC778\uCF54\uB354\uB294 \uC774\uBBF8\uC9C0\uB97C \uB354 \uC791\uC740 \uD45C\uD604\uC73C\uB85C \uC555\uCD95\uD558\uACE0, \uB514\uCF54\uB354\uB294 \uC555\uCD95\uB41C \uD45C\uD604\uC744 \uB2E4\uC2DC \uC774\uBBF8\uC9C0\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4. text-to-image \uBAA8\uB378\uC758 \uACBD\uC6B0 \uD14D\uC2A4\uD2B8 \uC784\uBCA0\uB529\uC744 \uC0DD\uC131\uD558\uAE30 \uC704\uD574 tokenizer\uC640 \uC778\uCF54\uB354\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4. \uC774\uC804 \uC608\uC81C\uC5D0\uC11C \uC774\uBBF8 UNet \uBAA8\uB378\uACFC \uC2A4\uCF00\uC904\uB7EC\uAC00 \uD544\uC694\uD558\uB2E4\uB294 \uAC83\uC740 \uC54C\uACE0 \uACC4\uC168\uC744 \uAC83\uC785\uB2C8\uB2E4."),et.forEach(l),me=c(s),xs=o(s,"P",{});var Pn=m(xs);oa=n(Pn,"\uBCF4\uC2DC\uB2E4\uC2DC\uD53C, \uC774\uAC83\uC740 UNet \uBAA8\uB378\uB9CC \uD3EC\uD568\uB41C DDPM \uD30C\uC774\uD504\uB77C\uC778\uBCF4\uB2E4 \uB354 \uBCF5\uC7A1\uD569\uB2C8\uB2E4. Stable Diffusion \uBAA8\uB378\uC5D0\uB294 \uC138 \uAC1C\uC758 \uAC1C\uBCC4 \uC0AC\uC804\uD559\uC2B5\uB41C \uBAA8\uB378\uC774 \uC788\uC2B5\uB2C8\uB2E4."),Pn.forEach(l),re=c(s),h(H.$$.fragment,s),ce=c(s),N=o(s,"P",{});var nl=m(N);ma=n(nl,"\uC774\uC81C Stable Diffusion \uD30C\uC774\uD504\uB77C\uC778\uC5D0 \uD544\uC694\uD55C \uAD6C\uC131\uC694\uC18C\uB4E4\uC774 \uBB34\uC5C7\uC778\uC9C0 \uC54C\uC558\uC73C\uB2C8, "),Zl=o(nl,"CODE",{});var Ln=m(Zl);ra=n(Ln,"from_pretrained()"),Ln.forEach(l),ca=n(nl," \uBA54\uC11C\uB4DC\uB97C \uC0AC\uC6A9\uD574 \uBAA8\uB4E0 \uAD6C\uC131\uC694\uC18C\uB97C \uBD88\uB7EC\uC635\uB2C8\uB2E4. \uC0AC\uC804\uD559\uC2B5\uB41C \uCCB4\uD06C\uD3EC\uC778\uD2B8 "),bs=o(nl,"A",{href:!0,rel:!0});var On=m(bs);vl=o(On,"CODE",{});var qn=m(vl);fa=n(qn,"runwayml/stable-diffusion-v1-5"),qn.forEach(l),On.forEach(l),ua=n(nl,"\uC5D0\uC11C \uCC3E\uC744 \uC218 \uC788\uC73C\uBA70, \uAC01 \uAD6C\uC131\uC694\uC18C\uB4E4\uC740 \uBCC4\uB3C4\uC758 \uD558\uC704 \uD3F4\uB354\uC5D0 \uC800\uC7A5\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4:"),nl.forEach(l),fe=c(s),h(js.$$.fragment,s),ue=c(s),Q=o(s,"P",{});var pl=m(Q);da=n(pl,"\uAE30\uBCF8 "),$l=o(pl,"CODE",{});var Kn=m($l);Ma=n(Kn,"PNDMScheduler"),Kn.forEach(l),ha=n(pl," \uB300\uC2E0, "),Il=o(pl,"CODE",{});var sp=m(Il);Ua=n(sp,"UniPCMultistepScheduler"),sp.forEach(l),ba=n(pl,"\uB85C \uAD50\uCCB4\uD558\uC5EC \uB2E4\uB978 \uC2A4\uCF00\uC904\uB7EC\uB97C \uC5BC\uB9C8\uB098 \uC27D\uAC8C \uC5F0\uACB0\uD560 \uC218 \uC788\uB294\uC9C0 \uD655\uC778\uD569\uB2C8\uB2E4:"),pl.forEach(l),de=c(s),h(Js.$$.fragment,s),Me=c(s),Hs=o(s,"P",{});var lp=m(Hs);ja=n(lp,"\uCD94\uB860 \uC18D\uB3C4\uB97C \uB192\uC774\uB824\uBA74 \uC2A4\uCF00\uC904\uB7EC\uC640 \uB2EC\uB9AC \uD559\uC2B5 \uAC00\uB2A5\uD55C \uAC00\uC911\uCE58\uAC00 \uC788\uC73C\uBBC0\uB85C \uBAA8\uB378\uC744 GPU\uB85C \uC62E\uAE30\uC138\uC694:"),lp.forEach(l),he=c(s),h(ys.$$.fragment,s),Ue=c(s),ws=o(s,"H3",{id:!0});var ep=m(ws);Ja=n(ep,"\uD14D\uC2A4\uD2B8 \uC784\uBCA0\uB529 \uC0DD\uC131\uD558\uAE30"),ep.forEach(l),be=c(s),Ps=o(s,"P",{});var tp=m(Ps);ya=n(tp,"\uB2E4\uC74C \uB2E8\uACC4\uB294 \uC784\uBCA0\uB529\uC744 \uC0DD\uC131\uD558\uAE30 \uC704\uD574 \uD14D\uC2A4\uD2B8\uB97C \uD1A0\uD070\uD654\uD558\uB294 \uAC83\uC785\uB2C8\uB2E4. \uC774 \uD14D\uC2A4\uD2B8\uB294 UNet \uBAA8\uB378\uC5D0\uC11C condition\uC73C\uB85C \uC0AC\uC6A9\uB418\uACE0 \uC785\uB825 \uD504\uB86C\uD504\uD2B8\uC640 \uC720\uC0AC\uD55C \uBC29\uD5A5\uC73C\uB85C diffusion \uD504\uB85C\uC138\uC2A4\uB97C \uC870\uC815\uD558\uB294 \uB370 \uC0AC\uC6A9\uB429\uB2C8\uB2E4."),tp.forEach(l),je=c(s),h(P.$$.fragment,s),Je=c(s),Ls=o(s,"P",{});var ap=m(Ls);wa=n(ap,"\uB2E4\uB978 \uD504\uB86C\uD504\uD2B8\uB97C \uC0DD\uC131\uD558\uACE0 \uC2F6\uB2E4\uBA74 \uC6D0\uD558\uB294 \uD504\uB86C\uD504\uD2B8\uB97C \uC790\uC720\uB86D\uAC8C \uC120\uD0DD\uD558\uC138\uC694!"),ap.forEach(l),ye=c(s),h(gs.$$.fragment,s),we=c(s),Os=o(s,"P",{});var np=m(Os);ga=n(np,"\uD14D\uC2A4\uD2B8\uB97C \uD1A0\uD070\uD654\uD558\uACE0 \uD504\uB86C\uD504\uD2B8\uC5D0\uC11C \uC784\uBCA0\uB529\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4:"),np.forEach(l),ge=c(s),h(Ts.$$.fragment,s),Te=c(s),I=o(s,"P",{});var S=m(I);Ta=n(S,"\uB610\uD55C \uD328\uB529 \uD1A0\uD070\uC758 \uC784\uBCA0\uB529\uC778 "),kl=o(S,"EM",{});var pp=m(kl);_a=n(pp,"unconditional \uD14D\uC2A4\uD2B8 \uC784\uBCA0\uB529"),pp.forEach(l),Ea=n(S,"\uC744 \uC0DD\uC131\uD574\uC57C \uD569\uB2C8\uB2E4. \uC774 \uC784\uBCA0\uB529\uC740 \uC870\uAC74\uBD80 "),Rl=o(S,"CODE",{});var ip=m(Rl);Ca=n(ip,"text_embeddings"),ip.forEach(l),Va=n(S,"\uACFC \uB3D9\uC77C\uD55C shape("),Gl=o(S,"CODE",{});var op=m(Gl);Za=n(op,"batch_size"),op.forEach(l),va=n(S," \uADF8\uB9AC\uACE0 "),Nl=o(S,"CODE",{});var mp=m(Nl);$a=n(mp,"seq_length"),mp.forEach(l),Ia=n(S,")\uC744 \uAC00\uC838\uC57C \uD569\uB2C8\uB2E4:"),S.forEach(l),_e=c(s),h(_s.$$.fragment,s),Ee=c(s),qs=o(s,"P",{});var rp=m(qs);ka=n(rp,"\uB450\uBC88\uC758 forward pass\uB97C \uD53C\uD558\uAE30 \uC704\uD574 conditional \uC784\uBCA0\uB529\uACFC unconditional \uC784\uBCA0\uB529\uC744 \uBC30\uCE58(batch)\uB85C \uC5F0\uACB0\uD558\uACA0\uC2B5\uB2C8\uB2E4:"),rp.forEach(l),Ce=c(s),h(Es.$$.fragment,s),Ve=c(s),Cs=o(s,"H3",{id:!0});var cp=m(Cs);Ra=n(cp,"\uB79C\uB364 \uB178\uC774\uC988 \uC0DD\uC131"),cp.forEach(l),Ze=c(s),L=o(s,"P",{});var tt=m(L);Ga=n(tt,"\uADF8\uB2E4\uC74C diffusion \uD504\uB85C\uC138\uC2A4\uC758 \uC2DC\uC791\uC810\uC73C\uB85C \uCD08\uAE30 \uB79C\uB364 \uB178\uC774\uC988\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4. \uC774\uAC83\uC774 \uC774\uBBF8\uC9C0\uC758 \uC7A0\uC7AC\uC801 \uD45C\uD604\uC774\uBA70 \uC810\uCC28\uC801\uC73C\uB85C \uB178\uC774\uC988\uAC00 \uC81C\uAC70\uB429\uB2C8\uB2E4. \uC774 \uC2DC\uC810\uC5D0\uC11C "),Ql=o(tt,"CODE",{});var fp=m(Ql);Na=n(fp,"latent"),fp.forEach(l),Qa=n(tt," \uC774\uBBF8\uC9C0\uB294 \uCD5C\uC885 \uC774\uBBF8\uC9C0 \uD06C\uAE30\uBCF4\uB2E4 \uC791\uC9C0\uB9CC \uB098\uC911\uC5D0 \uBAA8\uB378\uC774 \uC774\uB97C 512x512 \uC774\uBBF8\uC9C0 \uD06C\uAE30\uB85C \uBCC0\uD658\uD558\uBBC0\uB85C \uAD1C\uCC2E\uC2B5\uB2C8\uB2E4."),tt.forEach(l),ve=c(s),h(O.$$.fragment,s),$e=c(s),h(Vs.$$.fragment,s),Ie=c(s),Zs=o(s,"H3",{id:!0});var up=m(Zs);Wa=n(up,"\uC774\uBBF8\uC9C0 \uB178\uC774\uC988 \uC81C\uAC70"),up.forEach(l),ke=c(s),W=o(s,"P",{});var il=m(W);Da=n(il,"\uBA3C\uC800 "),Wl=o(il,"CODE",{});var dp=m(Wl);Xa=n(dp,"UniPCMultistepScheduler"),dp.forEach(l),Ba=n(il,"\uC640 \uAC19\uC740 \uD5A5\uC0C1\uB41C \uC2A4\uCF00\uC904\uB7EC\uC5D0 \uD544\uC694\uD55C \uB178\uC774\uC988 \uC2A4\uCF00\uC77C \uAC12\uC778 \uCD08\uAE30 \uB178\uC774\uC988 \uBD84\uD3EC "),Dl=o(il,"EM",{});var Mp=m(Dl);Sa=n(Mp,"sigma"),Mp.forEach(l),Fa=n(il," \uB85C \uC785\uB825\uC744 \uC2A4\uCF00\uC77C\uB9C1 \uD558\uB294 \uAC83\uBD80\uD130 \uC2DC\uC791\uD569\uB2C8\uB2E4:"),il.forEach(l),Re=c(s),h(vs.$$.fragment,s),Ge=c(s),q=o(s,"P",{});var at=m(q);za=n(at,"\uB9C8\uC9C0\uB9C9 \uB2E8\uACC4\uB294 "),Xl=o(at,"CODE",{});var hp=m(Xl);Aa=n(hp,"latent"),hp.forEach(l),Ya=n(at,"\uC758 \uC21C\uC218\uD55C \uB178\uC774\uC988\uB97C \uC810\uC9C4\uC801\uC73C\uB85C \uD504\uB86C\uD504\uD2B8\uC5D0 \uC124\uBA85\uB41C \uC774\uBBF8\uC9C0\uB85C \uBCC0\uD658\uD558\uB294 \uB178\uC774\uC988 \uC81C\uAC70 \uB8E8\uD504\uB97C \uC0DD\uC131\uD558\uB294 \uAC83\uC785\uB2C8\uB2E4. \uB178\uC774\uC988 \uC81C\uAC70 \uB8E8\uD504\uB294 \uC138 \uAC00\uC9C0 \uC791\uC5C5\uC744 \uC218\uD589\uD574\uC57C \uD55C\uB2E4\uB294 \uC810\uC744 \uAE30\uC5B5\uD558\uC138\uC694:"),at.forEach(l),Ne=c(s),D=o(s,"OL",{});var ol=m(D);Bl=o(ol,"LI",{});var Up=m(Bl);xa=n(Up,"\uB178\uC774\uC988 \uC81C\uAC70 \uC911\uC5D0 \uC0AC\uC6A9\uD560 \uC2A4\uCF00\uC904\uB7EC\uC758 timesteps\uB97C \uC124\uC815\uD569\uB2C8\uB2E4."),Up.forEach(l),Ha=c(ol),Sl=o(ol,"LI",{});var bp=m(Sl);Pa=n(bp,"timestep\uC744 \uB530\uB77C \uBC18\uBCF5\uD569\uB2C8\uB2E4."),bp.forEach(l),La=c(ol),Fl=o(ol,"LI",{});var jp=m(Fl);Oa=n(jp,"\uAC01 timestep\uC5D0\uC11C UNet \uBAA8\uB378\uC744 \uD638\uCD9C\uD558\uC5EC noise residual\uC744 \uC608\uCE21\uD558\uACE0 \uC2A4\uCF00\uC904\uB7EC\uC5D0 \uC804\uB2EC\uD558\uC5EC \uC774\uC804 \uB178\uC774\uC988 \uC0D8\uD50C\uC744 \uACC4\uC0B0\uD569\uB2C8\uB2E4."),jp.forEach(l),ol.forEach(l),Qe=c(s),h($s.$$.fragment,s),We=c(s),Is=o(s,"H3",{id:!0});var Jp=m(Is);qa=n(Jp,"\uC774\uBBF8\uC9C0 \uB514\uCF54\uB529"),Jp.forEach(l),De=c(s),X=o(s,"P",{});var ml=m(X);Ka=n(ml,"\uB9C8\uC9C0\uB9C9 \uB2E8\uACC4\uB294 "),zl=o(ml,"CODE",{});var yp=m(zl);sn=n(yp,"vae"),yp.forEach(l),ln=n(ml,"\uB97C \uC774\uC6A9\uD558\uC5EC \uC7A0\uC7AC \uD45C\uD604\uC744 \uC774\uBBF8\uC9C0\uB85C \uB514\uCF54\uB529\uD558\uACE0 "),Al=o(ml,"CODE",{});var wp=m(Al);en=n(wp,"sample"),wp.forEach(l),tn=n(ml,"\uACFC \uD568\uAED8 \uB514\uCF54\uB529\uB41C \uCD9C\uB825\uC744 \uC5BB\uB294 \uAC83\uC785\uB2C8\uB2E4:"),ml.forEach(l),Xe=c(s),h(ks.$$.fragment,s),Be=c(s),K=o(s,"P",{});var nt=m(K);an=n(nt,"\uB9C8\uC9C0\uB9C9\uC73C\uB85C \uC774\uBBF8\uC9C0\uB97C "),Yl=o(nt,"CODE",{});var gp=m(Yl);nn=n(gp,"PIL.Image"),gp.forEach(l),pn=n(nt,"\uB85C \uBCC0\uD658\uD558\uBA74 \uC0DD\uC131\uB41C \uC774\uBBF8\uC9C0\uB97C \uD655\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4!"),nt.forEach(l),Se=c(s),h(Rs.$$.fragment,s),Fe=c(s),Gs=o(s,"DIV",{class:!0});var Tp=m(Gs);xl=o(Tp,"IMG",{src:!0}),Tp.forEach(l),ze=c(s),Ns=o(s,"H2",{id:!0});var _p=m(Ns);on=n(_p,"\uB2E4\uC74C \uB2E8\uACC4"),_p.forEach(l),Ae=c(s),Ks=o(s,"P",{});var Ep=m(Ks);mn=n(Ep,"\uAE30\uBCF8 \uD30C\uC774\uD504\uB77C\uC778\uBD80\uD130 \uBCF5\uC7A1\uD55C \uD30C\uC774\uD504\uB77C\uC778\uAE4C\uC9C0, \uC790\uC2E0\uB9CC\uC758 diffusion \uC2DC\uC2A4\uD15C\uC744 \uC791\uC131\uD558\uB294 \uB370 \uD544\uC694\uD55C \uAC83\uC740 \uB178\uC774\uC988 \uC81C\uAC70 \uB8E8\uD504\uBFD0\uC774\uB77C\uB294 \uAC83\uC744 \uC54C \uC218 \uC788\uC5C8\uC2B5\uB2C8\uB2E4. \uC774 \uB8E8\uD504\uB294 \uC2A4\uCF00\uC904\uB7EC\uC758 timesteps\uB97C \uC124\uC815\uD558\uACE0, \uC774\uB97C \uBC18\uBCF5\uD558\uBA70, UNet \uBAA8\uB378\uC744 \uD638\uCD9C\uD558\uC5EC noise residual\uC744 \uC608\uCE21\uD558\uACE0 \uC2A4\uCF00\uC904\uB7EC\uC5D0 \uC804\uB2EC\uD558\uC5EC \uC774\uC804 \uB178\uC774\uC988 \uC0D8\uD50C\uC744 \uACC4\uC0B0\uD558\uB294 \uACFC\uC815\uC744 \uBC88\uAC08\uC544 \uAC00\uBA70 \uC218\uD589\uD574\uC57C \uD569\uB2C8\uB2E4."),Ep.forEach(l),Ye=c(s),sl=o(s,"P",{});var Cp=m(sl);rn=n(Cp,"\uC774\uAC83\uC774 \uBC14\uB85C \u{1F9E8} Diffusers\uAC00 \uC124\uACC4\uB41C \uBAA9\uC801\uC785\uB2C8\uB2E4: \uBAA8\uB378\uACFC \uC2A4\uCF00\uC904\uB7EC\uB97C \uC0AC\uC6A9\uD574 \uC790\uC2E0\uB9CC\uC758 diffusion \uC2DC\uC2A4\uD15C\uC744 \uC9C1\uAD00\uC801\uC774\uACE0 \uC27D\uAC8C \uC791\uC131\uD560 \uC218 \uC788\uB3C4\uB85D \uD558\uAE30 \uC704\uD574\uC11C\uC785\uB2C8\uB2E4."),Cp.forEach(l),xe=c(s),ll=o(s,"P",{});var Vp=m(ll);cn=n(Vp,"\uB2E4\uC74C \uB2E8\uACC4\uB97C \uC790\uC720\uB86D\uAC8C \uC9C4\uD589\uD558\uC138\uC694:"),Vp.forEach(l),He=c(s),ss=o(s,"UL",{});var pt=m(ss);Qs=o(pt,"LI",{});var it=m(Qs);fn=n(it,"\u{1F9E8} Diffusers\uC5D0 "),el=o(it,"A",{href:!0});var Zp=m(el);un=n(Zp,"\uD30C\uC774\uD504\uB77C\uC778 \uAD6C\uCD95 \uBC0F \uAE30\uC5EC"),Zp.forEach(l),dn=n(it,"\uD558\uB294 \uBC29\uBC95\uC744 \uC54C\uC544\uBCF4\uC138\uC694. \uC5EC\uB7EC\uBD84\uC774 \uC5B4\uB5A4 \uC544\uC774\uB514\uC5B4\uB97C \uB0B4\uB193\uC744\uC9C0 \uAE30\uB300\uB429\uB2C8\uB2E4!"),it.forEach(l),Mn=c(pt),Ws=o(pt,"LI",{});var ot=m(Ws);hn=n(ot,"\uB77C\uC774\uBE0C\uB7EC\uB9AC\uC5D0\uC11C "),tl=o(ot,"A",{href:!0});var vp=m(tl);Un=n(vp,"\uAE30\uBCF8 \uD30C\uC774\uD504\uB77C\uC778"),vp.forEach(l),bn=n(ot,"\uC744 \uC0B4\uD3B4\uBCF4\uACE0, \uBAA8\uB378\uACFC \uC2A4\uCF00\uC904\uB7EC\uB97C \uBCC4\uB3C4\uB85C \uC0AC\uC6A9\uD558\uC5EC \uD30C\uC774\uD504\uB77C\uC778\uC744 \uCC98\uC74C\uBD80\uD130 \uD574\uCCB4\uD558\uACE0 \uBE4C\uB4DC\uD560 \uC218 \uC788\uB294\uC9C0 \uD655\uC778\uD574 \uBCF4\uC138\uC694."),ot.forEach(l),pt.forEach(l),this.h()},h(){w(f,"name","hf:doc:metadata"),w(f,"content",JSON.stringify(zp)),w(u,"id",""),w(ts,"id",""),$p(Fs.src,Jn="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/ddpm-cat.png")||w(Fs,"src",Jn),w(Fs,"alt","Image of cat created from DDPMPipeline"),w(ns,"class","flex justify-center"),w(Y,"id","stable-diffusion"),w(Y,"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"),w(Y,"href","#stable-diffusion"),w(z,"class","relative group"),w(bs,"href","https://huggingface.co/runwayml/stable-diffusion-v1-5"),w(bs,"rel","nofollow"),w(ws,"id",""),w(Cs,"id",""),w(Zs,"id",""),w(Is,"id",""),$p(xl.src,yn="https://huggingface.co/blog/assets/98_stable_diffusion/stable_diffusion_k_lms.png")||w(xl,"src",yn),w(Gs,"class","flex justify-center"),w(Ns,"id",""),w(el,"href","using-diffusers/#contribute_pipeline"),w(tl,"href","./api/pipelines/overview")},m(s,t){e(document.head,f),p(s,E,t),p(s,u,t),e(u,Z),p(s,C,t),U(y,s,t),p(s,d,t),p(s,T,t),e(T,_),e(T,v),e(v,Xs),e(T,mt),p(s,Ll,t),p(s,Bs,t),e(Bs,rt),p(s,Ol,t),p(s,ts,t),e(ts,ct),p(s,ql,t),p(s,Ss,t),e(Ss,ft),p(s,Kl,t),U(as,s,t),p(s,se,t),p(s,ns,t),e(ns,Fs),p(s,le,t),p(s,zs,t),e(zs,ut),p(s,ee,t),p(s,k,t),e(k,dt),e(k,rl),e(rl,Mt),e(k,ht),e(k,cl),e(cl,Ut),e(k,bt),e(k,fl),e(fl,jt),e(k,Jt),p(s,te,t),p(s,As,t),e(As,yt),p(s,ae,t),p(s,V,t),e(V,ps),e(ps,ul),e(ul,wt),e(ps,gt),U(is,ps,null),e(V,Tt),e(V,os),e(os,dl),e(dl,_t),e(os,Et),U(ms,os,null),e(V,Ct),e(V,rs),e(rs,Ml),e(Ml,Vt),e(rs,Zt),U(cs,rs,null),e(V,vt),e(V,fs),e(fs,hl),e(hl,$t),e(fs,It),U(us,fs,null),e(V,kt),e(V,F),e(F,G),e(G,Rt),e(G,Ul),e(Ul,Gt),e(G,Nt),e(G,bl),e(bl,Qt),e(G,Wt),e(G,jl),e(jl,Dt),e(G,Xt),e(F,Bt),U(ds,F,null),e(F,St),e(F,Jl),e(Jl,Ft),e(V,zt),e(V,Ms),e(Ms,yl),e(yl,At),e(Ms,Yt),U(hs,Ms,null),p(s,ne,t),p(s,$,t),e($,xt),e($,wl),e(wl,Ht),e($,Pt),e($,gl),e(gl,Lt),e($,Ot),e($,Tl),e(Tl,qt),e($,Kt),e($,_l),e(_l,sa),e($,la),p(s,pe,t),p(s,Ys,t),e(Ys,ea),p(s,ie,t),p(s,z,t),e(z,Y),e(Y,El),U(Us,El,null),e(z,ta),e(z,Cl),e(Cl,aa),p(s,oe,t),p(s,x,t),e(x,na),e(x,Vl),e(Vl,pa),e(x,ia),p(s,me,t),p(s,xs,t),e(xs,oa),p(s,re,t),U(H,s,t),p(s,ce,t),p(s,N,t),e(N,ma),e(N,Zl),e(Zl,ra),e(N,ca),e(N,bs),e(bs,vl),e(vl,fa),e(N,ua),p(s,fe,t),U(js,s,t),p(s,ue,t),p(s,Q,t),e(Q,da),e(Q,$l),e($l,Ma),e(Q,ha),e(Q,Il),e(Il,Ua),e(Q,ba),p(s,de,t),U(Js,s,t),p(s,Me,t),p(s,Hs,t),e(Hs,ja),p(s,he,t),U(ys,s,t),p(s,Ue,t),p(s,ws,t),e(ws,Ja),p(s,be,t),p(s,Ps,t),e(Ps,ya),p(s,je,t),U(P,s,t),p(s,Je,t),p(s,Ls,t),e(Ls,wa),p(s,ye,t),U(gs,s,t),p(s,we,t),p(s,Os,t),e(Os,ga),p(s,ge,t),U(Ts,s,t),p(s,Te,t),p(s,I,t),e(I,Ta),e(I,kl),e(kl,_a),e(I,Ea),e(I,Rl),e(Rl,Ca),e(I,Va),e(I,Gl),e(Gl,Za),e(I,va),e(I,Nl),e(Nl,$a),e(I,Ia),p(s,_e,t),U(_s,s,t),p(s,Ee,t),p(s,qs,t),e(qs,ka),p(s,Ce,t),U(Es,s,t),p(s,Ve,t),p(s,Cs,t),e(Cs,Ra),p(s,Ze,t),p(s,L,t),e(L,Ga),e(L,Ql),e(Ql,Na),e(L,Qa),p(s,ve,t),U(O,s,t),p(s,$e,t),U(Vs,s,t),p(s,Ie,t),p(s,Zs,t),e(Zs,Wa),p(s,ke,t),p(s,W,t),e(W,Da),e(W,Wl),e(Wl,Xa),e(W,Ba),e(W,Dl),e(Dl,Sa),e(W,Fa),p(s,Re,t),U(vs,s,t),p(s,Ge,t),p(s,q,t),e(q,za),e(q,Xl),e(Xl,Aa),e(q,Ya),p(s,Ne,t),p(s,D,t),e(D,Bl),e(Bl,xa),e(D,Ha),e(D,Sl),e(Sl,Pa),e(D,La),e(D,Fl),e(Fl,Oa),p(s,Qe,t),U($s,s,t),p(s,We,t),p(s,Is,t),e(Is,qa),p(s,De,t),p(s,X,t),e(X,Ka),e(X,zl),e(zl,sn),e(X,ln),e(X,Al),e(Al,en),e(X,tn),p(s,Xe,t),U(ks,s,t),p(s,Be,t),p(s,K,t),e(K,an),e(K,Yl),e(Yl,nn),e(K,pn),p(s,Se,t),U(Rs,s,t),p(s,Fe,t),p(s,Gs,t),e(Gs,xl),p(s,ze,t),p(s,Ns,t),e(Ns,on),p(s,Ae,t),p(s,Ks,t),e(Ks,mn),p(s,Ye,t),p(s,sl,t),e(sl,rn),p(s,xe,t),p(s,ll,t),e(ll,cn),p(s,He,t),p(s,ss,t),e(ss,Qs),e(Qs,fn),e(Qs,el),e(el,un),e(Qs,dn),e(ss,Mn),e(ss,Ws),e(Ws,hn),e(Ws,tl),e(tl,Un),e(Ws,bn),Pe=!0},p(s,[t]){const Hl={};t&2&&(Hl.$$scope={dirty:t,ctx:s}),H.$set(Hl);const Ds={};t&2&&(Ds.$$scope={dirty:t,ctx:s}),P.$set(Ds);const Pl={};t&2&&(Pl.$$scope={dirty:t,ctx:s}),O.$set(Pl)},i(s){Pe||(b(y.$$.fragment,s),b(as.$$.fragment,s),b(is.$$.fragment,s),b(ms.$$.fragment,s),b(cs.$$.fragment,s),b(us.$$.fragment,s),b(ds.$$.fragment,s),b(hs.$$.fragment,s),b(Us.$$.fragment,s),b(H.$$.fragment,s),b(js.$$.fragment,s),b(Js.$$.fragment,s),b(ys.$$.fragment,s),b(P.$$.fragment,s),b(gs.$$.fragment,s),b(Ts.$$.fragment,s),b(_s.$$.fragment,s),b(Es.$$.fragment,s),b(O.$$.fragment,s),b(Vs.$$.fragment,s),b(vs.$$.fragment,s),b($s.$$.fragment,s),b(ks.$$.fragment,s),b(Rs.$$.fragment,s),Pe=!0)},o(s){j(y.$$.fragment,s),j(as.$$.fragment,s),j(is.$$.fragment,s),j(ms.$$.fragment,s),j(cs.$$.fragment,s),j(us.$$.fragment,s),j(ds.$$.fragment,s),j(hs.$$.fragment,s),j(Us.$$.fragment,s),j(H.$$.fragment,s),j(js.$$.fragment,s),j(Js.$$.fragment,s),j(ys.$$.fragment,s),j(P.$$.fragment,s),j(gs.$$.fragment,s),j(Ts.$$.fragment,s),j(_s.$$.fragment,s),j(Es.$$.fragment,s),j(O.$$.fragment,s),j(Vs.$$.fragment,s),j(vs.$$.fragment,s),j($s.$$.fragment,s),j(ks.$$.fragment,s),j(Rs.$$.fragment,s),Pe=!1},d(s){l(f),s&&l(E),s&&l(u),s&&l(C),J(y,s),s&&l(d),s&&l(T),s&&l(Ll),s&&l(Bs),s&&l(Ol),s&&l(ts),s&&l(ql),s&&l(Ss),s&&l(Kl),J(as,s),s&&l(se),s&&l(ns),s&&l(le),s&&l(zs),s&&l(ee),s&&l(k),s&&l(te),s&&l(As),s&&l(ae),s&&l(V),J(is),J(ms),J(cs),J(us),J(ds),J(hs),s&&l(ne),s&&l($),s&&l(pe),s&&l(Ys),s&&l(ie),s&&l(z),J(Us),s&&l(oe),s&&l(x),s&&l(me),s&&l(xs),s&&l(re),J(H,s),s&&l(ce),s&&l(N),s&&l(fe),J(js,s),s&&l(ue),s&&l(Q),s&&l(de),J(Js,s),s&&l(Me),s&&l(Hs),s&&l(he),J(ys,s),s&&l(Ue),s&&l(ws),s&&l(be),s&&l(Ps),s&&l(je),J(P,s),s&&l(Je),s&&l(Ls),s&&l(ye),J(gs,s),s&&l(we),s&&l(Os),s&&l(ge),J(Ts,s),s&&l(Te),s&&l(I),s&&l(_e),J(_s,s),s&&l(Ee),s&&l(qs),s&&l(Ce),J(Es,s),s&&l(Ve),s&&l(Cs),s&&l(Ze),s&&l(L),s&&l(ve),J(O,s),s&&l($e),J(Vs,s),s&&l(Ie),s&&l(Zs),s&&l(ke),s&&l(W),s&&l(Re),J(vs,s),s&&l(Ge),s&&l(q),s&&l(Ne),s&&l(D),s&&l(Qe),J($s,s),s&&l(We),s&&l(Is),s&&l(De),s&&l(X),s&&l(Xe),J(ks,s),s&&l(Be),s&&l(K),s&&l(Se),J(Rs,s),s&&l(Fe),s&&l(Gs),s&&l(ze),s&&l(Ns),s&&l(Ae),s&&l(Ks),s&&l(Ye),s&&l(sl),s&&l(xe),s&&l(ll),s&&l(He),s&&l(ss)}}}const zp={local:"",sections:[{local:"",title:"\uAE30\uBCF8 \uD30C\uC774\uD504\uB77C\uC778 \uD574\uCCB4\uD558\uAE30"},{local:"stable-diffusion",sections:[{local:"",title:"\uD14D\uC2A4\uD2B8 \uC784\uBCA0\uB529 \uC0DD\uC131\uD558\uAE30"},{local:"",title:"\uB79C\uB364 \uB178\uC774\uC988 \uC0DD\uC131"},{local:"",title:"\uC774\uBBF8\uC9C0 \uB178\uC774\uC988 \uC81C\uAC70"},{local:"",title:"\uC774\uBBF8\uC9C0 \uB514\uCF54\uB529"}],title:"Stable Diffusion \uD30C\uC774\uD504\uB77C\uC778 \uD574\uCCB4\uD558\uAE30"},{local:"",title:"\uB2E4\uC74C \uB2E8\uACC4"}],title:"\uD30C\uC774\uD504\uB77C\uC778, \uBAA8\uB378 \uBC0F \uC2A4\uCF00\uC904\uB7EC \uC774\uD574\uD558\uAE30"};function Ap(A){return Np(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Op extends Ip{constructor(f){super();kp(this,f,Ap,Fp,Rp,{})}}export{Op as default,zp as metadata}; | |
Xet Storage Details
- Size:
- 74.7 kB
- Xet hash:
- a6efca076a144988d13cc922bfd82124875fd11eb6d28a2faf7988d1f2bf7461
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.