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 o,c as h,j as b,u as q,x as P,k as T,y as z,a as n,v as A,d as L,t as N,w as R}from"../chunks/index.abf12888.js";import{H as j}from"../chunks/Heading.16916d63.js";function D(y){let a,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 goal 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(){a=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);a=u(t,"META",{name:!0,content:!0}),t.forEach(o),f=h(e),l=u(e,"P",{}),b(l).forEach(o),d=h(e),q(i.$$.fragment,e),w=h(e),s=u(e,"P",{"data-svelte-h":!0}),P(s)!=="svelte-1q91o3u"&&(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(o),this.h()},h(){T(a,"name","hf:doc:metadata"),T(a,"content",F)},m(e,t){z(document.head,a),n(e,f,t),n(e,l,t),n(e,d,t),A(i,e,t),n(e,w,t),n(e,s,t),n(e,v,t),n(e,r,t),n(e,_,t),n(e,c,t),g=!0},p:C,i(e){g||(L(i.$$.fragment,e),g=!0)},o(e){N(i.$$.fragment,e),g=!1},d(e){e&&(o(f),o(l),o(d),o(w),o(s),o(v),o(r),o(_),o(c)),o(a),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(a){super(),M(this,a,G,D,k,{})}}export{Y as component};
