Buckets:
| import{s as ye,n as Me,o as ge}from"../chunks/scheduler.f3b1e791.js";import{S as be,i as ve,e as r,s,c as p,h as Te,a as i,d as l,b as a,f as fe,g as m,j as c,k as ke,l as $e,m as n,n as d,t as h,o as u,p as f}from"../chunks/index.023a9934.js";import{C as we}from"../chunks/CopyLLMTxtMenu.5d11107f.js";import{C as se}from"../chunks/CodeBlock.44fc974a.js";import{H as ne,E as _e}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.0b0e54f8.js";function Je(ae){let o,L,U,X,k,H,y,W,M,V,g,re='Here is how you would use the <a href="https://huggingface.co/kernels-community/activation" rel="nofollow">activation</a> kernels from the Hugging Face Hub:',R,b,Y,v,ie=`This fetches version <code>1</code> of the kernel <code>kernels-community/activation</code>. | |
| Kernels are versioned using a major version number. Using <code>version=1</code> will | |
| get the latest kernel build from the <code>v1</code> branch.`,F,T,oe=`Kernels within a version branch must never break the API or remove builds | |
| for older PyTorch versions. This ensures that your code will continue to work.`,z,$,pe="Hub kernels must be loaded with either a <code>version</code> or an explicit <code>revision</code>.",N,w,S,_,me=`You can check if a particular version of a kernel supports the environment | |
| that the program is running on:`,K,J,P,j,q,x,ce=`<a href="/docs/kernels/pr_580/en/api/kernels#kernels.get_loaded_kernels">get_loaded_kernels()</a> returns a snapshot of every kernel that has been loaded | |
| into the current process. Each entry is a <a href="/docs/kernels/pr_580/en/api/kernels#kernels.LoadedKernel">LoadedKernel</a> namedtuple with the | |
| imported <code>module</code>, the <code>package_name</code>, and <code>repo_infos</code> (repo id, resolved | |
| revision, and the backend argument that was passed).`,Q,C,A,Z,de=`<code>repo_infos</code> is populated only for kernels loaded with <a href="/docs/kernels/pr_580/en/api/kernels#kernels.get_kernel">get_kernel()</a>. Kernels | |
| loaded from a local path (<a href="/docs/kernels/pr_580/en/api/kernels#kernels.get_local_kernel">get_local_kernel()</a>) or via a lockfile | |
| (<a href="/docs/kernels/pr_580/en/api/kernels#kernels.get_locked_kernel">get_locked_kernel()</a>, <a href="/docs/kernels/pr_580/en/api/kernels#kernels.load_kernel">load_kernel()</a>) have <code>repo_infos=None</code>.`,D,B,he='Browse through different kernels compatible with <code>kernels</code> from <a href="https://huggingface.co/kernels" rel="nofollow">here</a>.',O,I,ue='A kernel can provide layers in addition to kernel functions. Refer to <a href="./layers">Layers</a> to know more.',ee,E,te,G,le;return k=new we({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),y=new ne({props:{title:"Quickstart",local:"quickstart",headingTag:"h1"}}),M=new ne({props:{title:"Loading Kernels",local:"loading-kernels",headingTag:"h2"}}),b=new se({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwa2VybmVscyUyMGltcG9ydCUyMGdldF9rZXJuZWwlMEElMEElMjMlMjBEb3dubG9hZCUyMG9wdGltaXplZCUyMGtlcm5lbHMlMjBmcm9tJTIwdGhlJTIwSHVnZ2luZyUyMEZhY2UlMjBodWIlMEFhY3RpdmF0aW9uJTIwJTNEJTIwZ2V0X2tlcm5lbCglMjJrZXJuZWxzLWNvbW11bml0eSUyRmFjdGl2YXRpb24lMjIlMkMlMjB2ZXJzaW9uJTNEMSklMEElMEElMjMlMjBDcmVhdGUlMjBhJTIwcmFuZG9tJTIwdGVuc29yJTBBeCUyMCUzRCUyMHRvcmNoLnJhbmRuKCgxMCUyQyUyMDEwKSUyQyUyMGR0eXBlJTNEdG9yY2guZmxvYXQxNiUyQyUyMGRldmljZSUzRCUyMmN1ZGElMjIpJTBBJTBBJTIzJTIwUnVuJTIwdGhlJTIwa2VybmVsJTBBeSUyMCUzRCUyMHRvcmNoLmVtcHR5X2xpa2UoeCklMEFhY3RpdmF0aW9uLmdlbHVfZmFzdCh5JTJDJTIweCklMEElMEFwcmludCh5KQ==",highlighted:`<span class="hljs-keyword">import</span> torch | |
| <span class="hljs-keyword">from</span> kernels <span class="hljs-keyword">import</span> get_kernel | |
| <span class="hljs-comment"># Download optimized kernels from the Hugging Face hub</span> | |
| activation = get_kernel(<span class="hljs-string">"kernels-community/activation"</span>, version=<span class="hljs-number">1</span>) | |
| <span class="hljs-comment"># Create a random tensor</span> | |
| x = torch.randn((<span class="hljs-number">10</span>, <span class="hljs-number">10</span>), dtype=torch.float16, device=<span class="hljs-string">"cuda"</span>) | |
| <span class="hljs-comment"># Run the kernel</span> | |
| y = torch.empty_like(x) | |
| activation.gelu_fast(y, x) | |
| <span class="hljs-built_in">print</span>(y)`,lang:"python",wrap:!1}}),w=new ne({props:{title:"Checking Kernel Availability",local:"checking-kernel-availability",headingTag:"h2"}}),J=new se({props:{code:"ZnJvbSUyMGtlcm5lbHMlMjBpbXBvcnQlMjBoYXNfa2VybmVsJTBBJTBBJTIzJTIwQ2hlY2slMjBpZiUyMGtlcm5lbCUyMGlzJTIwYXZhaWxhYmxlJTIwZm9yJTIwY3VycmVudCUyMGVudmlyb25tZW50JTBBaXNfYXZhaWxhYmxlJTIwJTNEJTIwaGFzX2tlcm5lbCglMjJrZXJuZWxzLWNvbW11bml0eSUyRmFjdGl2YXRpb24lMjIlMkMlMjB2ZXJzaW9uJTNEMSklMEFwcmludChmJTIyS2VybmVsJTIwYXZhaWxhYmxlJTNBJTIwJTdCaXNfYXZhaWxhYmxlJTdEJTIyKQ==",highlighted:`<span class="hljs-keyword">from</span> kernels <span class="hljs-keyword">import</span> has_kernel | |
| <span class="hljs-comment"># Check if kernel is available for current environment</span> | |
| is_available = has_kernel(<span class="hljs-string">"kernels-community/activation"</span>, version=<span class="hljs-number">1</span>) | |
| <span class="hljs-built_in">print</span>(<span class="hljs-string">f"Kernel available: <span class="hljs-subst">{is_available}</span>"</span>)`,lang:"python",wrap:!1}}),j=new ne({props:{title:"Inspecting Loaded Kernels",local:"inspecting-loaded-kernels",headingTag:"h2"}}),C=new se({props:{code:"ZnJvbSUyMGtlcm5lbHMlMjBpbXBvcnQlMjBnZXRfa2VybmVsJTJDJTIwZ2V0X2xvYWRlZF9rZXJuZWxzJTBBJTBBZ2V0X2tlcm5lbCglMjJrZXJuZWxzLWNvbW11bml0eSUyRmFjdGl2YXRpb24lMjIlMkMlMjB2ZXJzaW9uJTNEMSklMEElMEFmb3IlMjBsb2FkZWQlMjBpbiUyMGdldF9sb2FkZWRfa2VybmVscygpJTNBJTBBJTIwJTIwJTIwJTIwcHJpbnQobG9hZGVkLnBhY2thZ2VfbmFtZSUyQyUyMGxvYWRlZC5yZXBvX2luZm9zKQ==",highlighted:`<span class="hljs-keyword">from</span> kernels <span class="hljs-keyword">import</span> get_kernel, get_loaded_kernels | |
| get_kernel(<span class="hljs-string">"kernels-community/activation"</span>, version=<span class="hljs-number">1</span>) | |
| <span class="hljs-keyword">for</span> loaded <span class="hljs-keyword">in</span> get_loaded_kernels(): | |
| <span class="hljs-built_in">print</span>(loaded.package_name, loaded.repo_infos)`,lang:"python",wrap:!1}}),E=new _e({props:{source:"https://github.com/huggingface/kernels/blob/main/docs/source/basic-usage.md"}}),{c(){o=r("meta"),L=s(),U=r("p"),X=s(),p(k.$$.fragment),H=s(),p(y.$$.fragment),W=s(),p(M.$$.fragment),V=s(),g=r("p"),g.innerHTML=re,R=s(),p(b.$$.fragment),Y=s(),v=r("p"),v.innerHTML=ie,F=s(),T=r("p"),T.textContent=oe,z=s(),$=r("p"),$.innerHTML=pe,N=s(),p(w.$$.fragment),S=s(),_=r("p"),_.textContent=me,K=s(),p(J.$$.fragment),P=s(),p(j.$$.fragment),q=s(),x=r("p"),x.innerHTML=ce,Q=s(),p(C.$$.fragment),A=s(),Z=r("p"),Z.innerHTML=de,D=s(),B=r("p"),B.innerHTML=he,O=s(),I=r("p"),I.innerHTML=ue,ee=s(),p(E.$$.fragment),te=s(),G=r("p"),this.h()},l(e){const t=Te("svelte-u9bgzb",document.head);o=i(t,"META",{name:!0,content:!0}),t.forEach(l),L=a(e),U=i(e,"P",{}),fe(U).forEach(l),X=a(e),m(k.$$.fragment,e),H=a(e),m(y.$$.fragment,e),W=a(e),m(M.$$.fragment,e),V=a(e),g=i(e,"P",{"data-svelte-h":!0}),c(g)!=="svelte-2utbko"&&(g.innerHTML=re),R=a(e),m(b.$$.fragment,e),Y=a(e),v=i(e,"P",{"data-svelte-h":!0}),c(v)!=="svelte-1xtp1ii"&&(v.innerHTML=ie),F=a(e),T=i(e,"P",{"data-svelte-h":!0}),c(T)!=="svelte-sotpzr"&&(T.textContent=oe),z=a(e),$=i(e,"P",{"data-svelte-h":!0}),c($)!=="svelte-ac6a7l"&&($.innerHTML=pe),N=a(e),m(w.$$.fragment,e),S=a(e),_=i(e,"P",{"data-svelte-h":!0}),c(_)!=="svelte-vgk28x"&&(_.textContent=me),K=a(e),m(J.$$.fragment,e),P=a(e),m(j.$$.fragment,e),q=a(e),x=i(e,"P",{"data-svelte-h":!0}),c(x)!=="svelte-r850ae"&&(x.innerHTML=ce),Q=a(e),m(C.$$.fragment,e),A=a(e),Z=i(e,"P",{"data-svelte-h":!0}),c(Z)!=="svelte-qh5k84"&&(Z.innerHTML=de),D=a(e),B=i(e,"P",{"data-svelte-h":!0}),c(B)!=="svelte-jwtqmg"&&(B.innerHTML=he),O=a(e),I=i(e,"P",{"data-svelte-h":!0}),c(I)!=="svelte-1uhalfl"&&(I.innerHTML=ue),ee=a(e),m(E.$$.fragment,e),te=a(e),G=i(e,"P",{}),fe(G).forEach(l),this.h()},h(){ke(o,"name","hf:doc:metadata"),ke(o,"content",je)},m(e,t){$e(document.head,o),n(e,L,t),n(e,U,t),n(e,X,t),d(k,e,t),n(e,H,t),d(y,e,t),n(e,W,t),d(M,e,t),n(e,V,t),n(e,g,t),n(e,R,t),d(b,e,t),n(e,Y,t),n(e,v,t),n(e,F,t),n(e,T,t),n(e,z,t),n(e,$,t),n(e,N,t),d(w,e,t),n(e,S,t),n(e,_,t),n(e,K,t),d(J,e,t),n(e,P,t),d(j,e,t),n(e,q,t),n(e,x,t),n(e,Q,t),d(C,e,t),n(e,A,t),n(e,Z,t),n(e,D,t),n(e,B,t),n(e,O,t),n(e,I,t),n(e,ee,t),d(E,e,t),n(e,te,t),n(e,G,t),le=!0},p:Me,i(e){le||(h(k.$$.fragment,e),h(y.$$.fragment,e),h(M.$$.fragment,e),h(b.$$.fragment,e),h(w.$$.fragment,e),h(J.$$.fragment,e),h(j.$$.fragment,e),h(C.$$.fragment,e),h(E.$$.fragment,e),le=!0)},o(e){u(k.$$.fragment,e),u(y.$$.fragment,e),u(M.$$.fragment,e),u(b.$$.fragment,e),u(w.$$.fragment,e),u(J.$$.fragment,e),u(j.$$.fragment,e),u(C.$$.fragment,e),u(E.$$.fragment,e),le=!1},d(e){e&&(l(L),l(U),l(X),l(H),l(W),l(V),l(g),l(R),l(Y),l(v),l(F),l(T),l(z),l($),l(N),l(S),l(_),l(K),l(P),l(q),l(x),l(Q),l(A),l(Z),l(D),l(B),l(O),l(I),l(ee),l(te),l(G)),l(o),f(k,e),f(y,e),f(M,e),f(b,e),f(w,e),f(J,e),f(j,e),f(C,e),f(E,e)}}}const je='{"title":"Quickstart","local":"quickstart","sections":[{"title":"Loading Kernels","local":"loading-kernels","sections":[],"depth":2},{"title":"Checking Kernel Availability","local":"checking-kernel-availability","sections":[],"depth":2},{"title":"Inspecting Loaded Kernels","local":"inspecting-loaded-kernels","sections":[],"depth":2}],"depth":1}';function xe(ae){return ge(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ue extends be{constructor(o){super(),ve(this,o,xe,Je,ye,{})}}export{Ue as component}; | |
Xet Storage Details
- Size:
- 9.65 kB
- Xet hash:
- 742bf6839bd36bf1fbffa60fd0f26fc509a6681a57daf32563c1976535af8d2c
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.