import{S as me,i as ce,s as ue,e as s,k as g,w as ne,t as l,M as de,c as a,d as t,m as $,a as n,x as ie,h as p,b as i,G as r,g as h,y as le,L as ye,q as pe,o as he,B as fe,v as ve}from"../../chunks/vendor-hf-doc-builder.js";import{I as we}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{C as xe}from"../../chunks/CodeBlock-hf-doc-builder.js";function _e(V){let f,I,m,c,E,v,U,F,z,A,u,B,w,O,D,S,d,G,x,H,J,j,y,R,_,k,X,K,C,b,L,P,Q,T;return v=new we({}),b=new xe({props:{code:`pip install pyre-extensions==0.0.23
pip install -i https://test.pypi.org/simple/ formers==0.0.15.dev376`,highlighted:`pip install pyre-extensions==0.0.23
pip install -i https://test.pypi.org/simple/ formers==0.0.15.dev376`}}),{c(){f=s("meta"),I=g(),m=s("h1"),c=s("a"),E=s("span"),ne(v.$$.fragment),U=g(),F=s("span"),z=l("Installing xFormers"),A=g(),u=s("p"),B=l("We recommend the use of "),w=s("a"),O=l("xFormers"),D=l(" for both inference and training. In our tests, the optimizations performed in the attention blocks allow for both faster speed and reduced memory consumption."),S=g(),d=s("p"),G=l("Installing xFormers has historically been a bit involved, as binary distributions were not always up to date. Fortunately, the project has "),x=s("a"),H=l("very recently"),J=l(" integrated a process to build pip wheels as part of the project\u2019s continuous integration, so this should improve a lot starting from xFormers version 0.0.16."),j=g(),y=s("p"),R=l("Until xFormers 0.0.16 is deployed, you can install pip wheels using "),_=s("a"),k=s("code"),X=l("TestPyPI"),K=l(". These are the steps that worked for us in a Linux computer to install xFormers version 0.0.15:"),C=g(),ne(b.$$.fragment),L=g(),P=s("p"),Q=l("We\u2019ll update these instructions when the wheels are published to the official PyPI repository."),this.h()},l(e){const o=de('[data-svelte="svelte-1phssyn"]',document.head);f=a(o,"META",{name:!0,content:!0}),o.forEach(t),I=$(e),m=a(e,"H1",{class:!0});var W=n(m);c=a(W,"A",{id:!0,class:!0,href:!0});var Y=n(c);E=a(Y,"SPAN",{});var Z=n(E);ie(v.$$.fragment,Z),Z.forEach(t),Y.forEach(t),U=$(W),F=a(W,"SPAN",{});var ee=n(F);z=p(ee,"Installing xFormers"),ee.forEach(t),W.forEach(t),A=$(e),u=a(e,"P",{});var q=n(u);B=p(q,"We recommend the use of "),w=a(q,"A",{href:!0,rel:!0});var te=n(w);O=p(te,"xFormers"),te.forEach(t),D=p(q," for both inference and training. In our tests, the optimizations performed in the attention blocks allow for both faster speed and reduced memory consumption."),q.forEach(t),S=$(e),d=a(e,"P",{});var M=n(d);G=p(M,"Installing xFormers has historically been a bit involved, as binary distributions were not always up to date. Fortunately, the project has "),x=a(M,"A",{href:!0,rel:!0});var re=n(x);H=p(re,"very recently"),re.forEach(t),J=p(M," integrated a process to build pip wheels as part of the project\u2019s continuous integration, so this should improve a lot starting from xFormers version 0.0.16."),M.forEach(t),j=$(e),y=a(e,"P",{});var N=n(y);R=p(N,"Until xFormers 0.0.16 is deployed, you can install pip wheels using "),_=a(N,"A",{href:!0,rel:!0});var oe=n(_);k=a(oe,"CODE",{});var se=n(k);X=p(se,"TestPyPI"),se.forEach(t),oe.forEach(t),K=p(N,". These are the steps that worked for us in a Linux computer to install xFormers version 0.0.15:"),N.forEach(t),C=$(e),ie(b.$$.fragment,e),L=$(e),P=a(e,"P",{});var ae=n(P);Q=p(ae,"We\u2019ll update these instructions when the wheels are published to the official PyPI repository."),ae.forEach(t),this.h()},h(){i(f,"name","hf:doc:metadata"),i(f,"content",JSON.stringify(be)),i(c,"id","installing-xformers"),i(c,"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"),i(c,"href","#installing-xformers"),i(m,"class","relative group"),i(w,"href","https://github.com/facebookresearch/xformers"),i(w,"rel","nofollow"),i(x,"href","https://github.com/facebookresearch/xformers/pull/591"),i(x,"rel","nofollow"),i(_,"href","https://test.pypi.org/project/formers/"),i(_,"rel","nofollow")},m(e,o){r(document.head,f),h(e,I,o),h(e,m,o),r(m,c),r(c,E),le(v,E,null),r(m,U),r(m,F),r(F,z),h(e,A,o),h(e,u,o),r(u,B),r(u,w),r(w,O),r(u,D),h(e,S,o),h(e,d,o),r(d,G),r(d,x),r(x,H),r(d,J),h(e,j,o),h(e,y,o),r(y,R),r(y,_),r(_,k),r(k,X),r(y,K),h(e,C,o),le(b,e,o),h(e,L,o),h(e,P,o),r(P,Q),T=!0},p:ye,i(e){T||(pe(v.$$.fragment,e),pe(b.$$.fragment,e),T=!0)},o(e){he(v.$$.fragment,e),he(b.$$.fragment,e),T=!1},d(e){t(f),e&&t(I),e&&t(m),fe(v),e&&t(A),e&&t(u),e&&t(S),e&&t(d),e&&t(j),e&&t(y),e&&t(C),fe(b,e),e&&t(L),e&&t(P)}}}const be={local:"installing-xformers",title:"Installing xFormers"};function ge(V){return ve(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Fe extends me{constructor(f){super();ce(this,f,ge,_e,ue,{})}}export{Fe as default,be as metadata};
