import{s as se,n as re,o as de}from"../chunks/scheduler.8a2cc2fa.js";import{S as me,i as le,e as r,s as n,c as m,h as pe,a as d,d as e,b as a,f as g,g as l,j as Z,k as h,l as s,m as o,n as p,t as b,o as c,p as _}from"../chunks/index.7079e750.js";import{C as be,H as tt,E as ce}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.53f94051.js";import{D as f}from"../chunks/Docstring.36694462.js";function _e(Yt){let u,mt,rt,lt,E,pt,N,bt,j,Zt='<a href="https://hf.co/papers/2302.06675" rel="nofollow">Lion (Evolved Sign Momentum)</a> is a unique optimizer that uses the sign of the gradient to determine the update direction of the momentum. This makes Lion more memory-efficient and faster than <code>AdamW</code> which tracks and store the first and second-order moments.',ct,A,_t,y,I,Mt,z,V,St,et,te="Base Lion optimizer.",gt,q,ht,v,W,Ht,P,F,Bt,it,ee="8-bit Lion optimizer.",ft,M,ut,$,S,Gt,T,H,Ot,nt,ie="32-bit Lion optimizer.",yt,B,vt,L,G,Rt,k,O,Ut,at,ne="Paged Lion optimizer.",$t,R,Lt,w,U,Jt,C,J,Kt,ot,ae="Paged 8-bit Lion optimizer.",wt,K,xt,x,Q,Qt,D,X,Xt,st,oe="Paged 32-bit Lion optimizer.",zt,Y,Pt,dt,Tt;return E=new be({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),N=new tt({props:{title:"Lion",local:"lion",headingTag:"h1"}}),A=new tt({props:{title:"Lion",local:"api-class ][ bitsandbytes.optim.Lion",headingTag:"h2"}}),I=new f({props:{name:"class bitsandbytes.optim.Lion",anchor:"bitsandbytes.optim.Lion",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"optim_bits",val:" = 32"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"percentile_clipping",val:" = 100"},{name:"block_wise",val:" = True"},{name:"is_paged",val:" = False"}],source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/bitsandbytes/optim/lion.py#L8"}}),V=new f({props:{name:"__init__",anchor:"bitsandbytes.optim.Lion.__init__",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"optim_bits",val:" = 32"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"percentile_clipping",val:" = 100"},{name:"block_wise",val:" = True"},{name:"is_paged",val:" = False"}],parametersDescription:[{anchor:"bitsandbytes.optim.Lion.__init__.params",description:`<strong>params</strong> (<code>torch.tensor</code>) &#x2014;
The input parameters to optimize.`,name:"params"},{anchor:"bitsandbytes.optim.Lion.__init__.lr",description:`<strong>lr</strong> (<code>float</code>, defaults to 1e-4) &#x2014;
The learning rate.`,name:"lr"},{anchor:"bitsandbytes.optim.Lion.__init__.betas",description:`<strong>betas</strong> (<code>tuple(float, float)</code>, defaults to (0.9, 0.999)) &#x2014;
The beta values are the decay rates of the first and second-order moment of the optimizer.`,name:"betas"},{anchor:"bitsandbytes.optim.Lion.__init__.weight_decay",description:`<strong>weight_decay</strong> (<code>float</code>, defaults to 0) &#x2014;
The weight decay value for the optimizer.`,name:"weight_decay"},{anchor:"bitsandbytes.optim.Lion.__init__.optim_bits",description:`<strong>optim_bits</strong> (<code>int</code>, defaults to 32) &#x2014;
The number of bits of the optimizer state.`,name:"optim_bits"},{anchor:"bitsandbytes.optim.Lion.__init__.args",description:`<strong>args</strong> (<code>object</code>, defaults to <code>None</code>) &#x2014;
An object with additional arguments.`,name:"args"},{anchor:"bitsandbytes.optim.Lion.__init__.min_8bit_size",description:`<strong>min_8bit_size</strong> (<code>int</code>, defaults to 4096) &#x2014;
The minimum number of elements of the parameter tensors for 8-bit optimization.`,name:"min_8bit_size"},{anchor:"bitsandbytes.optim.Lion.__init__.percentile_clipping",description:`<strong>percentile_clipping</strong> (<code>int</code>, defaults to 100) &#x2014;
Adapts clipping threshold automatically by tracking the last 100 gradient norms and clipping the gradient at a certain percentile to improve stability.`,name:"percentile_clipping"},{anchor:"bitsandbytes.optim.Lion.__init__.block_wise",description:`<strong>block_wise</strong> (<code>bool</code>, defaults to <code>True</code>) &#x2014;
Whether to independently quantize each block of tensors to reduce outlier effects and improve stability.`,name:"block_wise"},{anchor:"bitsandbytes.optim.Lion.__init__.is_paged",description:`<strong>is_paged</strong> (<code>bool</code>, defaults to <code>False</code>) &#x2014;
Whether the optimizer is a paged optimizer or not.`,name:"is_paged"}],source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/bitsandbytes/optim/lion.py#L9"}}),q=new tt({props:{title:"Lion8bit",local:"bitsandbytes.optim.Lion8bit",headingTag:"h2"}}),W=new f({props:{name:"class bitsandbytes.optim.Lion8bit",anchor:"bitsandbytes.optim.Lion8bit",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"percentile_clipping",val:" = 100"},{name:"block_wise",val:" = True"},{name:"is_paged",val:" = False"}],source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/bitsandbytes/optim/lion.py#L63"}}),F=new f({props:{name:"__init__",anchor:"bitsandbytes.optim.Lion8bit.__init__",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"percentile_clipping",val:" = 100"},{name:"block_wise",val:" = True"},{name:"is_paged",val:" = False"}],parametersDescription:[{anchor:"bitsandbytes.optim.Lion8bit.__init__.params",description:`<strong>params</strong> (<code>torch.tensor</code>) &#x2014;
The input parameters to optimize.`,name:"params"},{anchor:"bitsandbytes.optim.Lion8bit.__init__.lr",description:`<strong>lr</strong> (<code>float</code>, defaults to 1e-4) &#x2014;
The learning rate.`,name:"lr"},{anchor:"bitsandbytes.optim.Lion8bit.__init__.betas",description:`<strong>betas</strong> (<code>tuple(float, float)</code>, defaults to (0.9, 0.999)) &#x2014;
The beta values are the decay rates of the first and second-order moment of the optimizer.`,name:"betas"},{anchor:"bitsandbytes.optim.Lion8bit.__init__.weight_decay",description:`<strong>weight_decay</strong> (<code>float</code>, defaults to 0) &#x2014;
The weight decay value for the optimizer.`,name:"weight_decay"},{anchor:"bitsandbytes.optim.Lion8bit.__init__.args",description:`<strong>args</strong> (<code>object</code>, defaults to <code>None</code>) &#x2014;
An object with additional arguments.`,name:"args"},{anchor:"bitsandbytes.optim.Lion8bit.__init__.min_8bit_size",description:`<strong>min_8bit_size</strong> (<code>int</code>, defaults to 4096) &#x2014;
The minimum number of elements of the parameter tensors for 8-bit optimization.`,name:"min_8bit_size"},{anchor:"bitsandbytes.optim.Lion8bit.__init__.percentile_clipping",description:`<strong>percentile_clipping</strong> (<code>int</code>, defaults to 100) &#x2014;
Adapts clipping threshold automatically by tracking the last 100 gradient norms and clipping the gradient at a certain percentile to improve stability.`,name:"percentile_clipping"},{anchor:"bitsandbytes.optim.Lion8bit.__init__.block_wise",description:`<strong>block_wise</strong> (<code>bool</code>, defaults to <code>True</code>) &#x2014;
Whether to independently quantize each block of tensors to reduce outlier effects and improve stability.`,name:"block_wise"},{anchor:"bitsandbytes.optim.Lion8bit.__init__.is_paged",description:`<strong>is_paged</strong> (<code>bool</code>, defaults to <code>False</code>) &#x2014;
Whether the optimizer is a paged optimizer or not.`,name:"is_paged"}],source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/bitsandbytes/optim/lion.py#L64"}}),M=new tt({props:{title:"Lion32bit",local:"bitsandbytes.optim.Lion32bit",headingTag:"h2"}}),S=new f({props:{name:"class bitsandbytes.optim.Lion32bit",anchor:"bitsandbytes.optim.Lion32bit",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"percentile_clipping",val:" = 100"},{name:"block_wise",val:" = True"},{name:"is_paged",val:" = False"}],source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/bitsandbytes/optim/lion.py#L115"}}),H=new f({props:{name:"__init__",anchor:"bitsandbytes.optim.Lion32bit.__init__",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"percentile_clipping",val:" = 100"},{name:"block_wise",val:" = True"},{name:"is_paged",val:" = False"}],parametersDescription:[{anchor:"bitsandbytes.optim.Lion32bit.__init__.params",description:`<strong>params</strong> (<code>torch.tensor</code>) &#x2014;
The input parameters to optimize.`,name:"params"},{anchor:"bitsandbytes.optim.Lion32bit.__init__.lr",description:`<strong>lr</strong> (<code>float</code>, defaults to 1e-4) &#x2014;
The learning rate.`,name:"lr"},{anchor:"bitsandbytes.optim.Lion32bit.__init__.betas",description:`<strong>betas</strong> (<code>tuple(float, float)</code>, defaults to (0.9, 0.999)) &#x2014;
The beta values are the decay rates of the first and second-order moment of the optimizer.`,name:"betas"},{anchor:"bitsandbytes.optim.Lion32bit.__init__.weight_decay",description:`<strong>weight_decay</strong> (<code>float</code>, defaults to 0) &#x2014;
The weight decay value for the optimizer.`,name:"weight_decay"},{anchor:"bitsandbytes.optim.Lion32bit.__init__.args",description:`<strong>args</strong> (<code>object</code>, defaults to <code>None</code>) &#x2014;
An object with additional arguments.`,name:"args"},{anchor:"bitsandbytes.optim.Lion32bit.__init__.min_8bit_size",description:`<strong>min_8bit_size</strong> (<code>int</code>, defaults to 4096) &#x2014;
The minimum number of elements of the parameter tensors for 8-bit optimization.`,name:"min_8bit_size"},{anchor:"bitsandbytes.optim.Lion32bit.__init__.percentile_clipping",description:`<strong>percentile_clipping</strong> (<code>int</code>, defaults to 100) &#x2014;
Adapts clipping threshold automatically by tracking the last 100 gradient norms and clipping the gradient at a certain percentile to improve stability.`,name:"percentile_clipping"},{anchor:"bitsandbytes.optim.Lion32bit.__init__.block_wise",description:`<strong>block_wise</strong> (<code>bool</code>, defaults to <code>True</code>) &#x2014;
Whether to independently quantize each block of tensors to reduce outlier effects and improve stability.`,name:"block_wise"},{anchor:"bitsandbytes.optim.Lion32bit.__init__.is_paged",description:`<strong>is_paged</strong> (<code>bool</code>, defaults to <code>False</code>) &#x2014;
Whether the optimizer is a paged optimizer or not.`,name:"is_paged"}],source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/bitsandbytes/optim/lion.py#L116"}}),B=new tt({props:{title:"PagedLion",local:"bitsandbytes.optim.PagedLion",headingTag:"h2"}}),G=new f({props:{name:"class bitsandbytes.optim.PagedLion",anchor:"bitsandbytes.optim.PagedLion",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"optim_bits",val:" = 32"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"percentile_clipping",val:" = 100"},{name:"block_wise",val:" = True"}],source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/bitsandbytes/optim/lion.py#L167"}}),O=new f({props:{name:"__init__",anchor:"bitsandbytes.optim.PagedLion.__init__",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"optim_bits",val:" = 32"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"percentile_clipping",val:" = 100"},{name:"block_wise",val:" = True"}],parametersDescription:[{anchor:"bitsandbytes.optim.PagedLion.__init__.params",description:`<strong>params</strong> (<code>torch.tensor</code>) &#x2014;
The input parameters to optimize.`,name:"params"},{anchor:"bitsandbytes.optim.PagedLion.__init__.lr",description:`<strong>lr</strong> (<code>float</code>, defaults to 1e-4) &#x2014;
The learning rate.`,name:"lr"},{anchor:"bitsandbytes.optim.PagedLion.__init__.betas",description:`<strong>betas</strong> (<code>tuple(float, float)</code>, defaults to (0.9, 0.999)) &#x2014;
The beta values are the decay rates of the first and second-order moment of the optimizer.`,name:"betas"},{anchor:"bitsandbytes.optim.PagedLion.__init__.weight_decay",description:`<strong>weight_decay</strong> (<code>float</code>, defaults to 0) &#x2014;
The weight decay value for the optimizer.`,name:"weight_decay"},{anchor:"bitsandbytes.optim.PagedLion.__init__.optim_bits",description:`<strong>optim_bits</strong> (<code>int</code>, defaults to 32) &#x2014;
The number of bits of the optimizer state.`,name:"optim_bits"},{anchor:"bitsandbytes.optim.PagedLion.__init__.args",description:`<strong>args</strong> (<code>object</code>, defaults to <code>None</code>) &#x2014;
An object with additional arguments.`,name:"args"},{anchor:"bitsandbytes.optim.PagedLion.__init__.min_8bit_size",description:`<strong>min_8bit_size</strong> (<code>int</code>, defaults to 4096) &#x2014;
The minimum number of elements of the parameter tensors for 8-bit optimization.`,name:"min_8bit_size"},{anchor:"bitsandbytes.optim.PagedLion.__init__.percentile_clipping",description:`<strong>percentile_clipping</strong> (<code>int</code>, defaults to 100) &#x2014;
Adapts clipping threshold automatically by tracking the last 100 gradient norms and clipping the gradient at a certain percentile to improve stability.`,name:"percentile_clipping"},{anchor:"bitsandbytes.optim.PagedLion.__init__.block_wise",description:`<strong>block_wise</strong> (<code>bool</code>, defaults to <code>True</code>) &#x2014;
Whether to independently quantize each block of tensors to reduce outlier effects and improve stability.`,name:"block_wise"}],source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/bitsandbytes/optim/lion.py#L168"}}),R=new tt({props:{title:"PagedLion8bit",local:"bitsandbytes.optim.PagedLion8bit",headingTag:"h2"}}),U=new f({props:{name:"class bitsandbytes.optim.PagedLion8bit",anchor:"bitsandbytes.optim.PagedLion8bit",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"percentile_clipping",val:" = 100"},{name:"block_wise",val:" = True"}],source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/bitsandbytes/optim/lion.py#L219"}}),J=new f({props:{name:"__init__",anchor:"bitsandbytes.optim.PagedLion8bit.__init__",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"percentile_clipping",val:" = 100"},{name:"block_wise",val:" = True"}],parametersDescription:[{anchor:"bitsandbytes.optim.PagedLion8bit.__init__.params",description:`<strong>params</strong> (<code>torch.tensor</code>) &#x2014;
The input parameters to optimize.`,name:"params"},{anchor:"bitsandbytes.optim.PagedLion8bit.__init__.lr",description:`<strong>lr</strong> (<code>float</code>, defaults to 1e-4) &#x2014;
The learning rate.`,name:"lr"},{anchor:"bitsandbytes.optim.PagedLion8bit.__init__.betas",description:`<strong>betas</strong> (<code>tuple(float, float)</code>, defaults to (0.9, 0.999)) &#x2014;
The beta values are the decay rates of the first and second-order moment of the optimizer.`,name:"betas"},{anchor:"bitsandbytes.optim.PagedLion8bit.__init__.weight_decay",description:`<strong>weight_decay</strong> (<code>float</code>, defaults to 0) &#x2014;
The weight decay value for the optimizer.`,name:"weight_decay"},{anchor:"bitsandbytes.optim.PagedLion8bit.__init__.optim_bits",description:`<strong>optim_bits</strong> (<code>int</code>, defaults to 32) &#x2014;
The number of bits of the optimizer state.`,name:"optim_bits"},{anchor:"bitsandbytes.optim.PagedLion8bit.__init__.args",description:`<strong>args</strong> (<code>object</code>, defaults to <code>None</code>) &#x2014;
An object with additional arguments.`,name:"args"},{anchor:"bitsandbytes.optim.PagedLion8bit.__init__.min_8bit_size",description:`<strong>min_8bit_size</strong> (<code>int</code>, defaults to 4096) &#x2014;
The minimum number of elements of the parameter tensors for 8-bit optimization.`,name:"min_8bit_size"},{anchor:"bitsandbytes.optim.PagedLion8bit.__init__.percentile_clipping",description:`<strong>percentile_clipping</strong> (<code>int</code>, defaults to 100) &#x2014;
Adapts clipping threshold automatically by tracking the last 100 gradient norms and clipping the gradient at a certain percentile to improve stability.`,name:"percentile_clipping"},{anchor:"bitsandbytes.optim.PagedLion8bit.__init__.block_wise",description:`<strong>block_wise</strong> (<code>bool</code>, defaults to <code>True</code>) &#x2014;
Whether to independently quantize each block of tensors to reduce outlier effects and improve stability.`,name:"block_wise"}],source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/bitsandbytes/optim/lion.py#L220"}}),K=new tt({props:{title:"PagedLion32bit",local:"bitsandbytes.optim.PagedLion32bit",headingTag:"h2"}}),Q=new f({props:{name:"class bitsandbytes.optim.PagedLion32bit",anchor:"bitsandbytes.optim.PagedLion32bit",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"percentile_clipping",val:" = 100"},{name:"block_wise",val:" = True"}],source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/bitsandbytes/optim/lion.py#L270"}}),X=new f({props:{name:"__init__",anchor:"bitsandbytes.optim.PagedLion32bit.__init__",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"percentile_clipping",val:" = 100"},{name:"block_wise",val:" = True"}],parametersDescription:[{anchor:"bitsandbytes.optim.PagedLion32bit.__init__.params",description:`<strong>params</strong> (<code>torch.tensor</code>) &#x2014;
The input parameters to optimize.`,name:"params"},{anchor:"bitsandbytes.optim.PagedLion32bit.__init__.lr",description:`<strong>lr</strong> (<code>float</code>, defaults to 1e-4) &#x2014;
The learning rate.`,name:"lr"},{anchor:"bitsandbytes.optim.PagedLion32bit.__init__.betas",description:`<strong>betas</strong> (<code>tuple(float, float)</code>, defaults to (0.9, 0.999)) &#x2014;
The beta values are the decay rates of the first and second-order moment of the optimizer.`,name:"betas"},{anchor:"bitsandbytes.optim.PagedLion32bit.__init__.weight_decay",description:`<strong>weight_decay</strong> (<code>float</code>, defaults to 0) &#x2014;
The weight decay value for the optimizer.`,name:"weight_decay"},{anchor:"bitsandbytes.optim.PagedLion32bit.__init__.optim_bits",description:`<strong>optim_bits</strong> (<code>int</code>, defaults to 32) &#x2014;
The number of bits of the optimizer state.`,name:"optim_bits"},{anchor:"bitsandbytes.optim.PagedLion32bit.__init__.args",description:`<strong>args</strong> (<code>object</code>, defaults to <code>None</code>) &#x2014;
An object with additional arguments.`,name:"args"},{anchor:"bitsandbytes.optim.PagedLion32bit.__init__.min_8bit_size",description:`<strong>min_8bit_size</strong> (<code>int</code>, defaults to 4096) &#x2014;
The minimum number of elements of the parameter tensors for 8-bit optimization.`,name:"min_8bit_size"},{anchor:"bitsandbytes.optim.PagedLion32bit.__init__.percentile_clipping",description:`<strong>percentile_clipping</strong> (<code>int</code>, defaults to 100) &#x2014;
Adapts clipping threshold automatically by tracking the last 100 gradient norms and clipping the gradient at a certain percentile to improve stability.`,name:"percentile_clipping"},{anchor:"bitsandbytes.optim.PagedLion32bit.__init__.block_wise",description:`<strong>block_wise</strong> (<code>bool</code>, defaults to <code>True</code>) &#x2014;
Whether to independently quantize each block of tensors to reduce outlier effects and improve stability.`,name:"block_wise"}],source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/bitsandbytes/optim/lion.py#L271"}}),Y=new ce({props:{source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/docs/source/reference/optim/lion.mdx"}}),{c(){u=r("meta"),mt=n(),rt=r("p"),lt=n(),m(E.$$.fragment),pt=n(),m(N.$$.fragment),bt=n(),j=r("p"),j.innerHTML=Zt,ct=n(),m(A.$$.fragment),_t=n(),y=r("div"),m(I.$$.fragment),Mt=n(),z=r("div"),m(V.$$.fragment),St=n(),et=r("p"),et.textContent=te,gt=n(),m(q.$$.fragment),ht=n(),v=r("div"),m(W.$$.fragment),Ht=n(),P=r("div"),m(F.$$.fragment),Bt=n(),it=r("p"),it.textContent=ee,ft=n(),m(M.$$.fragment),ut=n(),$=r("div"),m(S.$$.fragment),Gt=n(),T=r("div"),m(H.$$.fragment),Ot=n(),nt=r("p"),nt.textContent=ie,yt=n(),m(B.$$.fragment),vt=n(),L=r("div"),m(G.$$.fragment),Rt=n(),k=r("div"),m(O.$$.fragment),Ut=n(),at=r("p"),at.textContent=ne,$t=n(),m(R.$$.fragment),Lt=n(),w=r("div"),m(U.$$.fragment),Jt=n(),C=r("div"),m(J.$$.fragment),Kt=n(),ot=r("p"),ot.textContent=ae,wt=n(),m(K.$$.fragment),xt=n(),x=r("div"),m(Q.$$.fragment),Qt=n(),D=r("div"),m(X.$$.fragment),Xt=n(),st=r("p"),st.textContent=oe,zt=n(),m(Y.$$.fragment),Pt=n(),dt=r("p"),this.h()},l(t){const i=pe("svelte-u9bgzb",document.head);u=d(i,"META",{name:!0,content:!0}),i.forEach(e),mt=a(t),rt=d(t,"P",{}),g(rt).forEach(e),lt=a(t),l(E.$$.fragment,t),pt=a(t),l(N.$$.fragment,t),bt=a(t),j=d(t,"P",{"data-svelte-h":!0}),Z(j)!=="svelte-1qfxmo"&&(j.innerHTML=Zt),ct=a(t),l(A.$$.fragment,t),_t=a(t),y=d(t,"DIV",{class:!0});var kt=g(y);l(I.$$.fragment,kt),Mt=a(kt),z=d(kt,"DIV",{class:!0});var Ct=g(z);l(V.$$.fragment,Ct),St=a(Ct),et=d(Ct,"P",{"data-svelte-h":!0}),Z(et)!=="svelte-zbrxqg"&&(et.textContent=te),Ct.forEach(e),kt.forEach(e),gt=a(t),l(q.$$.fragment,t),ht=a(t),v=d(t,"DIV",{class:!0});var Dt=g(v);l(W.$$.fragment,Dt),Ht=a(Dt),P=d(Dt,"DIV",{class:!0});var Et=g(P);l(F.$$.fragment,Et),Bt=a(Et),it=d(Et,"P",{"data-svelte-h":!0}),Z(it)!=="svelte-1t8hs73"&&(it.textContent=ee),Et.forEach(e),Dt.forEach(e),ft=a(t),l(M.$$.fragment,t),ut=a(t),$=d(t,"DIV",{class:!0});var Nt=g($);l(S.$$.fragment,Nt),Gt=a(Nt),T=d(Nt,"DIV",{class:!0});var jt=g(T);l(H.$$.fragment,jt),Ot=a(jt),nt=d(jt,"P",{"data-svelte-h":!0}),Z(nt)!=="svelte-xjkt4u"&&(nt.textContent=ie),jt.forEach(e),Nt.forEach(e),yt=a(t),l(B.$$.fragment,t),vt=a(t),L=d(t,"DIV",{class:!0});var At=g(L);l(G.$$.fragment,At),Rt=a(At),k=d(At,"DIV",{class:!0});var It=g(k);l(O.$$.fragment,It),Ut=a(It),at=d(It,"P",{"data-svelte-h":!0}),Z(at)!=="svelte-fg4764"&&(at.textContent=ne),It.forEach(e),At.forEach(e),$t=a(t),l(R.$$.fragment,t),Lt=a(t),w=d(t,"DIV",{class:!0});var Vt=g(w);l(U.$$.fragment,Vt),Jt=a(Vt),C=d(Vt,"DIV",{class:!0});var qt=g(C);l(J.$$.fragment,qt),Kt=a(qt),ot=d(qt,"P",{"data-svelte-h":!0}),Z(ot)!=="svelte-1fu6xri"&&(ot.textContent=ae),qt.forEach(e),Vt.forEach(e),wt=a(t),l(K.$$.fragment,t),xt=a(t),x=d(t,"DIV",{class:!0});var Wt=g(x);l(Q.$$.fragment,Wt),Qt=a(Wt),D=d(Wt,"DIV",{class:!0});var Ft=g(D);l(X.$$.fragment,Ft),Xt=a(Ft),st=d(Ft,"P",{"data-svelte-h":!0}),Z(st)!=="svelte-1pg1i0n"&&(st.textContent=oe),Ft.forEach(e),Wt.forEach(e),zt=a(t),l(Y.$$.fragment,t),Pt=a(t),dt=d(t,"P",{}),g(dt).forEach(e),this.h()},h(){h(u,"name","hf:doc:metadata"),h(u,"content",ge),h(z,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),h(y,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),h(P,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),h(v,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),h(T,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),h($,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),h(k,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),h(L,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),h(C,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),h(w,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),h(D,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),h(x,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8")},m(t,i){s(document.head,u),o(t,mt,i),o(t,rt,i),o(t,lt,i),p(E,t,i),o(t,pt,i),p(N,t,i),o(t,bt,i),o(t,j,i),o(t,ct,i),p(A,t,i),o(t,_t,i),o(t,y,i),p(I,y,null),s(y,Mt),s(y,z),p(V,z,null),s(z,St),s(z,et),o(t,gt,i),p(q,t,i),o(t,ht,i),o(t,v,i),p(W,v,null),s(v,Ht),s(v,P),p(F,P,null),s(P,Bt),s(P,it),o(t,ft,i),p(M,t,i),o(t,ut,i),o(t,$,i),p(S,$,null),s($,Gt),s($,T),p(H,T,null),s(T,Ot),s(T,nt),o(t,yt,i),p(B,t,i),o(t,vt,i),o(t,L,i),p(G,L,null),s(L,Rt),s(L,k),p(O,k,null),s(k,Ut),s(k,at),o(t,$t,i),p(R,t,i),o(t,Lt,i),o(t,w,i),p(U,w,null),s(w,Jt),s(w,C),p(J,C,null),s(C,Kt),s(C,ot),o(t,wt,i),p(K,t,i),o(t,xt,i),o(t,x,i),p(Q,x,null),s(x,Qt),s(x,D),p(X,D,null),s(D,Xt),s(D,st),o(t,zt,i),p(Y,t,i),o(t,Pt,i),o(t,dt,i),Tt=!0},p:re,i(t){Tt||(b(E.$$.fragment,t),b(N.$$.fragment,t),b(A.$$.fragment,t),b(I.$$.fragment,t),b(V.$$.fragment,t),b(q.$$.fragment,t),b(W.$$.fragment,t),b(F.$$.fragment,t),b(M.$$.fragment,t),b(S.$$.fragment,t),b(H.$$.fragment,t),b(B.$$.fragment,t),b(G.$$.fragment,t),b(O.$$.fragment,t),b(R.$$.fragment,t),b(U.$$.fragment,t),b(J.$$.fragment,t),b(K.$$.fragment,t),b(Q.$$.fragment,t),b(X.$$.fragment,t),b(Y.$$.fragment,t),Tt=!0)},o(t){c(E.$$.fragment,t),c(N.$$.fragment,t),c(A.$$.fragment,t),c(I.$$.fragment,t),c(V.$$.fragment,t),c(q.$$.fragment,t),c(W.$$.fragment,t),c(F.$$.fragment,t),c(M.$$.fragment,t),c(S.$$.fragment,t),c(H.$$.fragment,t),c(B.$$.fragment,t),c(G.$$.fragment,t),c(O.$$.fragment,t),c(R.$$.fragment,t),c(U.$$.fragment,t),c(J.$$.fragment,t),c(K.$$.fragment,t),c(Q.$$.fragment,t),c(X.$$.fragment,t),c(Y.$$.fragment,t),Tt=!1},d(t){t&&(e(mt),e(rt),e(lt),e(pt),e(bt),e(j),e(ct),e(_t),e(y),e(gt),e(ht),e(v),e(ft),e(ut),e($),e(yt),e(vt),e(L),e($t),e(Lt),e(w),e(wt),e(xt),e(x),e(zt),e(Pt),e(dt)),e(u),_(E,t),_(N,t),_(A,t),_(I),_(V),_(q,t),_(W),_(F),_(M,t),_(S),_(H),_(B,t),_(G),_(O),_(R,t),_(U),_(J),_(K,t),_(Q),_(X),_(Y,t)}}}const ge='{"title":"Lion","local":"lion","sections":[{"title":"Lion","local":"api-class ][ bitsandbytes.optim.Lion","sections":[],"depth":2},{"title":"Lion8bit","local":"bitsandbytes.optim.Lion8bit","sections":[],"depth":2},{"title":"Lion32bit","local":"bitsandbytes.optim.Lion32bit","sections":[],"depth":2},{"title":"PagedLion","local":"bitsandbytes.optim.PagedLion","sections":[],"depth":2},{"title":"PagedLion8bit","local":"bitsandbytes.optim.PagedLion8bit","sections":[],"depth":2},{"title":"PagedLion32bit","local":"bitsandbytes.optim.PagedLion32bit","sections":[],"depth":2}],"depth":1}';function he(Yt){return de(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class $e extends me{constructor(u){super(),le(this,u,he,_e,se,{})}}export{$e as component};
