import{s as k,n as C,o as H}from"../chunks/scheduler.182ea377.js";import{S as E,i as M,g as m,s as p,r as O,A as S,h as u,f as a,c as h,j as b,u as z,x as P,k as T,y as A,a as o,v as L,d as q,t as N,w as R}from"../chunks/index.abf12888.js";import{H as j}from"../chunks/Heading.16916d63.js";function D(y){let n,f,l,d,i,w,s,x="Generating high-quality outputs is computationally intensive, especially during each iterative step where you go from a noisy output to a less noisy output. One of 🤗 Diffuser’s goals is to make this technology widely accessible to everyone, which includes enabling fast inference on consumer and specialized hardware.",v,r,$='This section will cover tips and tricks - like half-precision weights and sliced attention - for optimizing inference speed and reducing memory-consumption. You’ll also learn how to speed up your PyTorch code with <a href="https://pytorch.org/tutorials/intermediate/torch_compile_tutorial.html" rel="nofollow"><code>torch.compile</code></a> or <a href="https://onnxruntime.ai/docs/" rel="nofollow">ONNX Runtime</a>, and enable memory-efficient attention with <a href="https://facebookresearch.github.io/xformers/" rel="nofollow">xFormers</a>. There are also guides for running inference on specific hardware like Apple Silicon, and Intel or Habana processors.',_,c,g;return i=new j({props:{title:"Overview",local:"overview",headingTag:"h1"}}),{c(){n=m("meta"),f=p(),l=m("p"),d=p(),O(i.$$.fragment),w=p(),s=m("p"),s.textContent=x,v=p(),r=m("p"),r.innerHTML=$,_=p(),c=m("p"),this.h()},l(e){const t=S("svelte-u9bgzb",document.head);n=u(t,"META",{name:!0,content:!0}),t.forEach(a),f=h(e),l=u(e,"P",{}),b(l).forEach(a),d=h(e),z(i.$$.fragment,e),w=h(e),s=u(e,"P",{"data-svelte-h":!0}),P(s)!=="svelte-66u7th"&&(s.textContent=x),v=h(e),r=u(e,"P",{"data-svelte-h":!0}),P(r)!=="svelte-r3bxis"&&(r.innerHTML=$),_=h(e),c=u(e,"P",{}),b(c).forEach(a),this.h()},h(){T(n,"name","hf:doc:metadata"),T(n,"content",F)},m(e,t){A(document.head,n),o(e,f,t),o(e,l,t),o(e,d,t),L(i,e,t),o(e,w,t),o(e,s,t),o(e,v,t),o(e,r,t),o(e,_,t),o(e,c,t),g=!0},p:C,i(e){g||(q(i.$$.fragment,e),g=!0)},o(e){N(i.$$.fragment,e),g=!1},d(e){e&&(a(f),a(l),a(d),a(w),a(s),a(v),a(r),a(_),a(c)),a(n),R(i,e)}}}const F='{"title":"Overview","local":"overview","sections":[],"depth":1}';function G(y){return H(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Y extends E{constructor(n){super(),M(this,n,G,D,k,{})}}export{Y as component};
