Buckets:

rtrm's picture
download
raw
78.5 kB
import{s as Qi,n as Yi,o as Li}from"../chunks/scheduler.182ea377.js";import{S as Di,i as Pi,g as n,s as o,p as h,A as qi,h as l,f as e,c,j as d,q as g,m as p,k as s,v as i,a as r,r as m,d as u,t as b,u as f}from"../chunks/index.008d68e4.js";import{I as M}from"../chunks/IconCopyLink.96bbb92b.js";import{C as z}from"../chunks/CodeBlock.5ed6eb7b.js";function Ki(Va){let w,Cn,J,V,rn,yt,ca,Xe,Aa="PyTorch 2.0",xn,vt,Fa='🤗 Diffusers supports the latest optimizations from <a href="https://pytorch.org/get-started/pytorch-2.0/" rel="nofollow">PyTorch 2.0</a> which include:',Wn,wt,Qa='<li>A memory-efficient attention implementation, scaled dot product attention, without requiring any extra dependencies such as xFormers.</li> <li><a href="https://pytorch.org/tutorials/intermediate/torch_compile_tutorial.html" rel="nofollow"><code>torch.compile</code></a>, a just-in-time (JIT) compiler to provide an extra performance boost when individual models are compiled.</li>',Xn,Jt,Ya="Both of these optimizations require PyTorch 2.0 or later and 🤗 Diffusers > 0.13.0.",$n,Ut,Gn,U,A,sn,Tt,da,$e,La="Scaled dot product attention",Rn,jt,Da='<a href="https://pytorch.org/docs/master/generated/torch.nn.functional.scaled_dot_product_attention" rel="nofollow"><code>torch.nn.functional.scaled_dot_product_attention</code></a> (SDPA) is an optimized and memory-efficient attention (similar to xFormers) that automatically enables several other optimizations depending on the model inputs and GPU type. SDPA is enabled by default if you’re using PyTorch 2.0 and the latest version of 🤗 Diffusers, so you don’t need to add anything to your code.',En,Zt,Pa='However, if you want to explicitly enable it, you can set a <a href="/docs/diffusers/v0.25.0/pt/api/pipelines/overview#diffusers.DiffusionPipeline">DiffusionPipeline</a> to use <a href="/docs/diffusers/v0.25.0/pt/api/attnprocessor#diffusers.models.attention_processor.AttnProcessor2_0">AttnProcessor2_0</a>:',Nn,_t,In,Bt,qa='SDPA should be as fast and memory efficient as <code>xFormers</code>; check the <a href="#benchmark">benchmark</a> for more details.',Hn,St,Ka='In some cases - such as making the pipeline more deterministic or converting it to other formats - it may be helpful to use the vanilla attention processor, <a href="/docs/diffusers/v0.25.0/pt/api/attnprocessor#diffusers.models.attention_processor.AttnProcessor">AttnProcessor</a>. To revert to <a href="/docs/diffusers/v0.25.0/pt/api/attnprocessor#diffusers.models.attention_processor.AttnProcessor">AttnProcessor</a>, call the <a href="/docs/diffusers/v0.25.0/pt/api/models/unet2d-cond#diffusers.UNet2DConditionModel.set_default_attn_processor">set_default_attn_processor()</a> function on the pipeline:',zn,kt,Vn,T,F,on,Ct,pa,Ge,Oa="torch.compile",An,xt,tr="The <code>torch.compile</code> function can often provide an additional speed-up to your PyTorch code. In 🤗 Diffusers, it is usually best to wrap the UNet with <code>torch.compile</code> because it does most of the heavy lifting in the pipeline.",Fn,Wt,Qn,Xt,er="Depending on GPU type, <code>torch.compile</code> can provide an <em>additional speed-up</em> of <strong>5-300x</strong> on top of SDPA! If you’re using more recent GPU architectures such as Ampere (A100, 3090), Ada (4090), and Hopper (H100), <code>torch.compile</code> is able to squeeze even more performance out of these GPUs.",Yn,$t,nr="Compilation requires some time to complete, so it is best suited for situations where you prepare your pipeline once and then perform the same type of inference operations multiple times. For example, calling the compiled pipeline on a different image size triggers compilation again which can be expensive.",Ln,Gt,lr='For more information and different options about <code>torch.compile</code>, refer to the <a href="https://pytorch.org/tutorials/intermediate/torch_compile_tutorial.html" rel="nofollow"><code>torch_compile</code></a> tutorial.',Dn,j,Q,cn,Rt,ha,Re,ar="Benchmark",Pn,Et,rr='We conducted a comprehensive benchmark with PyTorch 2.0’s efficient attention implementation and <code>torch.compile</code> across different GPUs and batch sizes for five of our most used pipelines. The code is benchmarked on 🤗 Diffusers v0.17.0.dev0 to optimize <code>torch.compile</code> usage (see <a href="https://github.com/huggingface/diffusers/pull/3313" rel="nofollow">here</a> for more details).',qn,Nt,ir="Expand the dropdown below to find the code used to benchmark each pipeline:",Kn,y,Y,L,dn,It,ga,Ee,sr="Stable Diffusion text-to-image",ma,Ht,ua,D,P,pn,zt,ba,Ne,or="Stable Diffusion image-to-image",fa,Vt,Ma,q,K,hn,At,ya,Ie,cr="Stable Diffusion inpainting",va,Ft,wa,O,tt,gn,Qt,Ja,He,dr="ControlNet",Ua,Yt,Ta,et,nt,mn,Lt,ja,ze,pr="DeepFloyd IF text-to-image + upscaling",Za,Dt,On,Pt,hr='The graph below highlights the relative speed-ups for the <a href="/docs/diffusers/v0.25.0/pt/api/pipelines/stable_diffusion/text2img#diffusers.StableDiffusionPipeline">StableDiffusionPipeline</a> across five GPU families with PyTorch 2.0 and <code>torch.compile</code> enabled. The benchmarks for the following graphs are measured in <em>number of iterations/second</em>.',tl,qt,gr='<img src="https://huggingface.co/datasets/diffusers/docs-images/resolve/main/pt2_benchmarks/t2i_speedup.png" alt="t2i_speedup"/>',el,Kt,mr=`To give you an even better idea of how this speed-up holds for the other pipelines, consider the following
graph for an A100 with PyTorch 2.0 and <code>torch.compile</code>:`,nl,Ot,ur='<img src="https://huggingface.co/datasets/diffusers/docs-images/resolve/main/pt2_benchmarks/a100_numbers.png" alt="a100_numbers"/>',ll,te,br="In the following tables, we report our findings in terms of the <em>number of iterations/second</em>.",al,Z,lt,un,ee,_a,Ve,fr="A100 (batch size: 1)",rl,ne,Mr='<thead><tr><th align="center"><strong>Pipeline</strong></th> <th align="center"><strong>torch 2.0 - <br/>no compile</strong></th> <th align="center"><strong>torch nightly - <br/>no compile</strong></th> <th align="center"><strong>torch 2.0 - <br/>compile</strong></th> <th align="center"><strong>torch nightly - <br/>compile</strong></th></tr></thead> <tbody><tr><td align="center">SD - txt2img</td> <td align="center">21.66</td> <td align="center">23.13</td> <td align="center">44.03</td> <td align="center">49.74</td></tr> <tr><td align="center">SD - img2img</td> <td align="center">21.81</td> <td align="center">22.40</td> <td align="center">43.92</td> <td align="center">46.32</td></tr> <tr><td align="center">SD - inpaint</td> <td align="center">22.24</td> <td align="center">23.23</td> <td align="center">43.76</td> <td align="center">49.25</td></tr> <tr><td align="center">SD - controlnet</td> <td align="center">15.02</td> <td align="center">15.82</td> <td align="center">32.13</td> <td align="center">36.08</td></tr> <tr><td align="center">IF</td> <td align="center">20.21 / <br/>13.84 / <br/>24.00</td> <td align="center">20.12 / <br/>13.70 / <br/>24.03</td> <td align="center">❌</td> <td align="center">97.34 / <br/>27.23 / <br/>111.66</td></tr> <tr><td align="center">SDXL - txt2img</td> <td align="center">8.64</td> <td align="center">9.9</td> <td align="center">-</td> <td align="center">-</td></tr></tbody>',il,_,at,bn,le,Ba,Ae,yr="A100 (batch size: 4)",sl,ae,vr='<thead><tr><th align="center"><strong>Pipeline</strong></th> <th align="center"><strong>torch 2.0 - <br/>no compile</strong></th> <th align="center"><strong>torch nightly - <br/>no compile</strong></th> <th align="center"><strong>torch 2.0 - <br/>compile</strong></th> <th align="center"><strong>torch nightly - <br/>compile</strong></th></tr></thead> <tbody><tr><td align="center">SD - txt2img</td> <td align="center">11.6</td> <td align="center">13.12</td> <td align="center">14.62</td> <td align="center">17.27</td></tr> <tr><td align="center">SD - img2img</td> <td align="center">11.47</td> <td align="center">13.06</td> <td align="center">14.66</td> <td align="center">17.25</td></tr> <tr><td align="center">SD - inpaint</td> <td align="center">11.67</td> <td align="center">13.31</td> <td align="center">14.88</td> <td align="center">17.48</td></tr> <tr><td align="center">SD - controlnet</td> <td align="center">8.28</td> <td align="center">9.38</td> <td align="center">10.51</td> <td align="center">12.41</td></tr> <tr><td align="center">IF</td> <td align="center">25.02</td> <td align="center">18.04</td> <td align="center">❌</td> <td align="center">48.47</td></tr> <tr><td align="center">SDXL - txt2img</td> <td align="center">2.44</td> <td align="center">2.74</td> <td align="center">-</td> <td align="center">-</td></tr></tbody>',ol,B,rt,fn,re,Sa,Fe,wr="A100 (batch size: 16)",cl,ie,Jr='<thead><tr><th align="center"><strong>Pipeline</strong></th> <th align="center"><strong>torch 2.0 - <br/>no compile</strong></th> <th align="center"><strong>torch nightly - <br/>no compile</strong></th> <th align="center"><strong>torch 2.0 - <br/>compile</strong></th> <th align="center"><strong>torch nightly - <br/>compile</strong></th></tr></thead> <tbody><tr><td align="center">SD - txt2img</td> <td align="center">3.04</td> <td align="center">3.6</td> <td align="center">3.83</td> <td align="center">4.68</td></tr> <tr><td align="center">SD - img2img</td> <td align="center">2.98</td> <td align="center">3.58</td> <td align="center">3.83</td> <td align="center">4.67</td></tr> <tr><td align="center">SD - inpaint</td> <td align="center">3.04</td> <td align="center">3.66</td> <td align="center">3.9</td> <td align="center">4.76</td></tr> <tr><td align="center">SD - controlnet</td> <td align="center">2.15</td> <td align="center">2.58</td> <td align="center">2.74</td> <td align="center">3.35</td></tr> <tr><td align="center">IF</td> <td align="center">8.78</td> <td align="center">9.82</td> <td align="center">❌</td> <td align="center">16.77</td></tr> <tr><td align="center">SDXL - txt2img</td> <td align="center">0.64</td> <td align="center">0.72</td> <td align="center">-</td> <td align="center">-</td></tr></tbody>',dl,S,it,Mn,se,ka,Qe,Ur="V100 (batch size: 1)",pl,oe,Tr='<thead><tr><th align="center"><strong>Pipeline</strong></th> <th align="center"><strong>torch 2.0 - <br/>no compile</strong></th> <th align="center"><strong>torch nightly - <br/>no compile</strong></th> <th align="center"><strong>torch 2.0 - <br/>compile</strong></th> <th align="center"><strong>torch nightly - <br/>compile</strong></th></tr></thead> <tbody><tr><td align="center">SD - txt2img</td> <td align="center">18.99</td> <td align="center">19.14</td> <td align="center">20.95</td> <td align="center">22.17</td></tr> <tr><td align="center">SD - img2img</td> <td align="center">18.56</td> <td align="center">19.18</td> <td align="center">20.95</td> <td align="center">22.11</td></tr> <tr><td align="center">SD - inpaint</td> <td align="center">19.14</td> <td align="center">19.06</td> <td align="center">21.08</td> <td align="center">22.20</td></tr> <tr><td align="center">SD - controlnet</td> <td align="center">13.48</td> <td align="center">13.93</td> <td align="center">15.18</td> <td align="center">15.88</td></tr> <tr><td align="center">IF</td> <td align="center">20.01 / <br/>9.08 / <br/>23.34</td> <td align="center">19.79 / <br/>8.98 / <br/>24.10</td> <td align="center">❌</td> <td align="center">55.75 / <br/>11.57 / <br/>57.67</td></tr></tbody>',hl,k,st,yn,ce,Ca,Ye,jr="V100 (batch size: 4)",gl,de,Zr='<thead><tr><th align="center"><strong>Pipeline</strong></th> <th align="center"><strong>torch 2.0 - <br/>no compile</strong></th> <th align="center"><strong>torch nightly - <br/>no compile</strong></th> <th align="center"><strong>torch 2.0 - <br/>compile</strong></th> <th align="center"><strong>torch nightly - <br/>compile</strong></th></tr></thead> <tbody><tr><td align="center">SD - txt2img</td> <td align="center">5.96</td> <td align="center">5.89</td> <td align="center">6.83</td> <td align="center">6.86</td></tr> <tr><td align="center">SD - img2img</td> <td align="center">5.90</td> <td align="center">5.91</td> <td align="center">6.81</td> <td align="center">6.82</td></tr> <tr><td align="center">SD - inpaint</td> <td align="center">5.99</td> <td align="center">6.03</td> <td align="center">6.93</td> <td align="center">6.95</td></tr> <tr><td align="center">SD - controlnet</td> <td align="center">4.26</td> <td align="center">4.29</td> <td align="center">4.92</td> <td align="center">4.93</td></tr> <tr><td align="center">IF</td> <td align="center">15.41</td> <td align="center">14.76</td> <td align="center">❌</td> <td align="center">22.95</td></tr></tbody>',ml,C,ot,vn,pe,xa,Le,_r="V100 (batch size: 16)",ul,he,Br='<thead><tr><th align="center"><strong>Pipeline</strong></th> <th align="center"><strong>torch 2.0 - <br/>no compile</strong></th> <th align="center"><strong>torch nightly - <br/>no compile</strong></th> <th align="center"><strong>torch 2.0 - <br/>compile</strong></th> <th align="center"><strong>torch nightly - <br/>compile</strong></th></tr></thead> <tbody><tr><td align="center">SD - txt2img</td> <td align="center">1.66</td> <td align="center">1.66</td> <td align="center">1.92</td> <td align="center">1.90</td></tr> <tr><td align="center">SD - img2img</td> <td align="center">1.65</td> <td align="center">1.65</td> <td align="center">1.91</td> <td align="center">1.89</td></tr> <tr><td align="center">SD - inpaint</td> <td align="center">1.69</td> <td align="center">1.69</td> <td align="center">1.95</td> <td align="center">1.93</td></tr> <tr><td align="center">SD - controlnet</td> <td align="center">1.19</td> <td align="center">1.19</td> <td align="center">OOM after warmup</td> <td align="center">1.36</td></tr> <tr><td align="center">IF</td> <td align="center">5.43</td> <td align="center">5.29</td> <td align="center">❌</td> <td align="center">7.06</td></tr></tbody>',bl,x,ct,wn,ge,Wa,De,Sr="T4 (batch size: 1)",fl,me,kr='<thead><tr><th align="center"><strong>Pipeline</strong></th> <th align="center"><strong>torch 2.0 - <br/>no compile</strong></th> <th align="center"><strong>torch nightly - <br/>no compile</strong></th> <th align="center"><strong>torch 2.0 - <br/>compile</strong></th> <th align="center"><strong>torch nightly - <br/>compile</strong></th></tr></thead> <tbody><tr><td align="center">SD - txt2img</td> <td align="center">6.9</td> <td align="center">6.95</td> <td align="center">7.3</td> <td align="center">7.56</td></tr> <tr><td align="center">SD - img2img</td> <td align="center">6.84</td> <td align="center">6.99</td> <td align="center">7.04</td> <td align="center">7.55</td></tr> <tr><td align="center">SD - inpaint</td> <td align="center">6.91</td> <td align="center">6.7</td> <td align="center">7.01</td> <td align="center">7.37</td></tr> <tr><td align="center">SD - controlnet</td> <td align="center">4.89</td> <td align="center">4.86</td> <td align="center">5.35</td> <td align="center">5.48</td></tr> <tr><td align="center">IF</td> <td align="center">17.42 / <br/>2.47 / <br/>18.52</td> <td align="center">16.96 / <br/>2.45 / <br/>18.69</td> <td align="center">❌</td> <td align="center">24.63 / <br/>2.47 / <br/>23.39</td></tr> <tr><td align="center">SDXL - txt2img</td> <td align="center">1.15</td> <td align="center">1.16</td> <td align="center">-</td> <td align="center">-</td></tr></tbody>',Ml,W,dt,Jn,ue,Xa,Pe,Cr="T4 (batch size: 4)",yl,be,xr='<thead><tr><th align="center"><strong>Pipeline</strong></th> <th align="center"><strong>torch 2.0 - <br/>no compile</strong></th> <th align="center"><strong>torch nightly - <br/>no compile</strong></th> <th align="center"><strong>torch 2.0 - <br/>compile</strong></th> <th align="center"><strong>torch nightly - <br/>compile</strong></th></tr></thead> <tbody><tr><td align="center">SD - txt2img</td> <td align="center">1.79</td> <td align="center">1.79</td> <td align="center">2.03</td> <td align="center">1.99</td></tr> <tr><td align="center">SD - img2img</td> <td align="center">1.77</td> <td align="center">1.77</td> <td align="center">2.05</td> <td align="center">2.04</td></tr> <tr><td align="center">SD - inpaint</td> <td align="center">1.81</td> <td align="center">1.82</td> <td align="center">2.09</td> <td align="center">2.09</td></tr> <tr><td align="center">SD - controlnet</td> <td align="center">1.34</td> <td align="center">1.27</td> <td align="center">1.47</td> <td align="center">1.46</td></tr> <tr><td align="center">IF</td> <td align="center">5.79</td> <td align="center">5.61</td> <td align="center">❌</td> <td align="center">7.39</td></tr> <tr><td align="center">SDXL - txt2img</td> <td align="center">0.288</td> <td align="center">0.289</td> <td align="center">-</td> <td align="center">-</td></tr></tbody>',vl,X,pt,Un,fe,$a,qe,Wr="T4 (batch size: 16)",wl,Me,Xr='<thead><tr><th align="center"><strong>Pipeline</strong></th> <th align="center"><strong>torch 2.0 - <br/>no compile</strong></th> <th align="center"><strong>torch nightly - <br/>no compile</strong></th> <th align="center"><strong>torch 2.0 - <br/>compile</strong></th> <th align="center"><strong>torch nightly - <br/>compile</strong></th></tr></thead> <tbody><tr><td align="center">SD - txt2img</td> <td align="center">2.34s</td> <td align="center">2.30s</td> <td align="center">OOM after 2nd iteration</td> <td align="center">1.99s</td></tr> <tr><td align="center">SD - img2img</td> <td align="center">2.35s</td> <td align="center">2.31s</td> <td align="center">OOM after warmup</td> <td align="center">2.00s</td></tr> <tr><td align="center">SD - inpaint</td> <td align="center">2.30s</td> <td align="center">2.26s</td> <td align="center">OOM after 2nd iteration</td> <td align="center">1.95s</td></tr> <tr><td align="center">SD - controlnet</td> <td align="center">OOM after 2nd iteration</td> <td align="center">OOM after 2nd iteration</td> <td align="center">OOM after warmup</td> <td align="center">OOM after warmup</td></tr> <tr><td align="center">IF *</td> <td align="center">1.44</td> <td align="center">1.44</td> <td align="center">❌</td> <td align="center">1.94</td></tr> <tr><td align="center">SDXL - txt2img</td> <td align="center">OOM</td> <td align="center">OOM</td> <td align="center">-</td> <td align="center">-</td></tr></tbody>',Jl,$,ht,Tn,ye,Ga,Ke,$r="RTX 3090 (batch size: 1)",Ul,ve,Gr='<thead><tr><th align="center"><strong>Pipeline</strong></th> <th align="center"><strong>torch 2.0 - <br/>no compile</strong></th> <th align="center"><strong>torch nightly - <br/>no compile</strong></th> <th align="center"><strong>torch 2.0 - <br/>compile</strong></th> <th align="center"><strong>torch nightly - <br/>compile</strong></th></tr></thead> <tbody><tr><td align="center">SD - txt2img</td> <td align="center">22.56</td> <td align="center">22.84</td> <td align="center">23.84</td> <td align="center">25.69</td></tr> <tr><td align="center">SD - img2img</td> <td align="center">22.25</td> <td align="center">22.61</td> <td align="center">24.1</td> <td align="center">25.83</td></tr> <tr><td align="center">SD - inpaint</td> <td align="center">22.22</td> <td align="center">22.54</td> <td align="center">24.26</td> <td align="center">26.02</td></tr> <tr><td align="center">SD - controlnet</td> <td align="center">16.03</td> <td align="center">16.33</td> <td align="center">17.38</td> <td align="center">18.56</td></tr> <tr><td align="center">IF</td> <td align="center">27.08 / <br/>9.07 / <br/>31.23</td> <td align="center">26.75 / <br/>8.92 / <br/>31.47</td> <td align="center">❌</td> <td align="center">68.08 / <br/>11.16 / <br/>65.29</td></tr></tbody>',Tl,G,gt,jn,we,Ra,Oe,Rr="RTX 3090 (batch size: 4)",jl,Je,Er='<thead><tr><th align="center"><strong>Pipeline</strong></th> <th align="center"><strong>torch 2.0 - <br/>no compile</strong></th> <th align="center"><strong>torch nightly - <br/>no compile</strong></th> <th align="center"><strong>torch 2.0 - <br/>compile</strong></th> <th align="center"><strong>torch nightly - <br/>compile</strong></th></tr></thead> <tbody><tr><td align="center">SD - txt2img</td> <td align="center">6.46</td> <td align="center">6.35</td> <td align="center">7.29</td> <td align="center">7.3</td></tr> <tr><td align="center">SD - img2img</td> <td align="center">6.33</td> <td align="center">6.27</td> <td align="center">7.31</td> <td align="center">7.26</td></tr> <tr><td align="center">SD - inpaint</td> <td align="center">6.47</td> <td align="center">6.4</td> <td align="center">7.44</td> <td align="center">7.39</td></tr> <tr><td align="center">SD - controlnet</td> <td align="center">4.59</td> <td align="center">4.54</td> <td align="center">5.27</td> <td align="center">5.26</td></tr> <tr><td align="center">IF</td> <td align="center">16.81</td> <td align="center">16.62</td> <td align="center">❌</td> <td align="center">21.57</td></tr></tbody>',Zl,R,mt,Zn,Ue,Ea,tn,Nr="RTX 3090 (batch size: 16)",_l,Te,Ir='<thead><tr><th align="center"><strong>Pipeline</strong></th> <th align="center"><strong>torch 2.0 - <br/>no compile</strong></th> <th align="center"><strong>torch nightly - <br/>no compile</strong></th> <th align="center"><strong>torch 2.0 - <br/>compile</strong></th> <th align="center"><strong>torch nightly - <br/>compile</strong></th></tr></thead> <tbody><tr><td align="center">SD - txt2img</td> <td align="center">1.7</td> <td align="center">1.69</td> <td align="center">1.93</td> <td align="center">1.91</td></tr> <tr><td align="center">SD - img2img</td> <td align="center">1.68</td> <td align="center">1.67</td> <td align="center">1.93</td> <td align="center">1.9</td></tr> <tr><td align="center">SD - inpaint</td> <td align="center">1.72</td> <td align="center">1.71</td> <td align="center">1.97</td> <td align="center">1.94</td></tr> <tr><td align="center">SD - controlnet</td> <td align="center">1.23</td> <td align="center">1.22</td> <td align="center">1.4</td> <td align="center">1.38</td></tr> <tr><td align="center">IF</td> <td align="center">5.01</td> <td align="center">5.00</td> <td align="center">❌</td> <td align="center">6.33</td></tr></tbody>',Bl,E,ut,_n,je,Na,en,Hr="RTX 4090 (batch size: 1)",Sl,Ze,zr='<thead><tr><th align="center"><strong>Pipeline</strong></th> <th align="center"><strong>torch 2.0 - <br/>no compile</strong></th> <th align="center"><strong>torch nightly - <br/>no compile</strong></th> <th align="center"><strong>torch 2.0 - <br/>compile</strong></th> <th align="center"><strong>torch nightly - <br/>compile</strong></th></tr></thead> <tbody><tr><td align="center">SD - txt2img</td> <td align="center">40.5</td> <td align="center">41.89</td> <td align="center">44.65</td> <td align="center">49.81</td></tr> <tr><td align="center">SD - img2img</td> <td align="center">40.39</td> <td align="center">41.95</td> <td align="center">44.46</td> <td align="center">49.8</td></tr> <tr><td align="center">SD - inpaint</td> <td align="center">40.51</td> <td align="center">41.88</td> <td align="center">44.58</td> <td align="center">49.72</td></tr> <tr><td align="center">SD - controlnet</td> <td align="center">29.27</td> <td align="center">30.29</td> <td align="center">32.26</td> <td align="center">36.03</td></tr> <tr><td align="center">IF</td> <td align="center">69.71 / <br/>18.78 / <br/>85.49</td> <td align="center">69.13 / <br/>18.80 / <br/>85.56</td> <td align="center">❌</td> <td align="center">124.60 / <br/>26.37 / <br/>138.79</td></tr> <tr><td align="center">SDXL - txt2img</td> <td align="center">6.8</td> <td align="center">8.18</td> <td align="center">-</td> <td align="center">-</td></tr></tbody>',kl,N,bt,Bn,_e,Ia,nn,Vr="RTX 4090 (batch size: 4)",Cl,Be,Ar='<thead><tr><th align="center"><strong>Pipeline</strong></th> <th align="center"><strong>torch 2.0 - <br/>no compile</strong></th> <th align="center"><strong>torch nightly - <br/>no compile</strong></th> <th align="center"><strong>torch 2.0 - <br/>compile</strong></th> <th align="center"><strong>torch nightly - <br/>compile</strong></th></tr></thead> <tbody><tr><td align="center">SD - txt2img</td> <td align="center">12.62</td> <td align="center">12.84</td> <td align="center">15.32</td> <td align="center">15.59</td></tr> <tr><td align="center">SD - img2img</td> <td align="center">12.61</td> <td align="center">12,.79</td> <td align="center">15.35</td> <td align="center">15.66</td></tr> <tr><td align="center">SD - inpaint</td> <td align="center">12.65</td> <td align="center">12.81</td> <td align="center">15.3</td> <td align="center">15.58</td></tr> <tr><td align="center">SD - controlnet</td> <td align="center">9.1</td> <td align="center">9.25</td> <td align="center">11.03</td> <td align="center">11.22</td></tr> <tr><td align="center">IF</td> <td align="center">31.88</td> <td align="center">31.14</td> <td align="center">❌</td> <td align="center">43.92</td></tr> <tr><td align="center">SDXL - txt2img</td> <td align="center">2.19</td> <td align="center">2.35</td> <td align="center">-</td> <td align="center">-</td></tr></tbody>',xl,I,ft,Sn,Se,Ha,ln,Fr="RTX 4090 (batch size: 16)",Wl,ke,Qr='<thead><tr><th align="center"><strong>Pipeline</strong></th> <th align="center"><strong>torch 2.0 - <br/>no compile</strong></th> <th align="center"><strong>torch nightly - <br/>no compile</strong></th> <th align="center"><strong>torch 2.0 - <br/>compile</strong></th> <th align="center"><strong>torch nightly - <br/>compile</strong></th></tr></thead> <tbody><tr><td align="center">SD - txt2img</td> <td align="center">3.17</td> <td align="center">3.2</td> <td align="center">3.84</td> <td align="center">3.85</td></tr> <tr><td align="center">SD - img2img</td> <td align="center">3.16</td> <td align="center">3.2</td> <td align="center">3.84</td> <td align="center">3.85</td></tr> <tr><td align="center">SD - inpaint</td> <td align="center">3.17</td> <td align="center">3.2</td> <td align="center">3.85</td> <td align="center">3.85</td></tr> <tr><td align="center">SD - controlnet</td> <td align="center">2.23</td> <td align="center">2.3</td> <td align="center">2.7</td> <td align="center">2.75</td></tr> <tr><td align="center">IF</td> <td align="center">9.26</td> <td align="center">9.2</td> <td align="center">❌</td> <td align="center">13.31</td></tr> <tr><td align="center">SDXL - txt2img</td> <td align="center">0.52</td> <td align="center">0.53</td> <td align="center">-</td> <td align="center">-</td></tr></tbody>',Xl,H,Mt,kn,Ce,za,an,Yr="Notes",$l,xe,Lr='<li>Follow this <a href="https://github.com/huggingface/diffusers/pull/3313" rel="nofollow">PR</a> for more details on the environment used for conducting the benchmarks.</li> <li>For the DeepFloyd IF pipeline where batch sizes &gt; 1, we only used a batch size of &gt; 1 in the first IF pipeline for text-to-image generation and NOT for upscaling. That means the two upscaling pipelines received a batch size of 1.</li>',Gl,We,Dr='<em>Thanks to <a href="https://github.com/Chillee" rel="nofollow">Horace He</a> from the PyTorch team for their support in improving our support of <code>torch.compile()</code> in Diffusers.</em>',Rl;return yt=new M({}),Ut=new z({props:{code:"cGlwJTIwaW5zdGFsbCUyMC0tdXBncmFkZSUyMHRvcmNoJTIwZGlmZnVzZXJz",highlighted:"pip install --upgrade torch diffusers"}}),Tt=new M({}),_t=new z({props:{code:"JTIwJTIwaW1wb3J0JTIwdG9yY2glMEElMjAlMjBmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwRGlmZnVzaW9uUGlwZWxpbmUlMEElMkIlMjBmcm9tJTIwZGlmZnVzZXJzLm1vZGVscy5hdHRlbnRpb25fcHJvY2Vzc29yJTIwaW1wb3J0JTIwQXR0blByb2Nlc3NvcjJfMCUwQSUwQSUyMCUyMHBpcGUlMjAlM0QlMjBEaWZmdXNpb25QaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTIycnVud2F5bWwlMkZzdGFibGUtZGlmZnVzaW9uLXYxLTUlMjIlMkMlMjB0b3JjaF9kdHlwZSUzRHRvcmNoLmZsb2F0MTYlMkMlMjB1c2Vfc2FmZXRlbnNvcnMlM0RUcnVlKS50byglMjJjdWRhJTIyKSUwQSUyQiUyMHBpcGUudW5ldC5zZXRfYXR0bl9wcm9jZXNzb3IoQXR0blByb2Nlc3NvcjJfMCgpKSUwQSUwQSUyMCUyMHByb21wdCUyMCUzRCUyMCUyMmElMjBwaG90byUyMG9mJTIwYW4lMjBhc3Ryb25hdXQlMjByaWRpbmclMjBhJTIwaG9yc2UlMjBvbiUyMG1hcnMlMjIlMEElMjAlMjBpbWFnZSUyMCUzRCUyMHBpcGUocHJvbXB0KS5pbWFnZXMlNUIwJTVE",highlighted:` import torch
from diffusers import DiffusionPipeline
<span class="hljs-addition">+ from diffusers.models.attention_processor import AttnProcessor2_0</span>
pipe = DiffusionPipeline.from_pretrained(&quot;runwayml/stable-diffusion-v1-5&quot;, torch_dtype=torch.float16, use_safetensors=True).to(&quot;cuda&quot;)
<span class="hljs-addition">+ pipe.unet.set_attn_processor(AttnProcessor2_0())</span>
prompt = &quot;a photo of an astronaut riding a horse on mars&quot;
image = pipe(prompt).images[0]`}}),kt=new z({props:{code:"JTIwJTIwaW1wb3J0JTIwdG9yY2glMEElMjAlMjBmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwRGlmZnVzaW9uUGlwZWxpbmUlMEElMEElMjAlMjBwaXBlJTIwJTNEJTIwRGlmZnVzaW9uUGlwZWxpbmUuZnJvbV9wcmV0cmFpbmVkKCUyMnJ1bndheW1sJTJGc3RhYmxlLWRpZmZ1c2lvbi12MS01JTIyJTJDJTIwdG9yY2hfZHR5cGUlM0R0b3JjaC5mbG9hdDE2JTJDJTIwdXNlX3NhZmV0ZW5zb3JzJTNEVHJ1ZSkudG8oJTIyY3VkYSUyMiklMEElMkIlMjBwaXBlLnVuZXQuc2V0X2RlZmF1bHRfYXR0bl9wcm9jZXNzb3IoKSUwQSUwQSUyMCUyMHByb21wdCUyMCUzRCUyMCUyMmElMjBwaG90byUyMG9mJTIwYW4lMjBhc3Ryb25hdXQlMjByaWRpbmclMjBhJTIwaG9yc2UlMjBvbiUyMG1hcnMlMjIlMEElMjAlMjBpbWFnZSUyMCUzRCUyMHBpcGUocHJvbXB0KS5pbWFnZXMlNUIwJTVE",highlighted:` import torch
from diffusers import DiffusionPipeline
pipe = DiffusionPipeline.from_pretrained(&quot;runwayml/stable-diffusion-v1-5&quot;, torch_dtype=torch.float16, use_safetensors=True).to(&quot;cuda&quot;)
<span class="hljs-addition">+ pipe.unet.set_default_attn_processor()</span>
prompt = &quot;a photo of an astronaut riding a horse on mars&quot;
image = pipe(prompt).images[0]`}}),Ct=new M({}),Wt=new z({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMERpZmZ1c2lvblBpcGVsaW5lJTBBaW1wb3J0JTIwdG9yY2glMEElMEFwaXBlJTIwJTNEJTIwRGlmZnVzaW9uUGlwZWxpbmUuZnJvbV9wcmV0cmFpbmVkKCUyMnJ1bndheW1sJTJGc3RhYmxlLWRpZmZ1c2lvbi12MS01JTIyJTJDJTIwdG9yY2hfZHR5cGUlM0R0b3JjaC5mbG9hdDE2JTJDJTIwdXNlX3NhZmV0ZW5zb3JzJTNEVHJ1ZSkudG8oJTIyY3VkYSUyMiklMEFwaXBlLnVuZXQlMjAlM0QlMjB0b3JjaC5jb21waWxlKHBpcGUudW5ldCUyQyUyMG1vZGUlM0QlMjJyZWR1Y2Utb3ZlcmhlYWQlMjIlMkMlMjBmdWxsZ3JhcGglM0RUcnVlKSUwQWltYWdlcyUyMCUzRCUyMHBpcGUocHJvbXB0JTJDJTIwbnVtX2luZmVyZW5jZV9zdGVwcyUzRHN0ZXBzJTJDJTIwbnVtX2ltYWdlc19wZXJfcHJvbXB0JTNEYmF0Y2hfc2l6ZSkuaW1hZ2VzJTVCMCU1RA==",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> DiffusionPipeline
<span class="hljs-keyword">import</span> torch
pipe = DiffusionPipeline.from_pretrained(<span class="hljs-string">&quot;runwayml/stable-diffusion-v1-5&quot;</span>, torch_dtype=torch.float16, use_safetensors=<span class="hljs-literal">True</span>).to(<span class="hljs-string">&quot;cuda&quot;</span>)
pipe.unet = torch.<span class="hljs-built_in">compile</span>(pipe.unet, mode=<span class="hljs-string">&quot;reduce-overhead&quot;</span>, fullgraph=<span class="hljs-literal">True</span>)
images = pipe(prompt, num_inference_steps=steps, num_images_per_prompt=batch_size).images[<span class="hljs-number">0</span>]`}}),Rt=new M({}),It=new M({}),Ht=new z({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMERpZmZ1c2lvblBpcGVsaW5lJTBBaW1wb3J0JTIwdG9yY2glMEElMEFwYXRoJTIwJTNEJTIwJTIycnVud2F5bWwlMkZzdGFibGUtZGlmZnVzaW9uLXYxLTUlMjIlMEElMEFydW5fY29tcGlsZSUyMCUzRCUyMFRydWUlMjAlMjAlMjMlMjBTZXQlMjBUcnVlJTIwJTJGJTIwRmFsc2UlMEElMEFwaXBlJTIwJTNEJTIwRGlmZnVzaW9uUGlwZWxpbmUuZnJvbV9wcmV0cmFpbmVkKHBhdGglMkMlMjB0b3JjaF9kdHlwZSUzRHRvcmNoLmZsb2F0MTYlMkMlMjB1c2Vfc2FmZXRlbnNvcnMlM0RUcnVlKSUwQXBpcGUlMjAlM0QlMjBwaXBlLnRvKCUyMmN1ZGElMjIpJTBBcGlwZS51bmV0LnRvKG1lbW9yeV9mb3JtYXQlM0R0b3JjaC5jaGFubmVsc19sYXN0KSUwQSUwQWlmJTIwcnVuX2NvbXBpbGUlM0ElMEElMjAlMjAlMjAlMjBwcmludCglMjJSdW4lMjB0b3JjaCUyMGNvbXBpbGUlMjIpJTBBJTIwJTIwJTIwJTIwcGlwZS51bmV0JTIwJTNEJTIwdG9yY2guY29tcGlsZShwaXBlLnVuZXQlMkMlMjBtb2RlJTNEJTIycmVkdWNlLW92ZXJoZWFkJTIyJTJDJTIwZnVsbGdyYXBoJTNEVHJ1ZSklMEElMEFwcm9tcHQlMjAlM0QlMjAlMjJnaGlibGklMjBzdHlsZSUyQyUyMGElMjBmYW50YXN5JTIwbGFuZHNjYXBlJTIwd2l0aCUyMGNhc3RsZXMlMjIlMEElMEFmb3IlMjBfJTIwaW4lMjByYW5nZSgzKSUzQSUwQSUyMCUyMCUyMCUyMGltYWdlcyUyMCUzRCUyMHBpcGUocHJvbXB0JTNEcHJvbXB0KS5pbWFnZXM=",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> DiffusionPipeline
<span class="hljs-keyword">import</span> torch
path = <span class="hljs-string">&quot;runwayml/stable-diffusion-v1-5&quot;</span>
run_compile = <span class="hljs-literal">True</span> <span class="hljs-comment"># Set True / False</span>
pipe = DiffusionPipeline.from_pretrained(path, torch_dtype=torch.float16, use_safetensors=<span class="hljs-literal">True</span>)
pipe = pipe.to(<span class="hljs-string">&quot;cuda&quot;</span>)
pipe.unet.to(memory_format=torch.channels_last)
<span class="hljs-keyword">if</span> run_compile:
<span class="hljs-built_in">print</span>(<span class="hljs-string">&quot;Run torch compile&quot;</span>)
pipe.unet = torch.<span class="hljs-built_in">compile</span>(pipe.unet, mode=<span class="hljs-string">&quot;reduce-overhead&quot;</span>, fullgraph=<span class="hljs-literal">True</span>)
prompt = <span class="hljs-string">&quot;ghibli style, a fantasy landscape with castles&quot;</span>
<span class="hljs-keyword">for</span> _ <span class="hljs-keyword">in</span> <span class="hljs-built_in">range</span>(<span class="hljs-number">3</span>):
images = pipe(prompt=prompt).images`}}),zt=new M({}),Vt=new z({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMFN0YWJsZURpZmZ1c2lvbkltZzJJbWdQaXBlbGluZSUwQWZyb20lMjBkaWZmdXNlcnMudXRpbHMlMjBpbXBvcnQlMjBsb2FkX2ltYWdlJTBBaW1wb3J0JTIwdG9yY2glMEElMEF1cmwlMjAlM0QlMjAlMjJodHRwcyUzQSUyRiUyRnJhdy5naXRodWJ1c2VyY29udGVudC5jb20lMkZDb21wVmlzJTJGc3RhYmxlLWRpZmZ1c2lvbiUyRm1haW4lMkZhc3NldHMlMkZzdGFibGUtc2FtcGxlcyUyRmltZzJpbWclMkZza2V0Y2gtbW91bnRhaW5zLWlucHV0LmpwZyUyMiUwQSUwQWluaXRfaW1hZ2UlMjAlM0QlMjBsb2FkX2ltYWdlKHVybCklMEFpbml0X2ltYWdlJTIwJTNEJTIwaW5pdF9pbWFnZS5yZXNpemUoKDUxMiUyQyUyMDUxMikpJTBBJTBBcGF0aCUyMCUzRCUyMCUyMnJ1bndheW1sJTJGc3RhYmxlLWRpZmZ1c2lvbi12MS01JTIyJTBBJTBBcnVuX2NvbXBpbGUlMjAlM0QlMjBUcnVlJTIwJTIwJTIzJTIwU2V0JTIwVHJ1ZSUyMCUyRiUyMEZhbHNlJTBBJTBBcGlwZSUyMCUzRCUyMFN0YWJsZURpZmZ1c2lvbkltZzJJbWdQaXBlbGluZS5mcm9tX3ByZXRyYWluZWQocGF0aCUyQyUyMHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiUyQyUyMHVzZV9zYWZldGVuc29ycyUzRFRydWUpJTBBcGlwZSUyMCUzRCUyMHBpcGUudG8oJTIyY3VkYSUyMiklMEFwaXBlLnVuZXQudG8obWVtb3J5X2Zvcm1hdCUzRHRvcmNoLmNoYW5uZWxzX2xhc3QpJTBBJTBBaWYlMjBydW5fY29tcGlsZSUzQSUwQSUyMCUyMCUyMCUyMHByaW50KCUyMlJ1biUyMHRvcmNoJTIwY29tcGlsZSUyMiklMEElMjAlMjAlMjAlMjBwaXBlLnVuZXQlMjAlM0QlMjB0b3JjaC5jb21waWxlKHBpcGUudW5ldCUyQyUyMG1vZGUlM0QlMjJyZWR1Y2Utb3ZlcmhlYWQlMjIlMkMlMjBmdWxsZ3JhcGglM0RUcnVlKSUwQSUwQXByb21wdCUyMCUzRCUyMCUyMmdoaWJsaSUyMHN0eWxlJTJDJTIwYSUyMGZhbnRhc3klMjBsYW5kc2NhcGUlMjB3aXRoJTIwY2FzdGxlcyUyMiUwQSUwQWZvciUyMF8lMjBpbiUyMHJhbmdlKDMpJTNBJTBBJTIwJTIwJTIwJTIwaW1hZ2UlMjAlM0QlMjBwaXBlKHByb21wdCUzRHByb21wdCUyQyUyMGltYWdlJTNEaW5pdF9pbWFnZSkuaW1hZ2VzJTVCMCU1RA==",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> StableDiffusionImg2ImgPipeline
<span class="hljs-keyword">from</span> diffusers.utils <span class="hljs-keyword">import</span> load_image
<span class="hljs-keyword">import</span> torch
url = <span class="hljs-string">&quot;https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg&quot;</span>
init_image = load_image(url)
init_image = init_image.resize((<span class="hljs-number">512</span>, <span class="hljs-number">512</span>))
path = <span class="hljs-string">&quot;runwayml/stable-diffusion-v1-5&quot;</span>
run_compile = <span class="hljs-literal">True</span> <span class="hljs-comment"># Set True / False</span>
pipe = StableDiffusionImg2ImgPipeline.from_pretrained(path, torch_dtype=torch.float16, use_safetensors=<span class="hljs-literal">True</span>)
pipe = pipe.to(<span class="hljs-string">&quot;cuda&quot;</span>)
pipe.unet.to(memory_format=torch.channels_last)
<span class="hljs-keyword">if</span> run_compile:
<span class="hljs-built_in">print</span>(<span class="hljs-string">&quot;Run torch compile&quot;</span>)
pipe.unet = torch.<span class="hljs-built_in">compile</span>(pipe.unet, mode=<span class="hljs-string">&quot;reduce-overhead&quot;</span>, fullgraph=<span class="hljs-literal">True</span>)
prompt = <span class="hljs-string">&quot;ghibli style, a fantasy landscape with castles&quot;</span>
<span class="hljs-keyword">for</span> _ <span class="hljs-keyword">in</span> <span class="hljs-built_in">range</span>(<span class="hljs-number">3</span>):
image = pipe(prompt=prompt, image=init_image).images[<span class="hljs-number">0</span>]`}}),At=new M({}),Ft=new z({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMFN0YWJsZURpZmZ1c2lvbklucGFpbnRQaXBlbGluZSUwQWZyb20lMjBkaWZmdXNlcnMudXRpbHMlMjBpbXBvcnQlMjBsb2FkX2ltYWdlJTBBaW1wb3J0JTIwdG9yY2glMEElMEFpbWdfdXJsJTIwJTNEJTIwJTIyaHR0cHMlM0ElMkYlMkZyYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tJTJGQ29tcFZpcyUyRmxhdGVudC1kaWZmdXNpb24lMkZtYWluJTJGZGF0YSUyRmlucGFpbnRpbmdfZXhhbXBsZXMlMkZvdmVydHVyZS1jcmVhdGlvbnMtNXNJNmZRZ1lJdW8ucG5nJTIyJTBBbWFza191cmwlMjAlM0QlMjAlMjJodHRwcyUzQSUyRiUyRnJhdy5naXRodWJ1c2VyY29udGVudC5jb20lMkZDb21wVmlzJTJGbGF0ZW50LWRpZmZ1c2lvbiUyRm1haW4lMkZkYXRhJTJGaW5wYWludGluZ19leGFtcGxlcyUyRm92ZXJ0dXJlLWNyZWF0aW9ucy01c0k2ZlFnWUl1b19tYXNrLnBuZyUyMiUwQSUwQWluaXRfaW1hZ2UlMjAlM0QlMjBsb2FkX2ltYWdlKGltZ191cmwpLnJlc2l6ZSgoNTEyJTJDJTIwNTEyKSklMEFtYXNrX2ltYWdlJTIwJTNEJTIwbG9hZF9pbWFnZShtYXNrX3VybCkucmVzaXplKCg1MTIlMkMlMjA1MTIpKSUwQSUwQXBhdGglMjAlM0QlMjAlMjJydW53YXltbCUyRnN0YWJsZS1kaWZmdXNpb24taW5wYWludGluZyUyMiUwQSUwQXJ1bl9jb21waWxlJTIwJTNEJTIwVHJ1ZSUyMCUyMCUyMyUyMFNldCUyMFRydWUlMjAlMkYlMjBGYWxzZSUwQSUwQXBpcGUlMjAlM0QlMjBTdGFibGVEaWZmdXNpb25JbnBhaW50UGlwZWxpbmUuZnJvbV9wcmV0cmFpbmVkKHBhdGglMkMlMjB0b3JjaF9kdHlwZSUzRHRvcmNoLmZsb2F0MTYlMkMlMjB1c2Vfc2FmZXRlbnNvcnMlM0RUcnVlKSUwQXBpcGUlMjAlM0QlMjBwaXBlLnRvKCUyMmN1ZGElMjIpJTBBcGlwZS51bmV0LnRvKG1lbW9yeV9mb3JtYXQlM0R0b3JjaC5jaGFubmVsc19sYXN0KSUwQSUwQWlmJTIwcnVuX2NvbXBpbGUlM0ElMEElMjAlMjAlMjAlMjBwcmludCglMjJSdW4lMjB0b3JjaCUyMGNvbXBpbGUlMjIpJTBBJTIwJTIwJTIwJTIwcGlwZS51bmV0JTIwJTNEJTIwdG9yY2guY29tcGlsZShwaXBlLnVuZXQlMkMlMjBtb2RlJTNEJTIycmVkdWNlLW92ZXJoZWFkJTIyJTJDJTIwZnVsbGdyYXBoJTNEVHJ1ZSklMEElMEFwcm9tcHQlMjAlM0QlMjAlMjJnaGlibGklMjBzdHlsZSUyQyUyMGElMjBmYW50YXN5JTIwbGFuZHNjYXBlJTIwd2l0aCUyMGNhc3RsZXMlMjIlMEElMEFmb3IlMjBfJTIwaW4lMjByYW5nZSgzKSUzQSUwQSUyMCUyMCUyMCUyMGltYWdlJTIwJTNEJTIwcGlwZShwcm9tcHQlM0Rwcm9tcHQlMkMlMjBpbWFnZSUzRGluaXRfaW1hZ2UlMkMlMjBtYXNrX2ltYWdlJTNEbWFza19pbWFnZSkuaW1hZ2VzJTVCMCU1RA==",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> StableDiffusionInpaintPipeline
<span class="hljs-keyword">from</span> diffusers.utils <span class="hljs-keyword">import</span> load_image
<span class="hljs-keyword">import</span> torch
img_url = <span class="hljs-string">&quot;https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png&quot;</span>
mask_url = <span class="hljs-string">&quot;https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png&quot;</span>
init_image = load_image(img_url).resize((<span class="hljs-number">512</span>, <span class="hljs-number">512</span>))
mask_image = load_image(mask_url).resize((<span class="hljs-number">512</span>, <span class="hljs-number">512</span>))
path = <span class="hljs-string">&quot;runwayml/stable-diffusion-inpainting&quot;</span>
run_compile = <span class="hljs-literal">True</span> <span class="hljs-comment"># Set True / False</span>
pipe = StableDiffusionInpaintPipeline.from_pretrained(path, torch_dtype=torch.float16, use_safetensors=<span class="hljs-literal">True</span>)
pipe = pipe.to(<span class="hljs-string">&quot;cuda&quot;</span>)
pipe.unet.to(memory_format=torch.channels_last)
<span class="hljs-keyword">if</span> run_compile:
<span class="hljs-built_in">print</span>(<span class="hljs-string">&quot;Run torch compile&quot;</span>)
pipe.unet = torch.<span class="hljs-built_in">compile</span>(pipe.unet, mode=<span class="hljs-string">&quot;reduce-overhead&quot;</span>, fullgraph=<span class="hljs-literal">True</span>)
prompt = <span class="hljs-string">&quot;ghibli style, a fantasy landscape with castles&quot;</span>
<span class="hljs-keyword">for</span> _ <span class="hljs-keyword">in</span> <span class="hljs-built_in">range</span>(<span class="hljs-number">3</span>):
image = pipe(prompt=prompt, image=init_image, mask_image=mask_image).images[<span class="hljs-number">0</span>]`}}),Qt=new M({}),Yt=new z({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMFN0YWJsZURpZmZ1c2lvbkNvbnRyb2xOZXRQaXBlbGluZSUyQyUyMENvbnRyb2xOZXRNb2RlbCUwQWZyb20lMjBkaWZmdXNlcnMudXRpbHMlMjBpbXBvcnQlMjBsb2FkX2ltYWdlJTBBaW1wb3J0JTIwdG9yY2glMEElMEF1cmwlMjAlM0QlMjAlMjJodHRwcyUzQSUyRiUyRnJhdy5naXRodWJ1c2VyY29udGVudC5jb20lMkZDb21wVmlzJTJGc3RhYmxlLWRpZmZ1c2lvbiUyRm1haW4lMkZhc3NldHMlMkZzdGFibGUtc2FtcGxlcyUyRmltZzJpbWclMkZza2V0Y2gtbW91bnRhaW5zLWlucHV0LmpwZyUyMiUwQSUwQWluaXRfaW1hZ2UlMjAlM0QlMjBsb2FkX2ltYWdlKHVybCklMEFpbml0X2ltYWdlJTIwJTNEJTIwaW5pdF9pbWFnZS5yZXNpemUoKDUxMiUyQyUyMDUxMikpJTBBJTBBcGF0aCUyMCUzRCUyMCUyMnJ1bndheW1sJTJGc3RhYmxlLWRpZmZ1c2lvbi12MS01JTIyJTBBJTBBcnVuX2NvbXBpbGUlMjAlM0QlMjBUcnVlJTIwJTIwJTIzJTIwU2V0JTIwVHJ1ZSUyMCUyRiUyMEZhbHNlJTBBY29udHJvbG5ldCUyMCUzRCUyMENvbnRyb2xOZXRNb2RlbC5mcm9tX3ByZXRyYWluZWQoJTIybGxseWFzdmllbCUyRnNkLWNvbnRyb2xuZXQtY2FubnklMjIlMkMlMjB0b3JjaF9kdHlwZSUzRHRvcmNoLmZsb2F0MTYlMkMlMjB1c2Vfc2FmZXRlbnNvcnMlM0RUcnVlKSUwQXBpcGUlMjAlM0QlMjBTdGFibGVEaWZmdXNpb25Db250cm9sTmV0UGlwZWxpbmUuZnJvbV9wcmV0cmFpbmVkKCUwQSUyMCUyMCUyMCUyMHBhdGglMkMlMjBjb250cm9sbmV0JTNEY29udHJvbG5ldCUyQyUyMHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiUyQyUyMHVzZV9zYWZldGVuc29ycyUzRFRydWUlMEEpJTBBJTBBcGlwZSUyMCUzRCUyMHBpcGUudG8oJTIyY3VkYSUyMiklMEFwaXBlLnVuZXQudG8obWVtb3J5X2Zvcm1hdCUzRHRvcmNoLmNoYW5uZWxzX2xhc3QpJTBBcGlwZS5jb250cm9sbmV0LnRvKG1lbW9yeV9mb3JtYXQlM0R0b3JjaC5jaGFubmVsc19sYXN0KSUwQSUwQWlmJTIwcnVuX2NvbXBpbGUlM0ElMEElMjAlMjAlMjAlMjBwcmludCglMjJSdW4lMjB0b3JjaCUyMGNvbXBpbGUlMjIpJTBBJTIwJTIwJTIwJTIwcGlwZS51bmV0JTIwJTNEJTIwdG9yY2guY29tcGlsZShwaXBlLnVuZXQlMkMlMjBtb2RlJTNEJTIycmVkdWNlLW92ZXJoZWFkJTIyJTJDJTIwZnVsbGdyYXBoJTNEVHJ1ZSklMEElMjAlMjAlMjAlMjBwaXBlLmNvbnRyb2xuZXQlMjAlM0QlMjB0b3JjaC5jb21waWxlKHBpcGUuY29udHJvbG5ldCUyQyUyMG1vZGUlM0QlMjJyZWR1Y2Utb3ZlcmhlYWQlMjIlMkMlMjBmdWxsZ3JhcGglM0RUcnVlKSUwQSUwQXByb21wdCUyMCUzRCUyMCUyMmdoaWJsaSUyMHN0eWxlJTJDJTIwYSUyMGZhbnRhc3klMjBsYW5kc2NhcGUlMjB3aXRoJTIwY2FzdGxlcyUyMiUwQSUwQWZvciUyMF8lMjBpbiUyMHJhbmdlKDMpJTNBJTBBJTIwJTIwJTIwJTIwaW1hZ2UlMjAlM0QlMjBwaXBlKHByb21wdCUzRHByb21wdCUyQyUyMGltYWdlJTNEaW5pdF9pbWFnZSkuaW1hZ2VzJTVCMCU1RA==",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> StableDiffusionControlNetPipeline, ControlNetModel
<span class="hljs-keyword">from</span> diffusers.utils <span class="hljs-keyword">import</span> load_image
<span class="hljs-keyword">import</span> torch
url = <span class="hljs-string">&quot;https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg&quot;</span>
init_image = load_image(url)
init_image = init_image.resize((<span class="hljs-number">512</span>, <span class="hljs-number">512</span>))
path = <span class="hljs-string">&quot;runwayml/stable-diffusion-v1-5&quot;</span>
run_compile = <span class="hljs-literal">True</span> <span class="hljs-comment"># Set True / False</span>
controlnet = ControlNetModel.from_pretrained(<span class="hljs-string">&quot;lllyasviel/sd-controlnet-canny&quot;</span>, torch_dtype=torch.float16, use_safetensors=<span class="hljs-literal">True</span>)
pipe = StableDiffusionControlNetPipeline.from_pretrained(
path, controlnet=controlnet, torch_dtype=torch.float16, use_safetensors=<span class="hljs-literal">True</span>
)
pipe = pipe.to(<span class="hljs-string">&quot;cuda&quot;</span>)
pipe.unet.to(memory_format=torch.channels_last)
pipe.controlnet.to(memory_format=torch.channels_last)
<span class="hljs-keyword">if</span> run_compile:
<span class="hljs-built_in">print</span>(<span class="hljs-string">&quot;Run torch compile&quot;</span>)
pipe.unet = torch.<span class="hljs-built_in">compile</span>(pipe.unet, mode=<span class="hljs-string">&quot;reduce-overhead&quot;</span>, fullgraph=<span class="hljs-literal">True</span>)
pipe.controlnet = torch.<span class="hljs-built_in">compile</span>(pipe.controlnet, mode=<span class="hljs-string">&quot;reduce-overhead&quot;</span>, fullgraph=<span class="hljs-literal">True</span>)
prompt = <span class="hljs-string">&quot;ghibli style, a fantasy landscape with castles&quot;</span>
<span class="hljs-keyword">for</span> _ <span class="hljs-keyword">in</span> <span class="hljs-built_in">range</span>(<span class="hljs-number">3</span>):
image = pipe(prompt=prompt, image=init_image).images[<span class="hljs-number">0</span>]`}}),Lt=new M({}),Dt=new z({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMERpZmZ1c2lvblBpcGVsaW5lJTBBaW1wb3J0JTIwdG9yY2glMEElMEFydW5fY29tcGlsZSUyMCUzRCUyMFRydWUlMjAlMjAlMjMlMjBTZXQlMjBUcnVlJTIwJTJGJTIwRmFsc2UlMEElMEFwaXBlXzElMjAlM0QlMjBEaWZmdXNpb25QaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTIyRGVlcEZsb3lkJTJGSUYtSS1NLXYxLjAlMjIlMkMlMjB2YXJpYW50JTNEJTIyZnAxNiUyMiUyQyUyMHRleHRfZW5jb2RlciUzRE5vbmUlMkMlMjB0b3JjaF9kdHlwZSUzRHRvcmNoLmZsb2F0MTYlMkMlMjB1c2Vfc2FmZXRlbnNvcnMlM0RUcnVlKSUwQXBpcGVfMS50byglMjJjdWRhJTIyKSUwQXBpcGVfMiUyMCUzRCUyMERpZmZ1c2lvblBpcGVsaW5lLmZyb21fcHJldHJhaW5lZCglMjJEZWVwRmxveWQlMkZJRi1JSS1NLXYxLjAlMjIlMkMlMjB2YXJpYW50JTNEJTIyZnAxNiUyMiUyQyUyMHRleHRfZW5jb2RlciUzRE5vbmUlMkMlMjB0b3JjaF9kdHlwZSUzRHRvcmNoLmZsb2F0MTYlMkMlMjB1c2Vfc2FmZXRlbnNvcnMlM0RUcnVlKSUwQXBpcGVfMi50byglMjJjdWRhJTIyKSUwQXBpcGVfMyUyMCUzRCUyMERpZmZ1c2lvblBpcGVsaW5lLmZyb21fcHJldHJhaW5lZCglMjJzdGFiaWxpdHlhaSUyRnN0YWJsZS1kaWZmdXNpb24teDQtdXBzY2FsZXIlMjIlMkMlMjB0b3JjaF9kdHlwZSUzRHRvcmNoLmZsb2F0MTYlMkMlMjB1c2Vfc2FmZXRlbnNvcnMlM0RUcnVlKSUwQXBpcGVfMy50byglMjJjdWRhJTIyKSUwQSUwQSUwQXBpcGVfMS51bmV0LnRvKG1lbW9yeV9mb3JtYXQlM0R0b3JjaC5jaGFubmVsc19sYXN0KSUwQXBpcGVfMi51bmV0LnRvKG1lbW9yeV9mb3JtYXQlM0R0b3JjaC5jaGFubmVsc19sYXN0KSUwQXBpcGVfMy51bmV0LnRvKG1lbW9yeV9mb3JtYXQlM0R0b3JjaC5jaGFubmVsc19sYXN0KSUwQSUwQWlmJTIwcnVuX2NvbXBpbGUlM0ElMEElMjAlMjAlMjAlMjBwaXBlXzEudW5ldCUyMCUzRCUyMHRvcmNoLmNvbXBpbGUocGlwZV8xLnVuZXQlMkMlMjBtb2RlJTNEJTIycmVkdWNlLW92ZXJoZWFkJTIyJTJDJTIwZnVsbGdyYXBoJTNEVHJ1ZSklMEElMjAlMjAlMjAlMjBwaXBlXzIudW5ldCUyMCUzRCUyMHRvcmNoLmNvbXBpbGUocGlwZV8yLnVuZXQlMkMlMjBtb2RlJTNEJTIycmVkdWNlLW92ZXJoZWFkJTIyJTJDJTIwZnVsbGdyYXBoJTNEVHJ1ZSklMEElMjAlMjAlMjAlMjBwaXBlXzMudW5ldCUyMCUzRCUyMHRvcmNoLmNvbXBpbGUocGlwZV8zLnVuZXQlMkMlMjBtb2RlJTNEJTIycmVkdWNlLW92ZXJoZWFkJTIyJTJDJTIwZnVsbGdyYXBoJTNEVHJ1ZSklMEElMEFwcm9tcHQlMjAlM0QlMjAlMjJ0aGUlMjBibHVlJTIwaHVsayUyMiUwQSUwQXByb21wdF9lbWJlZHMlMjAlM0QlMjB0b3JjaC5yYW5kbigoMSUyQyUyMDIlMkMlMjA0MDk2KSUyQyUyMGR0eXBlJTNEdG9yY2guZmxvYXQxNiklMEFuZWdfcHJvbXB0X2VtYmVkcyUyMCUzRCUyMHRvcmNoLnJhbmRuKCgxJTJDJTIwMiUyQyUyMDQwOTYpJTJDJTIwZHR5cGUlM0R0b3JjaC5mbG9hdDE2KSUwQSUwQWZvciUyMF8lMjBpbiUyMHJhbmdlKDMpJTNBJTBBJTIwJTIwJTIwJTIwaW1hZ2VfMSUyMCUzRCUyMHBpcGVfMShwcm9tcHRfZW1iZWRzJTNEcHJvbXB0X2VtYmVkcyUyQyUyMG5lZ2F0aXZlX3Byb21wdF9lbWJlZHMlM0RuZWdfcHJvbXB0X2VtYmVkcyUyQyUyMG91dHB1dF90eXBlJTNEJTIycHQlMjIpLmltYWdlcyUwQSUyMCUyMCUyMCUyMGltYWdlXzIlMjAlM0QlMjBwaXBlXzIoaW1hZ2UlM0RpbWFnZV8xJTJDJTIwcHJvbXB0X2VtYmVkcyUzRHByb21wdF9lbWJlZHMlMkMlMjBuZWdhdGl2ZV9wcm9tcHRfZW1iZWRzJTNEbmVnX3Byb21wdF9lbWJlZHMlMkMlMjBvdXRwdXRfdHlwZSUzRCUyMnB0JTIyKS5pbWFnZXMlMEElMjAlMjAlMjAlMjBpbWFnZV8zJTIwJTNEJTIwcGlwZV8zKHByb21wdCUzRHByb21wdCUyQyUyMGltYWdlJTNEaW1hZ2VfMSUyQyUyMG5vaXNlX2xldmVsJTNEMTAwKS5pbWFnZXM=",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> DiffusionPipeline
<span class="hljs-keyword">import</span> torch
run_compile = <span class="hljs-literal">True</span> <span class="hljs-comment"># Set True / False</span>
pipe_1 = DiffusionPipeline.from_pretrained(<span class="hljs-string">&quot;DeepFloyd/IF-I-M-v1.0&quot;</span>, variant=<span class="hljs-string">&quot;fp16&quot;</span>, text_encoder=<span class="hljs-literal">None</span>, torch_dtype=torch.float16, use_safetensors=<span class="hljs-literal">True</span>)
pipe_1.to(<span class="hljs-string">&quot;cuda&quot;</span>)
pipe_2 = DiffusionPipeline.from_pretrained(<span class="hljs-string">&quot;DeepFloyd/IF-II-M-v1.0&quot;</span>, variant=<span class="hljs-string">&quot;fp16&quot;</span>, text_encoder=<span class="hljs-literal">None</span>, torch_dtype=torch.float16, use_safetensors=<span class="hljs-literal">True</span>)
pipe_2.to(<span class="hljs-string">&quot;cuda&quot;</span>)
pipe_3 = DiffusionPipeline.from_pretrained(<span class="hljs-string">&quot;stabilityai/stable-diffusion-x4-upscaler&quot;</span>, torch_dtype=torch.float16, use_safetensors=<span class="hljs-literal">True</span>)
pipe_3.to(<span class="hljs-string">&quot;cuda&quot;</span>)
pipe_1.unet.to(memory_format=torch.channels_last)
pipe_2.unet.to(memory_format=torch.channels_last)
pipe_3.unet.to(memory_format=torch.channels_last)
<span class="hljs-keyword">if</span> run_compile:
pipe_1.unet = torch.<span class="hljs-built_in">compile</span>(pipe_1.unet, mode=<span class="hljs-string">&quot;reduce-overhead&quot;</span>, fullgraph=<span class="hljs-literal">True</span>)
pipe_2.unet = torch.<span class="hljs-built_in">compile</span>(pipe_2.unet, mode=<span class="hljs-string">&quot;reduce-overhead&quot;</span>, fullgraph=<span class="hljs-literal">True</span>)
pipe_3.unet = torch.<span class="hljs-built_in">compile</span>(pipe_3.unet, mode=<span class="hljs-string">&quot;reduce-overhead&quot;</span>, fullgraph=<span class="hljs-literal">True</span>)
prompt = <span class="hljs-string">&quot;the blue hulk&quot;</span>
prompt_embeds = torch.randn((<span class="hljs-number">1</span>, <span class="hljs-number">2</span>, <span class="hljs-number">4096</span>), dtype=torch.float16)
neg_prompt_embeds = torch.randn((<span class="hljs-number">1</span>, <span class="hljs-number">2</span>, <span class="hljs-number">4096</span>), dtype=torch.float16)
<span class="hljs-keyword">for</span> _ <span class="hljs-keyword">in</span> <span class="hljs-built_in">range</span>(<span class="hljs-number">3</span>):
image_1 = pipe_1(prompt_embeds=prompt_embeds, negative_prompt_embeds=neg_prompt_embeds, output_type=<span class="hljs-string">&quot;pt&quot;</span>).images
image_2 = pipe_2(image=image_1, prompt_embeds=prompt_embeds, negative_prompt_embeds=neg_prompt_embeds, output_type=<span class="hljs-string">&quot;pt&quot;</span>).images
image_3 = pipe_3(prompt=prompt, image=image_1, noise_level=<span class="hljs-number">100</span>).images`}}),ee=new M({}),le=new M({}),re=new M({}),se=new M({}),ce=new M({}),pe=new M({}),ge=new M({}),ue=new M({}),fe=new M({}),ye=new M({}),we=new M({}),Ue=new M({}),je=new M({}),_e=new M({}),Se=new M({}),Ce=new M({}),{c(){w=n("meta"),Cn=o(),J=n("h1"),V=n("a"),rn=n("span"),h(yt.$$.fragment),ca=o(),Xe=n("span"),Xe.textContent=Aa,xn=o(),vt=n("p"),vt.innerHTML=Fa,Wn=o(),wt=n("ol"),wt.innerHTML=Qa,Xn=o(),Jt=n("p"),Jt.textContent=Ya,$n=o(),h(Ut.$$.fragment),Gn=o(),U=n("h2"),A=n("a"),sn=n("span"),h(Tt.$$.fragment),da=o(),$e=n("span"),$e.textContent=La,Rn=o(),jt=n("p"),jt.innerHTML=Da,En=o(),Zt=n("p"),Zt.innerHTML=Pa,Nn=o(),h(_t.$$.fragment),In=o(),Bt=n("p"),Bt.innerHTML=qa,Hn=o(),St=n("p"),St.innerHTML=Ka,zn=o(),h(kt.$$.fragment),Vn=o(),T=n("h2"),F=n("a"),on=n("span"),h(Ct.$$.fragment),pa=o(),Ge=n("span"),Ge.textContent=Oa,An=o(),xt=n("p"),xt.innerHTML=tr,Fn=o(),h(Wt.$$.fragment),Qn=o(),Xt=n("p"),Xt.innerHTML=er,Yn=o(),$t=n("p"),$t.textContent=nr,Ln=o(),Gt=n("p"),Gt.innerHTML=lr,Dn=o(),j=n("h2"),Q=n("a"),cn=n("span"),h(Rt.$$.fragment),ha=o(),Re=n("span"),Re.textContent=ar,Pn=o(),Et=n("p"),Et.innerHTML=rr,qn=o(),Nt=n("p"),Nt.textContent=ir,Kn=o(),y=n("details"),Y=n("h3"),L=n("a"),dn=n("span"),h(It.$$.fragment),ga=o(),Ee=n("span"),Ee.textContent=sr,ma=o(),h(Ht.$$.fragment),ua=o(),D=n("h3"),P=n("a"),pn=n("span"),h(zt.$$.fragment),ba=o(),Ne=n("span"),Ne.textContent=or,fa=o(),h(Vt.$$.fragment),Ma=o(),q=n("h3"),K=n("a"),hn=n("span"),h(At.$$.fragment),ya=o(),Ie=n("span"),Ie.textContent=cr,va=o(),h(Ft.$$.fragment),wa=o(),O=n("h3"),tt=n("a"),gn=n("span"),h(Qt.$$.fragment),Ja=o(),He=n("span"),He.textContent=dr,Ua=o(),h(Yt.$$.fragment),Ta=o(),et=n("h3"),nt=n("a"),mn=n("span"),h(Lt.$$.fragment),ja=o(),ze=n("span"),ze.textContent=pr,Za=o(),h(Dt.$$.fragment),On=o(),Pt=n("p"),Pt.innerHTML=hr,tl=o(),qt=n("p"),qt.innerHTML=gr,el=o(),Kt=n("p"),Kt.innerHTML=mr,nl=o(),Ot=n("p"),Ot.innerHTML=ur,ll=o(),te=n("p"),te.innerHTML=br,al=o(),Z=n("h3"),lt=n("a"),un=n("span"),h(ee.$$.fragment),_a=o(),Ve=n("span"),Ve.textContent=fr,rl=o(),ne=n("table"),ne.innerHTML=Mr,il=o(),_=n("h3"),at=n("a"),bn=n("span"),h(le.$$.fragment),Ba=o(),Ae=n("span"),Ae.textContent=yr,sl=o(),ae=n("table"),ae.innerHTML=vr,ol=o(),B=n("h3"),rt=n("a"),fn=n("span"),h(re.$$.fragment),Sa=o(),Fe=n("span"),Fe.textContent=wr,cl=o(),ie=n("table"),ie.innerHTML=Jr,dl=o(),S=n("h3"),it=n("a"),Mn=n("span"),h(se.$$.fragment),ka=o(),Qe=n("span"),Qe.textContent=Ur,pl=o(),oe=n("table"),oe.innerHTML=Tr,hl=o(),k=n("h3"),st=n("a"),yn=n("span"),h(ce.$$.fragment),Ca=o(),Ye=n("span"),Ye.textContent=jr,gl=o(),de=n("table"),de.innerHTML=Zr,ml=o(),C=n("h3"),ot=n("a"),vn=n("span"),h(pe.$$.fragment),xa=o(),Le=n("span"),Le.textContent=_r,ul=o(),he=n("table"),he.innerHTML=Br,bl=o(),x=n("h3"),ct=n("a"),wn=n("span"),h(ge.$$.fragment),Wa=o(),De=n("span"),De.textContent=Sr,fl=o(),me=n("table"),me.innerHTML=kr,Ml=o(),W=n("h3"),dt=n("a"),Jn=n("span"),h(ue.$$.fragment),Xa=o(),Pe=n("span"),Pe.textContent=Cr,yl=o(),be=n("table"),be.innerHTML=xr,vl=o(),X=n("h3"),pt=n("a"),Un=n("span"),h(fe.$$.fragment),$a=o(),qe=n("span"),qe.textContent=Wr,wl=o(),Me=n("table"),Me.innerHTML=Xr,Jl=o(),$=n("h3"),ht=n("a"),Tn=n("span"),h(ye.$$.fragment),Ga=o(),Ke=n("span"),Ke.textContent=$r,Ul=o(),ve=n("table"),ve.innerHTML=Gr,Tl=o(),G=n("h3"),gt=n("a"),jn=n("span"),h(we.$$.fragment),Ra=o(),Oe=n("span"),Oe.textContent=Rr,jl=o(),Je=n("table"),Je.innerHTML=Er,Zl=o(),R=n("h3"),mt=n("a"),Zn=n("span"),h(Ue.$$.fragment),Ea=o(),tn=n("span"),tn.textContent=Nr,_l=o(),Te=n("table"),Te.innerHTML=Ir,Bl=o(),E=n("h3"),ut=n("a"),_n=n("span"),h(je.$$.fragment),Na=o(),en=n("span"),en.textContent=Hr,Sl=o(),Ze=n("table"),Ze.innerHTML=zr,kl=o(),N=n("h3"),bt=n("a"),Bn=n("span"),h(_e.$$.fragment),Ia=o(),nn=n("span"),nn.textContent=Vr,Cl=o(),Be=n("table"),Be.innerHTML=Ar,xl=o(),I=n("h3"),ft=n("a"),Sn=n("span"),h(Se.$$.fragment),Ha=o(),ln=n("span"),ln.textContent=Fr,Wl=o(),ke=n("table"),ke.innerHTML=Qr,Xl=o(),H=n("h2"),Mt=n("a"),kn=n("span"),h(Ce.$$.fragment),za=o(),an=n("span"),an.textContent=Yr,$l=o(),xe=n("ul"),xe.innerHTML=Lr,Gl=o(),We=n("p"),We.innerHTML=Dr,this.h()},l(t){const a=qi("svelte-1phssyn",document.head);w=l(a,"META",{name:!0,content:!0}),a.forEach(e),Cn=c(t),J=l(t,"H1",{class:!0});var El=d(J);V=l(El,"A",{id:!0,class:!0,href:!0});var Pr=d(V);rn=l(Pr,"SPAN",{});var qr=d(rn);g(yt.$$.fragment,qr),qr.forEach(e),Pr.forEach(e),ca=c(El),Xe=l(El,"SPAN",{"data-svelte-h":!0}),p(Xe)!=="svelte-iauxvc"&&(Xe.textContent=Aa),El.forEach(e),xn=c(t),vt=l(t,"P",{"data-svelte-h":!0}),p(vt)!=="svelte-15wmwhw"&&(vt.innerHTML=Fa),Wn=c(t),wt=l(t,"OL",{"data-svelte-h":!0}),p(wt)!=="svelte-19p82dc"&&(wt.innerHTML=Qa),Xn=c(t),Jt=l(t,"P",{"data-svelte-h":!0}),p(Jt)!=="svelte-1u908i1"&&(Jt.textContent=Ya),$n=c(t),g(Ut.$$.fragment,t),Gn=c(t),U=l(t,"H2",{class:!0});var Nl=d(U);A=l(Nl,"A",{id:!0,class:!0,href:!0});var Kr=d(A);sn=l(Kr,"SPAN",{});var Or=d(sn);g(Tt.$$.fragment,Or),Or.forEach(e),Kr.forEach(e),da=c(Nl),$e=l(Nl,"SPAN",{"data-svelte-h":!0}),p($e)!=="svelte-16evdeh"&&($e.textContent=La),Nl.forEach(e),Rn=c(t),jt=l(t,"P",{"data-svelte-h":!0}),p(jt)!=="svelte-1bb69gh"&&(jt.innerHTML=Da),En=c(t),Zt=l(t,"P",{"data-svelte-h":!0}),p(Zt)!=="svelte-1bdvk3f"&&(Zt.innerHTML=Pa),Nn=c(t),g(_t.$$.fragment,t),In=c(t),Bt=l(t,"P",{"data-svelte-h":!0}),p(Bt)!=="svelte-psbnvm"&&(Bt.innerHTML=qa),Hn=c(t),St=l(t,"P",{"data-svelte-h":!0}),p(St)!=="svelte-vsl2r7"&&(St.innerHTML=Ka),zn=c(t),g(kt.$$.fragment,t),Vn=c(t),T=l(t,"H2",{class:!0});var Il=d(T);F=l(Il,"A",{id:!0,class:!0,href:!0});var ti=d(F);on=l(ti,"SPAN",{});var ei=d(on);g(Ct.$$.fragment,ei),ei.forEach(e),ti.forEach(e),pa=c(Il),Ge=l(Il,"SPAN",{"data-svelte-h":!0}),p(Ge)!=="svelte-138ouri"&&(Ge.textContent=Oa),Il.forEach(e),An=c(t),xt=l(t,"P",{"data-svelte-h":!0}),p(xt)!=="svelte-1vjh5md"&&(xt.innerHTML=tr),Fn=c(t),g(Wt.$$.fragment,t),Qn=c(t),Xt=l(t,"P",{"data-svelte-h":!0}),p(Xt)!=="svelte-mm2mnz"&&(Xt.innerHTML=er),Yn=c(t),$t=l(t,"P",{"data-svelte-h":!0}),p($t)!=="svelte-19iy5vt"&&($t.textContent=nr),Ln=c(t),Gt=l(t,"P",{"data-svelte-h":!0}),p(Gt)!=="svelte-yz7oqo"&&(Gt.innerHTML=lr),Dn=c(t),j=l(t,"H2",{class:!0});var Hl=d(j);Q=l(Hl,"A",{id:!0,class:!0,href:!0});var ni=d(Q);cn=l(ni,"SPAN",{});var li=d(cn);g(Rt.$$.fragment,li),li.forEach(e),ni.forEach(e),ha=c(Hl),Re=l(Hl,"SPAN",{"data-svelte-h":!0}),p(Re)!=="svelte-2810ms"&&(Re.textContent=ar),Hl.forEach(e),Pn=c(t),Et=l(t,"P",{"data-svelte-h":!0}),p(Et)!=="svelte-km3nc0"&&(Et.innerHTML=rr),qn=c(t),Nt=l(t,"P",{"data-svelte-h":!0}),p(Nt)!=="svelte-pe5bn7"&&(Nt.textContent=ir),Kn=c(t),y=l(t,"DETAILS",{});var v=d(y);Y=l(v,"H3",{class:!0});var zl=d(Y);L=l(zl,"A",{id:!0,class:!0,href:!0});var ai=d(L);dn=l(ai,"SPAN",{});var ri=d(dn);g(It.$$.fragment,ri),ri.forEach(e),ai.forEach(e),ga=c(zl),Ee=l(zl,"SPAN",{"data-svelte-h":!0}),p(Ee)!=="svelte-1uhnpe8"&&(Ee.textContent=sr),zl.forEach(e),ma=c(v),g(Ht.$$.fragment,v),ua=c(v),D=l(v,"H3",{class:!0});var Vl=d(D);P=l(Vl,"A",{id:!0,class:!0,href:!0});var ii=d(P);pn=l(ii,"SPAN",{});var si=d(pn);g(zt.$$.fragment,si),si.forEach(e),ii.forEach(e),ba=c(Vl),Ne=l(Vl,"SPAN",{"data-svelte-h":!0}),p(Ne)!=="svelte-qcbffq"&&(Ne.textContent=or),Vl.forEach(e),fa=c(v),g(Vt.$$.fragment,v),Ma=c(v),q=l(v,"H3",{class:!0});var Al=d(q);K=l(Al,"A",{id:!0,class:!0,href:!0});var oi=d(K);hn=l(oi,"SPAN",{});var ci=d(hn);g(At.$$.fragment,ci),ci.forEach(e),oi.forEach(e),ya=c(Al),Ie=l(Al,"SPAN",{"data-svelte-h":!0}),p(Ie)!=="svelte-2tt1eo"&&(Ie.textContent=cr),Al.forEach(e),va=c(v),g(Ft.$$.fragment,v),wa=c(v),O=l(v,"H3",{class:!0});var Fl=d(O);tt=l(Fl,"A",{id:!0,class:!0,href:!0});var di=d(tt);gn=l(di,"SPAN",{});var pi=d(gn);g(Qt.$$.fragment,pi),pi.forEach(e),di.forEach(e),Ja=c(Fl),He=l(Fl,"SPAN",{"data-svelte-h":!0}),p(He)!=="svelte-1147sj1"&&(He.textContent=dr),Fl.forEach(e),Ua=c(v),g(Yt.$$.fragment,v),Ta=c(v),et=l(v,"H3",{class:!0});var Ql=d(et);nt=l(Ql,"A",{id:!0,class:!0,href:!0});var hi=d(nt);mn=l(hi,"SPAN",{});var gi=d(mn);g(Lt.$$.fragment,gi),gi.forEach(e),hi.forEach(e),ja=c(Ql),ze=l(Ql,"SPAN",{"data-svelte-h":!0}),p(ze)!=="svelte-p08jao"&&(ze.textContent=pr),Ql.forEach(e),Za=c(v),g(Dt.$$.fragment,v),v.forEach(e),On=c(t),Pt=l(t,"P",{"data-svelte-h":!0}),p(Pt)!=="svelte-rh9klu"&&(Pt.innerHTML=hr),tl=c(t),qt=l(t,"P",{"data-svelte-h":!0}),p(qt)!=="svelte-1sjwyaz"&&(qt.innerHTML=gr),el=c(t),Kt=l(t,"P",{"data-svelte-h":!0}),p(Kt)!=="svelte-1zzsz7"&&(Kt.innerHTML=mr),nl=c(t),Ot=l(t,"P",{"data-svelte-h":!0}),p(Ot)!=="svelte-19p9vzv"&&(Ot.innerHTML=ur),ll=c(t),te=l(t,"P",{"data-svelte-h":!0}),p(te)!=="svelte-18iwyus"&&(te.innerHTML=br),al=c(t),Z=l(t,"H3",{class:!0});var Yl=d(Z);lt=l(Yl,"A",{id:!0,class:!0,href:!0});var mi=d(lt);un=l(mi,"SPAN",{});var ui=d(un);g(ee.$$.fragment,ui),ui.forEach(e),mi.forEach(e),_a=c(Yl),Ve=l(Yl,"SPAN",{"data-svelte-h":!0}),p(Ve)!=="svelte-xluwjc"&&(Ve.textContent=fr),Yl.forEach(e),rl=c(t),ne=l(t,"TABLE",{"data-svelte-h":!0}),p(ne)!=="svelte-14f48w"&&(ne.innerHTML=Mr),il=c(t),_=l(t,"H3",{class:!0});var Ll=d(_);at=l(Ll,"A",{id:!0,class:!0,href:!0});var bi=d(at);bn=l(bi,"SPAN",{});var fi=d(bn);g(le.$$.fragment,fi),fi.forEach(e),bi.forEach(e),Ba=c(Ll),Ae=l(Ll,"SPAN",{"data-svelte-h":!0}),p(Ae)!=="svelte-vpkidz"&&(Ae.textContent=yr),Ll.forEach(e),sl=c(t),ae=l(t,"TABLE",{"data-svelte-h":!0}),p(ae)!=="svelte-19bbd89"&&(ae.innerHTML=vr),ol=c(t),B=l(t,"H3",{class:!0});var Dl=d(B);rt=l(Dl,"A",{id:!0,class:!0,href:!0});var Mi=d(rt);fn=l(Mi,"SPAN",{});var yi=d(fn);g(re.$$.fragment,yi),yi.forEach(e),Mi.forEach(e),Sa=c(Dl),Fe=l(Dl,"SPAN",{"data-svelte-h":!0}),p(Fe)!=="svelte-1q5bayy"&&(Fe.textContent=wr),Dl.forEach(e),cl=c(t),ie=l(t,"TABLE",{"data-svelte-h":!0}),p(ie)!=="svelte-cd9a2o"&&(ie.innerHTML=Jr),dl=c(t),S=l(t,"H3",{class:!0});var Pl=d(S);it=l(Pl,"A",{id:!0,class:!0,href:!0});var vi=d(it);Mn=l(vi,"SPAN",{});var wi=d(Mn);g(se.$$.fragment,wi),wi.forEach(e),vi.forEach(e),ka=c(Pl),Qe=l(Pl,"SPAN",{"data-svelte-h":!0}),p(Qe)!=="svelte-u2vuyx"&&(Qe.textContent=Ur),Pl.forEach(e),pl=c(t),oe=l(t,"TABLE",{"data-svelte-h":!0}),p(oe)!=="svelte-9j8rj7"&&(oe.innerHTML=Tr),hl=c(t),k=l(t,"H3",{class:!0});var ql=d(k);st=l(ql,"A",{id:!0,class:!0,href:!0});var Ji=d(st);yn=l(Ji,"SPAN",{});var Ui=d(yn);g(ce.$$.fragment,Ui),Ui.forEach(e),Ji.forEach(e),Ca=c(ql),Ye=l(ql,"SPAN",{"data-svelte-h":!0}),p(Ye)!=="svelte-1ns34tm"&&(Ye.textContent=jr),ql.forEach(e),gl=c(t),de=l(t,"TABLE",{"data-svelte-h":!0}),p(de)!=="svelte-1xs3uwi"&&(de.innerHTML=Zr),ml=c(t),C=l(t,"H3",{class:!0});var Kl=d(C);ot=l(Kl,"A",{id:!0,class:!0,href:!0});var Ti=d(ot);vn=l(Ti,"SPAN",{});var ji=d(vn);g(pe.$$.fragment,ji),ji.forEach(e),Ti.forEach(e),xa=c(Kl),Le=l(Kl,"SPAN",{"data-svelte-h":!0}),p(Le)!=="svelte-xy91vb"&&(Le.textContent=_r),Kl.forEach(e),ul=c(t),he=l(t,"TABLE",{"data-svelte-h":!0}),p(he)!=="svelte-1elkjwp"&&(he.innerHTML=Br),bl=c(t),x=l(t,"H3",{class:!0});var Ol=d(x);ct=l(Ol,"A",{id:!0,class:!0,href:!0});var Zi=d(ct);wn=l(Zi,"SPAN",{});var _i=d(wn);g(ge.$$.fragment,_i),_i.forEach(e),Zi.forEach(e),Wa=c(Ol),De=l(Ol,"SPAN",{"data-svelte-h":!0}),p(De)!=="svelte-1782kgu"&&(De.textContent=Sr),Ol.forEach(e),fl=c(t),me=l(t,"TABLE",{"data-svelte-h":!0}),p(me)!=="svelte-sqqgka"&&(me.innerHTML=kr),Ml=c(t),W=l(t,"H3",{class:!0});var ta=d(W);dt=l(ta,"A",{id:!0,class:!0,href:!0});var Bi=d(dt);Jn=l(Bi,"SPAN",{});var Si=d(Jn);g(ue.$$.fragment,Si),Si.forEach(e),Bi.forEach(e),Xa=c(ta),Pe=l(ta,"SPAN",{"data-svelte-h":!0}),p(Pe)!=="svelte-fpbdvl"&&(Pe.textContent=Cr),ta.forEach(e),yl=c(t),be=l(t,"TABLE",{"data-svelte-h":!0}),p(be)!=="svelte-15f755w"&&(be.innerHTML=xr),vl=c(t),X=l(t,"H3",{class:!0});var ea=d(X);pt=l(ea,"A",{id:!0,class:!0,href:!0});var ki=d(pt);Un=l(ki,"SPAN",{});var Ci=d(Un);g(fe.$$.fragment,Ci),Ci.forEach(e),ki.forEach(e),$a=c(ea),qe=l(ea,"SPAN",{"data-svelte-h":!0}),p(qe)!=="svelte-1gago4w"&&(qe.textContent=Wr),ea.forEach(e),wl=c(t),Me=l(t,"TABLE",{"data-svelte-h":!0}),p(Me)!=="svelte-uuno4d"&&(Me.innerHTML=Xr),Jl=c(t),$=l(t,"H3",{class:!0});var na=d($);ht=l(na,"A",{id:!0,class:!0,href:!0});var xi=d(ht);Tn=l(xi,"SPAN",{});var Wi=d(Tn);g(ye.$$.fragment,Wi),Wi.forEach(e),xi.forEach(e),Ga=c(na),Ke=l(na,"SPAN",{"data-svelte-h":!0}),p(Ke)!=="svelte-ymv122"&&(Ke.textContent=$r),na.forEach(e),Ul=c(t),ve=l(t,"TABLE",{"data-svelte-h":!0}),p(ve)!=="svelte-1hbo08l"&&(ve.innerHTML=Gr),Tl=c(t),G=l(t,"H3",{class:!0});var la=d(G);gt=l(la,"A",{id:!0,class:!0,href:!0});var Xi=d(gt);jn=l(Xi,"SPAN",{});var $i=d(jn);g(we.$$.fragment,$i),$i.forEach(e),Xi.forEach(e),Ra=c(la),Oe=l(la,"SPAN",{"data-svelte-h":!0}),p(Oe)!=="svelte-msskwl"&&(Oe.textContent=Rr),la.forEach(e),jl=c(t),Je=l(t,"TABLE",{"data-svelte-h":!0}),p(Je)!=="svelte-abi9u4"&&(Je.innerHTML=Er),Zl=c(t),R=l(t,"H3",{class:!0});var aa=d(R);mt=l(aa,"A",{id:!0,class:!0,href:!0});var Gi=d(mt);Zn=l(Gi,"SPAN",{});var Ri=d(Zn);g(Ue.$$.fragment,Ri),Ri.forEach(e),Gi.forEach(e),Ea=c(aa),tn=l(aa,"SPAN",{"data-svelte-h":!0}),p(tn)!=="svelte-1esyy10"&&(tn.textContent=Nr),aa.forEach(e),_l=c(t),Te=l(t,"TABLE",{"data-svelte-h":!0}),p(Te)!=="svelte-11m8i0f"&&(Te.innerHTML=Ir),Bl=c(t),E=l(t,"H3",{class:!0});var ra=d(E);ut=l(ra,"A",{id:!0,class:!0,href:!0});var Ei=d(ut);_n=l(Ei,"SPAN",{});var Ni=d(_n);g(je.$$.fragment,Ni),Ni.forEach(e),Ei.forEach(e),Na=c(ra),en=l(ra,"SPAN",{"data-svelte-h":!0}),p(en)!=="svelte-1hzsto7"&&(en.textContent=Hr),ra.forEach(e),Sl=c(t),Ze=l(t,"TABLE",{"data-svelte-h":!0}),p(Ze)!=="svelte-1i4s3fg"&&(Ze.innerHTML=zr),kl=c(t),N=l(t,"H3",{class:!0});var ia=d(N);bt=l(ia,"A",{id:!0,class:!0,href:!0});var Ii=d(bt);Bn=l(Ii,"SPAN",{});var Hi=d(Bn);g(_e.$$.fragment,Hi),Hi.forEach(e),Ii.forEach(e),Ia=c(ia),nn=l(ia,"SPAN",{"data-svelte-h":!0}),p(nn)!=="svelte-15mtqms"&&(nn.textContent=Vr),ia.forEach(e),Cl=c(t),Be=l(t,"TABLE",{"data-svelte-h":!0}),p(Be)!=="svelte-13cqeai"&&(Be.innerHTML=Ar),xl=c(t),I=l(t,"H3",{class:!0});var sa=d(I);ft=l(sa,"A",{id:!0,class:!0,href:!0});var zi=d(ft);Sn=l(zi,"SPAN",{});var Vi=d(Sn);g(Se.$$.fragment,Vi),Vi.forEach(e),zi.forEach(e),Ha=c(sa),ln=l(sa,"SPAN",{"data-svelte-h":!0}),p(ln)!=="svelte-19d3ikl"&&(ln.textContent=Fr),sa.forEach(e),Wl=c(t),ke=l(t,"TABLE",{"data-svelte-h":!0}),p(ke)!=="svelte-16al08t"&&(ke.innerHTML=Qr),Xl=c(t),H=l(t,"H2",{class:!0});var oa=d(H);Mt=l(oa,"A",{id:!0,class:!0,href:!0});var Ai=d(Mt);kn=l(Ai,"SPAN",{});var Fi=d(kn);g(Ce.$$.fragment,Fi),Fi.forEach(e),Ai.forEach(e),za=c(oa),an=l(oa,"SPAN",{"data-svelte-h":!0}),p(an)!=="svelte-hao89y"&&(an.textContent=Yr),oa.forEach(e),$l=c(t),xe=l(t,"UL",{"data-svelte-h":!0}),p(xe)!=="svelte-1xg6qk7"&&(xe.innerHTML=Lr),Gl=c(t),We=l(t,"P",{"data-svelte-h":!0}),p(We)!=="svelte-7zliwv"&&(We.innerHTML=Dr),this.h()},h(){s(w,"name","hf:doc:metadata"),s(w,"content",JSON.stringify(Oi)),s(V,"id","pytorch-20"),s(V,"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"),s(V,"href","#pytorch-20"),s(J,"class","relative group"),s(A,"id","scaled-dot-product-attention"),s(A,"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"),s(A,"href","#scaled-dot-product-attention"),s(U,"class","relative group"),s(F,"id","torchcompile"),s(F,"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"),s(F,"href","#torchcompile"),s(T,"class","relative group"),s(Q,"id","benchmark"),s(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"),s(Q,"href","#benchmark"),s(j,"class","relative group"),s(L,"id","stable-diffusion-texttoimage"),s(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"),s(L,"href","#stable-diffusion-texttoimage"),s(Y,"class","relative group"),s(P,"id","stable-diffusion-imagetoimage"),s(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"),s(P,"href","#stable-diffusion-imagetoimage"),s(D,"class","relative group"),s(K,"id","stable-diffusion-inpainting"),s(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"),s(K,"href","#stable-diffusion-inpainting"),s(q,"class","relative group"),s(tt,"id","controlnet"),s(tt,"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"),s(tt,"href","#controlnet"),s(O,"class","relative group"),s(nt,"id","deepfloyd-if-texttoimage-upscaling"),s(nt,"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"),s(nt,"href","#deepfloyd-if-texttoimage-upscaling"),s(et,"class","relative group"),s(lt,"id","a100-batch-size-1"),s(lt,"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"),s(lt,"href","#a100-batch-size-1"),s(Z,"class","relative group"),s(at,"id","a100-batch-size-4"),s(at,"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"),s(at,"href","#a100-batch-size-4"),s(_,"class","relative group"),s(rt,"id","a100-batch-size-16"),s(rt,"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"),s(rt,"href","#a100-batch-size-16"),s(B,"class","relative group"),s(it,"id","v100-batch-size-1"),s(it,"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"),s(it,"href","#v100-batch-size-1"),s(S,"class","relative group"),s(st,"id","v100-batch-size-4"),s(st,"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"),s(st,"href","#v100-batch-size-4"),s(k,"class","relative group"),s(ot,"id","v100-batch-size-16"),s(ot,"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"),s(ot,"href","#v100-batch-size-16"),s(C,"class","relative group"),s(ct,"id","t4-batch-size-1"),s(ct,"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"),s(ct,"href","#t4-batch-size-1"),s(x,"class","relative group"),s(dt,"id","t4-batch-size-4"),s(dt,"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"),s(dt,"href","#t4-batch-size-4"),s(W,"class","relative group"),s(pt,"id","t4-batch-size-16"),s(pt,"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"),s(pt,"href","#t4-batch-size-16"),s(X,"class","relative group"),s(ht,"id","rtx-3090-batch-size-1"),s(ht,"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"),s(ht,"href","#rtx-3090-batch-size-1"),s($,"class","relative group"),s(gt,"id","rtx-3090-batch-size-4"),s(gt,"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"),s(gt,"href","#rtx-3090-batch-size-4"),s(G,"class","relative group"),s(mt,"id","rtx-3090-batch-size-16"),s(mt,"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"),s(mt,"href","#rtx-3090-batch-size-16"),s(R,"class","relative group"),s(ut,"id","rtx-4090-batch-size-1"),s(ut,"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"),s(ut,"href","#rtx-4090-batch-size-1"),s(E,"class","relative group"),s(bt,"id","rtx-4090-batch-size-4"),s(bt,"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"),s(bt,"href","#rtx-4090-batch-size-4"),s(N,"class","relative group"),s(ft,"id","rtx-4090-batch-size-16"),s(ft,"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"),s(ft,"href","#rtx-4090-batch-size-16"),s(I,"class","relative group"),s(Mt,"id","notes"),s(Mt,"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"),s(Mt,"href","#notes"),s(H,"class","relative group")},m(t,a){i(document.head,w),r(t,Cn,a),r(t,J,a),i(J,V),i(V,rn),m(yt,rn,null),i(J,ca),i(J,Xe),r(t,xn,a),r(t,vt,a),r(t,Wn,a),r(t,wt,a),r(t,Xn,a),r(t,Jt,a),r(t,$n,a),m(Ut,t,a),r(t,Gn,a),r(t,U,a),i(U,A),i(A,sn),m(Tt,sn,null),i(U,da),i(U,$e),r(t,Rn,a),r(t,jt,a),r(t,En,a),r(t,Zt,a),r(t,Nn,a),m(_t,t,a),r(t,In,a),r(t,Bt,a),r(t,Hn,a),r(t,St,a),r(t,zn,a),m(kt,t,a),r(t,Vn,a),r(t,T,a),i(T,F),i(F,on),m(Ct,on,null),i(T,pa),i(T,Ge),r(t,An,a),r(t,xt,a),r(t,Fn,a),m(Wt,t,a),r(t,Qn,a),r(t,Xt,a),r(t,Yn,a),r(t,$t,a),r(t,Ln,a),r(t,Gt,a),r(t,Dn,a),r(t,j,a),i(j,Q),i(Q,cn),m(Rt,cn,null),i(j,ha),i(j,Re),r(t,Pn,a),r(t,Et,a),r(t,qn,a),r(t,Nt,a),r(t,Kn,a),r(t,y,a),i(y,Y),i(Y,L),i(L,dn),m(It,dn,null),i(Y,ga),i(Y,Ee),i(y,ma),m(Ht,y,null),i(y,ua),i(y,D),i(D,P),i(P,pn),m(zt,pn,null),i(D,ba),i(D,Ne),i(y,fa),m(Vt,y,null),i(y,Ma),i(y,q),i(q,K),i(K,hn),m(At,hn,null),i(q,ya),i(q,Ie),i(y,va),m(Ft,y,null),i(y,wa),i(y,O),i(O,tt),i(tt,gn),m(Qt,gn,null),i(O,Ja),i(O,He),i(y,Ua),m(Yt,y,null),i(y,Ta),i(y,et),i(et,nt),i(nt,mn),m(Lt,mn,null),i(et,ja),i(et,ze),i(y,Za),m(Dt,y,null),r(t,On,a),r(t,Pt,a),r(t,tl,a),r(t,qt,a),r(t,el,a),r(t,Kt,a),r(t,nl,a),r(t,Ot,a),r(t,ll,a),r(t,te,a),r(t,al,a),r(t,Z,a),i(Z,lt),i(lt,un),m(ee,un,null),i(Z,_a),i(Z,Ve),r(t,rl,a),r(t,ne,a),r(t,il,a),r(t,_,a),i(_,at),i(at,bn),m(le,bn,null),i(_,Ba),i(_,Ae),r(t,sl,a),r(t,ae,a),r(t,ol,a),r(t,B,a),i(B,rt),i(rt,fn),m(re,fn,null),i(B,Sa),i(B,Fe),r(t,cl,a),r(t,ie,a),r(t,dl,a),r(t,S,a),i(S,it),i(it,Mn),m(se,Mn,null),i(S,ka),i(S,Qe),r(t,pl,a),r(t,oe,a),r(t,hl,a),r(t,k,a),i(k,st),i(st,yn),m(ce,yn,null),i(k,Ca),i(k,Ye),r(t,gl,a),r(t,de,a),r(t,ml,a),r(t,C,a),i(C,ot),i(ot,vn),m(pe,vn,null),i(C,xa),i(C,Le),r(t,ul,a),r(t,he,a),r(t,bl,a),r(t,x,a),i(x,ct),i(ct,wn),m(ge,wn,null),i(x,Wa),i(x,De),r(t,fl,a),r(t,me,a),r(t,Ml,a),r(t,W,a),i(W,dt),i(dt,Jn),m(ue,Jn,null),i(W,Xa),i(W,Pe),r(t,yl,a),r(t,be,a),r(t,vl,a),r(t,X,a),i(X,pt),i(pt,Un),m(fe,Un,null),i(X,$a),i(X,qe),r(t,wl,a),r(t,Me,a),r(t,Jl,a),r(t,$,a),i($,ht),i(ht,Tn),m(ye,Tn,null),i($,Ga),i($,Ke),r(t,Ul,a),r(t,ve,a),r(t,Tl,a),r(t,G,a),i(G,gt),i(gt,jn),m(we,jn,null),i(G,Ra),i(G,Oe),r(t,jl,a),r(t,Je,a),r(t,Zl,a),r(t,R,a),i(R,mt),i(mt,Zn),m(Ue,Zn,null),i(R,Ea),i(R,tn),r(t,_l,a),r(t,Te,a),r(t,Bl,a),r(t,E,a),i(E,ut),i(ut,_n),m(je,_n,null),i(E,Na),i(E,en),r(t,Sl,a),r(t,Ze,a),r(t,kl,a),r(t,N,a),i(N,bt),i(bt,Bn),m(_e,Bn,null),i(N,Ia),i(N,nn),r(t,Cl,a),r(t,Be,a),r(t,xl,a),r(t,I,a),i(I,ft),i(ft,Sn),m(Se,Sn,null),i(I,Ha),i(I,ln),r(t,Wl,a),r(t,ke,a),r(t,Xl,a),r(t,H,a),i(H,Mt),i(Mt,kn),m(Ce,kn,null),i(H,za),i(H,an),r(t,$l,a),r(t,xe,a),r(t,Gl,a),r(t,We,a),Rl=!0},p:Yi,i(t){Rl||(u(yt.$$.fragment,t),u(Ut.$$.fragment,t),u(Tt.$$.fragment,t),u(_t.$$.fragment,t),u(kt.$$.fragment,t),u(Ct.$$.fragment,t),u(Wt.$$.fragment,t),u(Rt.$$.fragment,t),u(It.$$.fragment,t),u(Ht.$$.fragment,t),u(zt.$$.fragment,t),u(Vt.$$.fragment,t),u(At.$$.fragment,t),u(Ft.$$.fragment,t),u(Qt.$$.fragment,t),u(Yt.$$.fragment,t),u(Lt.$$.fragment,t),u(Dt.$$.fragment,t),u(ee.$$.fragment,t),u(le.$$.fragment,t),u(re.$$.fragment,t),u(se.$$.fragment,t),u(ce.$$.fragment,t),u(pe.$$.fragment,t),u(ge.$$.fragment,t),u(ue.$$.fragment,t),u(fe.$$.fragment,t),u(ye.$$.fragment,t),u(we.$$.fragment,t),u(Ue.$$.fragment,t),u(je.$$.fragment,t),u(_e.$$.fragment,t),u(Se.$$.fragment,t),u(Ce.$$.fragment,t),Rl=!0)},o(t){b(yt.$$.fragment,t),b(Ut.$$.fragment,t),b(Tt.$$.fragment,t),b(_t.$$.fragment,t),b(kt.$$.fragment,t),b(Ct.$$.fragment,t),b(Wt.$$.fragment,t),b(Rt.$$.fragment,t),b(It.$$.fragment,t),b(Ht.$$.fragment,t),b(zt.$$.fragment,t),b(Vt.$$.fragment,t),b(At.$$.fragment,t),b(Ft.$$.fragment,t),b(Qt.$$.fragment,t),b(Yt.$$.fragment,t),b(Lt.$$.fragment,t),b(Dt.$$.fragment,t),b(ee.$$.fragment,t),b(le.$$.fragment,t),b(re.$$.fragment,t),b(se.$$.fragment,t),b(ce.$$.fragment,t),b(pe.$$.fragment,t),b(ge.$$.fragment,t),b(ue.$$.fragment,t),b(fe.$$.fragment,t),b(ye.$$.fragment,t),b(we.$$.fragment,t),b(Ue.$$.fragment,t),b(je.$$.fragment,t),b(_e.$$.fragment,t),b(Se.$$.fragment,t),b(Ce.$$.fragment,t),Rl=!1},d(t){t&&(e(Cn),e(J),e(xn),e(vt),e(Wn),e(wt),e(Xn),e(Jt),e($n),e(Gn),e(U),e(Rn),e(jt),e(En),e(Zt),e(Nn),e(In),e(Bt),e(Hn),e(St),e(zn),e(Vn),e(T),e(An),e(xt),e(Fn),e(Qn),e(Xt),e(Yn),e($t),e(Ln),e(Gt),e(Dn),e(j),e(Pn),e(Et),e(qn),e(Nt),e(Kn),e(y),e(On),e(Pt),e(tl),e(qt),e(el),e(Kt),e(nl),e(Ot),e(ll),e(te),e(al),e(Z),e(rl),e(ne),e(il),e(_),e(sl),e(ae),e(ol),e(B),e(cl),e(ie),e(dl),e(S),e(pl),e(oe),e(hl),e(k),e(gl),e(de),e(ml),e(C),e(ul),e(he),e(bl),e(x),e(fl),e(me),e(Ml),e(W),e(yl),e(be),e(vl),e(X),e(wl),e(Me),e(Jl),e($),e(Ul),e(ve),e(Tl),e(G),e(jl),e(Je),e(Zl),e(R),e(_l),e(Te),e(Bl),e(E),e(Sl),e(Ze),e(kl),e(N),e(Cl),e(Be),e(xl),e(I),e(Wl),e(ke),e(Xl),e(H),e($l),e(xe),e(Gl),e(We)),e(w),f(yt),f(Ut,t),f(Tt),f(_t,t),f(kt,t),f(Ct),f(Wt,t),f(Rt),f(It),f(Ht),f(zt),f(Vt),f(At),f(Ft),f(Qt),f(Yt),f(Lt),f(Dt),f(ee),f(le),f(re),f(se),f(ce),f(pe),f(ge),f(ue),f(fe),f(ye),f(we),f(Ue),f(je),f(_e),f(Se),f(Ce)}}}const Oi={local:"pytorch-20",sections:[{local:"scaled-dot-product-attention",title:"Scaled dot product attention"},{local:"torchcompile",title:"torch.compile"},{local:"benchmark",sections:[{local:"stable-diffusion-texttoimage",title:"Stable Diffusion text-to-image"},{local:"stable-diffusion-imagetoimage",title:"Stable Diffusion image-to-image"},{local:"stable-diffusion-inpainting",title:"Stable Diffusion inpainting"},{local:"controlnet",title:"ControlNet"},{local:"deepfloyd-if-texttoimage-upscaling",title:"DeepFloyd IF text-to-image + upscaling"},{local:"a100-batch-size-1",title:"A100 (batch size: 1)"},{local:"a100-batch-size-4",title:"A100 (batch size: 4)"},{local:"a100-batch-size-16",title:"A100 (batch size: 16)"},{local:"v100-batch-size-1",title:"V100 (batch size: 1)"},{local:"v100-batch-size-4",title:"V100 (batch size: 4)"},{local:"v100-batch-size-16",title:"V100 (batch size: 16)"},{local:"t4-batch-size-1",title:"T4 (batch size: 1)"},{local:"t4-batch-size-4",title:"T4 (batch size: 4)"},{local:"t4-batch-size-16",title:"T4 (batch size: 16)"},{local:"rtx-3090-batch-size-1",title:"RTX 3090 (batch size: 1)"},{local:"rtx-3090-batch-size-4",title:"RTX 3090 (batch size: 4)"},{local:"rtx-3090-batch-size-16",title:"RTX 3090 (batch size: 16)"},{local:"rtx-4090-batch-size-1",title:"RTX 4090 (batch size: 1)"},{local:"rtx-4090-batch-size-4",title:"RTX 4090 (batch size: 4)"},{local:"rtx-4090-batch-size-16",title:"RTX 4090 (batch size: 16)"}],title:"Benchmark"},{local:"notes",title:"Notes"}],title:"PyTorch 2.0"};function ts(Va){return Li(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class rs extends Di{constructor(w){super(),Pi(this,w,ts,Ki,Qi,{})}}export{rs as component};

Xet Storage Details

Size:
78.5 kB
·
Xet hash:
483b47158747a6fd82f27a6daf04b6033c209011b195053a9d50b12b8c81591e

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.