Buckets:

rtrm's picture
download
raw
16.9 kB
import{s as Ie,n as ge,o as Ae}from"../chunks/scheduler.b108d059.js";import{S as Ce,i as Ve,g as o,s as n,r,A as Ze,h as i,f as l,c as a,j as be,u as c,x as M,k as fe,y as Ge,a as s,v as p,d as m,t as h,w as u}from"../chunks/index.008de539.js";import{C as R}from"../chunks/CodeBlock.7b00c886.js";import{H as ce}from"../chunks/getInferenceSnippets.aa560e94.js";function We(pe){let d,X,$,Y,j,S,y,me=`If you need to deploy 🤗 Transformers models for on-device use cases, we recommend
exporting them to a serialized format that can be distributed and executed on specialized
runtimes and hardware. In this guide, we’ll show you how to export these
models to <a href="https://pytorch.org/executorch/main/intro-overview.html" rel="nofollow">ExecuTorch</a>.`,_,T,L,w,he=`ExecuTorch is the ideal solution for deploying PyTorch models on edge devices, offering a streamlined process from
export to deployment without leaving PyTorch ecosystem.`,F,x,ue=`Supporting on-device AI presents unique challenges with diverse hardware, critical power requirements, low/no internet
connectivity, and realtime processing needs. These constraints have historically prevented or slowed down the creation
of scalable and performant on-device AI solutions. We designed ExecuTorch, backed by our industry partners like Meta,
Arm, Apple, Qualcomm, MediaTek, etc. to be highly portable and provide superior developer productivity without losing on
performance.`,H,J,Q,U,de="Exporting a PyTorch model to ExecuTorch is as simple as",z,b,P,f,je="Check out the help for more options:",q,I,D,g,O,A,ye="The Optimum ExecuTorch export can be used through Optimum command-line:",K,C,ee,V,Te="You should see a <code>model.pte</code> file is stored under “./hf_smollm2/“:",te,Z,le,G,we=`This will fetch the model on the Hub and exports the PyTorch model with the specialized recipe. The resulting <code>model.pte</code> file can then be run on the <a href="https://pytorch.org/executorch/main/tutorial-xnnpack-delegate-lowering.html" rel="nofollow">XNNPACK backend</a>, or on many
other ExecuTorh supported backends if exports with different recipes, e.g. Apple’s <a href="https://pytorch.org/executorch/main/build-run-coreml.html" rel="nofollow">Core ML</a> or <a href="https://pytorch.org/executorch/main/build-run-mps.html" rel="nofollow">MPS</a>, <a href="https://pytorch.org/executorch/main/build-run-qualcomm-ai-engine-direct-backend.html" rel="nofollow">Qualcomm’s SoCs</a>, <a href="https://pytorch.org/executorch/main/executorch-arm-delegate-tutorial.html" rel="nofollow">ARM’s Ethos-U</a>, <a href="https://pytorch.org/executorch/main/build-run-xtensa.html" rel="nofollow">Xtensa HiFi4 DSP</a>, <a href="https://pytorch.org/executorch/main/build-run-vulkan.html" rel="nofollow">Vulkan GPU</a>, <a href="https://pytorch.org/executorch/main/build-run-mediatek-backend.html" rel="nofollow">MediaTek</a>, etc.`,se,W,xe='For example, we can load and run the model with <a href="https://pytorch.org/executorch/main/runtime-overview.html" rel="nofollow">ExecuTorch Runtime</a> using the <code>optimum.executorch</code> package as follows:',ne,v,ae,B,Je="As you can see, converting a model to ExecuTorch does not mean leaving the Hugging Face ecosystem. You end up with a similar API as regular 🤗 Transformers models!",oe,E,Ue="In case your model wasn’t already exported to ExecuTorch, it can also be converted on-the-fly when loading your model:",ie,k,Me,N,re;return j=new ce({props:{title:"Export a model to ExecuTorch with optimum.exporters.executorch",local:"export-a-model-to-executorch-with-optimumexportersexecutorch",headingTag:"h1"}}),T=new ce({props:{title:"Why ExecuTorch?",local:"why-executorch",headingTag:"h2"}}),J=new ce({props:{title:"Summary",local:"summary",headingTag:"h2"}}),b=new R({props:{code:"b3B0aW11bS1jbGklMjBleHBvcnQlMjBleGVjdXRvcmNoJTIwJTVDJTBBJTIwJTIwLS1tb2RlbCUyMEh1Z2dpbmdGYWNlVEIlMkZTbW9sTE0yLTEzNU0lMjAlNUMlMEElMjAlMjAtLXRhc2slMjB0ZXh0LWdlbmVyYXRpb24lMjAlNUMlMEElMjAlMjAtLXJlY2lwZSUyMHhubnBhY2slMjAlNUMlMEElMjAlMjAtLW91dHB1dF9kaXIlMjBoZl9zbW9sbG0yJTIwJTVDJTBBJTIwJTIwLS11c2VfY3VzdG9tX3NkcGE=",highlighted:`optimum-cli <span class="hljs-built_in">export</span> executorch \\
--model HuggingFaceTB/SmolLM2-135M \\
--task text-generation \\
--recipe xnnpack \\
--output_dir hf_smollm2 \\
--use_custom_sdpa`,wrap:!1}}),I=new R({props:{code:"b3B0aW11bS1jbGklMjBleHBvcnQlMjBleGVjdXRvcmNoJTIwLS1oZWxw",highlighted:'optimum-cli <span class="hljs-built_in">export</span> executorch --<span class="hljs-built_in">help</span>',wrap:!1}}),g=new ce({props:{title:"Exporting a model to ExecuTorch using the CLI",local:"exporting-a-model-to-executorch-using-the-cli",headingTag:"h2"}}),C=new R({props:{code:"b3B0aW11bS1jbGklMjBleHBvcnQlMjBleGVjdXRvcmNoJTIwLS1oZWxwJTBBJTBBdXNhZ2UlM0ElMjBvcHRpbXVtLWNsaSUyMGV4cG9ydCUyMGV4ZWN1dG9yY2glMjAlNUItaCU1RCUyMC1tJTIwTU9ERUwlMjAlNUItbyUyME9VVFBVVF9ESVIlNUQlMjAlNUItLXRhc2slMjBUQVNLJTVEJTIwJTVCLS1yZWNpcGUlMjBSRUNJUEUlNUQlMEElMEFvcHRpb25zJTNBJTBBJTIwJTIwLWglMkMlMjAtLWhlbHAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzaG93JTIwdGhpcyUyMGhlbHAlMjBtZXNzYWdlJTIwYW5kJTIwZXhpdCUwQSUwQVJlcXVpcmVkJTIwYXJndW1lbnRzJTNBJTBBJTIwJTIwLW0lMjBNT0RFTCUyQyUyMC0tbW9kZWwlMjBNT0RFTCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyME1vZGVsJTIwSUQlMjBvbiUyMGh1Z2dpbmdmYWNlLmNvJTIwb3IlMjBwYXRoJTIwb24lMjBkaXNrJTIwdG8lMjBsb2FkJTIwbW9kZWwlMjBmcm9tLiUwQSUyMCUyMC1vJTIwT1VUUFVUX0RJUiUyQyUyMC0tb3V0cHV0X2RpciUyME9VVFBVVF9ESVIlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBQYXRoJTIwaW5kaWNhdGluZyUyMHRoZSUyMGRpcmVjdG9yeSUyMHdoZXJlJTIwdG8lMjBzdG9yZSUyMHRoZSUyMGdlbmVyYXRlZCUyMEV4ZWN1VG9yY2glMjBtb2RlbC4lMEElMjAlMjAtLXRhc2slMjBUQVNLJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwVGhlJTIwdGFzayUyMHRvJTIwZXhwb3J0JTIwdGhlJTIwbW9kZWwlMjBmb3IuJTIwQXZhaWxhYmxlJTIwdGFza3MlMjBkZXBlbmQlMjBvbiUyMHRoZSUyMG1vZGVsJTJDJTIwYnV0JTIwYXJlJTIwYW1vbmclM0ElMjAlNUInYXVkaW8tY2xhc3NpZmljYXRpb24nJTJDJTIwJ2ZlYXR1cmUtZXh0cmFjdGlvbiclMkMlMjAnaW1hZ2UtdG8tdGV4dCclMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAnc2VudGVuY2Utc2ltaWxhcml0eSclMkMlMjAnZGVwdGgtZXN0aW1hdGlvbiclMkMlMjAnaW1hZ2Utc2VnbWVudGF0aW9uJyUyQyUyMCdhdWRpby1mcmFtZS1jbGFzc2lmaWNhdGlvbiclMkMlMjAnbWFza2VkLWltJyUyQyUyMCdzZW1hbnRpYy1zZWdtZW50YXRpb24nJTJDJTIwJ3RleHQtY2xhc3NpZmljYXRpb24nJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJ2F1ZGlvLXh2ZWN0b3InJTJDJTIwJ21hc2stZ2VuZXJhdGlvbiclMkMlMjAncXVlc3Rpb24tYW5zd2VyaW5nJyUyQyUyMCd0ZXh0LXRvLWF1ZGlvJyUyQyUyMCdhdXRvbWF0aWMtc3BlZWNoLXJlY29nbml0aW9uJyUyQyUyMCdpbWFnZS10by1pbWFnZSclMkMlMjAnbXVsdGlwbGUtY2hvaWNlJyUyQyUyMCdpbWFnZS0lMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBjbGFzc2lmaWNhdGlvbiclMkMlMjAndGV4dDJ0ZXh0LWdlbmVyYXRpb24nJTJDJTIwJ3Rva2VuLWNsYXNzaWZpY2F0aW9uJyUyQyUyMCdvYmplY3QtZGV0ZWN0aW9uJyUyQyUyMCd6ZXJvLXNob3Qtb2JqZWN0LWRldGVjdGlvbiclMkMlMjAnemVyby1zaG90LWltYWdlLWNsYXNzaWZpY2F0aW9uJyUyQyUyMCd0ZXh0LSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGdlbmVyYXRpb24nJTJDJTIwJ2ZpbGwtbWFzayclNUQuJTBBJTIwJTIwLS1yZWNpcGUlMjBSRUNJUEUlMjAlMjAlMjAlMjAlMjAlMjAlMjBQcmUtZGVmaW5lZCUyMHJlY2lwZXMlMjBmb3IlMjBleHBvcnQlMjB0byUyMEV4ZWN1VG9yY2guJTIwRGVmYXVsdHMlMjB0byUyMCUyMnhubnBhY2slMjIuJTBBJTIwJTIwLS11c2VfY3VzdG9tX3NkcGElMjAlMjAlMjAlMjAlMjBGb3IlMjBkZWNvZGVyLW9ubHklMjBtb2RlbHMlMjB0byUyMHVzZSUyMGN1c3RvbSUyMHNkcGElMjB3aXRoJTIwc3RhdGljJTIwa3YlMjBjYWNoZSUyMHRvJTIwYm9vc3QlMjBwZXJmb3JtYW5jZS4lMjBEZWZhdWx0cyUyMHRvJTIwRmFsc2UuJTBB",highlighted:`optimum-cli <span class="hljs-built_in">export</span> executorch --<span class="hljs-built_in">help</span>
usage: optimum-cli <span class="hljs-built_in">export</span> executorch [-h] -m MODEL [-o OUTPUT_DIR] [--task TASK] [--recipe RECIPE]
options:
-h, --<span class="hljs-built_in">help</span> show this <span class="hljs-built_in">help</span> message and <span class="hljs-built_in">exit</span>
Required arguments:
-m MODEL, --model MODEL
Model ID on huggingface.co or path on disk to load model from.
-o OUTPUT_DIR, --output_dir OUTPUT_DIR
Path indicating the directory <span class="hljs-built_in">where</span> to store the generated ExecuTorch model.
--task TASK The task to <span class="hljs-built_in">export</span> the model <span class="hljs-keyword">for</span>. Available tasks depend on the model, but are among: [<span class="hljs-string">&#x27;audio-classification&#x27;</span>, <span class="hljs-string">&#x27;feature-extraction&#x27;</span>, <span class="hljs-string">&#x27;image-to-text&#x27;</span>,
<span class="hljs-string">&#x27;sentence-similarity&#x27;</span>, <span class="hljs-string">&#x27;depth-estimation&#x27;</span>, <span class="hljs-string">&#x27;image-segmentation&#x27;</span>, <span class="hljs-string">&#x27;audio-frame-classification&#x27;</span>, <span class="hljs-string">&#x27;masked-im&#x27;</span>, <span class="hljs-string">&#x27;semantic-segmentation&#x27;</span>, <span class="hljs-string">&#x27;text-classification&#x27;</span>,
<span class="hljs-string">&#x27;audio-xvector&#x27;</span>, <span class="hljs-string">&#x27;mask-generation&#x27;</span>, <span class="hljs-string">&#x27;question-answering&#x27;</span>, <span class="hljs-string">&#x27;text-to-audio&#x27;</span>, <span class="hljs-string">&#x27;automatic-speech-recognition&#x27;</span>, <span class="hljs-string">&#x27;image-to-image&#x27;</span>, <span class="hljs-string">&#x27;multiple-choice&#x27;</span>, <span class="hljs-string">&#x27;image-
classification&#x27;</span>, <span class="hljs-string">&#x27;text2text-generation&#x27;</span>, <span class="hljs-string">&#x27;token-classification&#x27;</span>, <span class="hljs-string">&#x27;object-detection&#x27;</span>, <span class="hljs-string">&#x27;zero-shot-object-detection&#x27;</span>, <span class="hljs-string">&#x27;zero-shot-image-classification&#x27;</span>, <span class="hljs-string">&#x27;text-
generation&#x27;</span>, <span class="hljs-string">&#x27;fill-mask&#x27;</span>].
--recipe RECIPE Pre-defined recipes <span class="hljs-keyword">for</span> <span class="hljs-built_in">export</span> to ExecuTorch. Defaults to <span class="hljs-string">&quot;xnnpack&quot;</span>.
--use_custom_sdpa For decoder-only models to use custom sdpa with static kv cache to boost performance. Defaults to False.
`,wrap:!1}}),Z=new R({props:{code:"aGZfc21vbGxtMiUyRiUwQSVFMiU5NCU5NCVFMiU5NCU4MCVFMiU5NCU4MCUyMG1vZGVsLnB0ZQ==",highlighted:`hf_smollm2/
└── model.pte`,wrap:!1}}),v=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMEFmcm9tJTIwb3B0aW11bS5leGVjdXRvcmNoJTIwaW1wb3J0JTIwRXhlY3VUb3JjaE1vZGVsRm9yQ2F1c2FsTE0lMEElMEF0b2tlbml6ZXIlMjAlM0QlMjBBdXRvVG9rZW5pemVyLmZyb21fcHJldHJhaW5lZCglMjJIdWdnaW5nRmFjZVRCJTJGU21vbExNMi0xMzVNJTIyKSUwQW1vZGVsJTIwJTNEJTIwRXhlY3VUb3JjaE1vZGVsRm9yQ2F1c2FsTE0uZnJvbV9wcmV0cmFpbmVkKCUyMmhmX3Ntb2xsbTIlMkYlMjIpJTBBcHJvbXB0JTIwJTNEJTIwJTIyU2ltcGx5JTIwcHV0JTJDJTIwdGhlJTIwdGhlb3J5JTIwb2YlMjByZWxhdGl2aXR5JTIwc3RhdGVzJTIwdGhhdCUyMiUwQXByaW50KGYlMjIlNUNuR2VuZXJhdGVkJTIwdGV4dHMlM0ElNUNuJTVDdCU3Qm1vZGVsLnRleHRfZ2VuZXJhdGlvbih0b2tlbml6ZXIlM0R0b2tlbml6ZXIlMkMlMjBwcm9tcHQlM0Rwcm9tcHQlMkMlMjBtYXhfc2VxX2xlbiUzRDQ1KSU3RCUyMik=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer
<span class="hljs-keyword">from</span> optimum.executorch <span class="hljs-keyword">import</span> ExecuTorchModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;HuggingFaceTB/SmolLM2-135M&quot;</span>)
model = ExecuTorchModelForCausalLM.from_pretrained(<span class="hljs-string">&quot;hf_smollm2/&quot;</span>)
prompt = <span class="hljs-string">&quot;Simply put, the theory of relativity states that&quot;</span>
<span class="hljs-built_in">print</span>(<span class="hljs-string">f&quot;\\nGenerated texts:\\n\\t<span class="hljs-subst">{model.text_generation(tokenizer=tokenizer, prompt=prompt, max_seq_len=<span class="hljs-number">45</span>)}</span>&quot;</span>)`,wrap:!1}}),k=new R({props:{code:"ZnJvbSUyMG9wdGltdW0uZXhlY3V0b3JjaCUyMGltcG9ydCUyMEV4ZWN1VG9yY2hNb2RlbEZvckNhdXNhbExNJTBBJTBBbW9kZWwlMjAlM0QlMjBFeGVjdVRvcmNoTW9kZWxGb3JDYXVzYWxMTS5mcm9tX3ByZXRyYWluZWQoJTIySHVnZ2luZ0ZhY2VUQiUyRlNtb2xMTTItMTM1TSUyMiUyQyUyMHJlY2lwZSUzRCUyMnhubnBhY2slMjIlMkMlMjBhdHRuX2ltcGxlbWVudGF0aW9uJTNEJTIyY3VzdG9tX3NkcGElMjIp",highlighted:`<span class="hljs-keyword">from</span> optimum.executorch <span class="hljs-keyword">import</span> ExecuTorchModelForCausalLM
model = ExecuTorchModelForCausalLM.from_pretrained(<span class="hljs-string">&quot;HuggingFaceTB/SmolLM2-135M&quot;</span>, recipe=<span class="hljs-string">&quot;xnnpack&quot;</span>, attn_implementation=<span class="hljs-string">&quot;custom_sdpa&quot;</span>)`,wrap:!1}}),{c(){d=o("meta"),X=n(),$=o("p"),Y=n(),r(j.$$.fragment),S=n(),y=o("p"),y.innerHTML=me,_=n(),r(T.$$.fragment),L=n(),w=o("p"),w.textContent=he,F=n(),x=o("p"),x.textContent=ue,H=n(),r(J.$$.fragment),Q=n(),U=o("p"),U.textContent=de,z=n(),r(b.$$.fragment),P=n(),f=o("p"),f.textContent=je,q=n(),r(I.$$.fragment),D=n(),r(g.$$.fragment),O=n(),A=o("p"),A.textContent=ye,K=n(),r(C.$$.fragment),ee=n(),V=o("p"),V.innerHTML=Te,te=n(),r(Z.$$.fragment),le=n(),G=o("p"),G.innerHTML=we,se=n(),W=o("p"),W.innerHTML=xe,ne=n(),r(v.$$.fragment),ae=n(),B=o("p"),B.textContent=Je,oe=n(),E=o("p"),E.textContent=Ue,ie=n(),r(k.$$.fragment),Me=n(),N=o("p"),this.h()},l(e){const t=Ze("svelte-u9bgzb",document.head);d=i(t,"META",{name:!0,content:!0}),t.forEach(l),X=a(e),$=i(e,"P",{}),be($).forEach(l),Y=a(e),c(j.$$.fragment,e),S=a(e),y=i(e,"P",{"data-svelte-h":!0}),M(y)!=="svelte-1fbk8i5"&&(y.innerHTML=me),_=a(e),c(T.$$.fragment,e),L=a(e),w=i(e,"P",{"data-svelte-h":!0}),M(w)!=="svelte-iomsxm"&&(w.textContent=he),F=a(e),x=i(e,"P",{"data-svelte-h":!0}),M(x)!=="svelte-1veo8t7"&&(x.textContent=ue),H=a(e),c(J.$$.fragment,e),Q=a(e),U=i(e,"P",{"data-svelte-h":!0}),M(U)!=="svelte-yv2dgc"&&(U.textContent=de),z=a(e),c(b.$$.fragment,e),P=a(e),f=i(e,"P",{"data-svelte-h":!0}),M(f)!=="svelte-b35baa"&&(f.textContent=je),q=a(e),c(I.$$.fragment,e),D=a(e),c(g.$$.fragment,e),O=a(e),A=i(e,"P",{"data-svelte-h":!0}),M(A)!=="svelte-1h7jnae"&&(A.textContent=ye),K=a(e),c(C.$$.fragment,e),ee=a(e),V=i(e,"P",{"data-svelte-h":!0}),M(V)!=="svelte-1162q3v"&&(V.innerHTML=Te),te=a(e),c(Z.$$.fragment,e),le=a(e),G=i(e,"P",{"data-svelte-h":!0}),M(G)!=="svelte-6yddcz"&&(G.innerHTML=we),se=a(e),W=i(e,"P",{"data-svelte-h":!0}),M(W)!=="svelte-1ss0ywk"&&(W.innerHTML=xe),ne=a(e),c(v.$$.fragment,e),ae=a(e),B=i(e,"P",{"data-svelte-h":!0}),M(B)!=="svelte-wzt3ch"&&(B.textContent=Je),oe=a(e),E=i(e,"P",{"data-svelte-h":!0}),M(E)!=="svelte-o488cl"&&(E.textContent=Ue),ie=a(e),c(k.$$.fragment,e),Me=a(e),N=i(e,"P",{}),be(N).forEach(l),this.h()},h(){fe(d,"name","hf:doc:metadata"),fe(d,"content",ve)},m(e,t){Ge(document.head,d),s(e,X,t),s(e,$,t),s(e,Y,t),p(j,e,t),s(e,S,t),s(e,y,t),s(e,_,t),p(T,e,t),s(e,L,t),s(e,w,t),s(e,F,t),s(e,x,t),s(e,H,t),p(J,e,t),s(e,Q,t),s(e,U,t),s(e,z,t),p(b,e,t),s(e,P,t),s(e,f,t),s(e,q,t),p(I,e,t),s(e,D,t),p(g,e,t),s(e,O,t),s(e,A,t),s(e,K,t),p(C,e,t),s(e,ee,t),s(e,V,t),s(e,te,t),p(Z,e,t),s(e,le,t),s(e,G,t),s(e,se,t),s(e,W,t),s(e,ne,t),p(v,e,t),s(e,ae,t),s(e,B,t),s(e,oe,t),s(e,E,t),s(e,ie,t),p(k,e,t),s(e,Me,t),s(e,N,t),re=!0},p:ge,i(e){re||(m(j.$$.fragment,e),m(T.$$.fragment,e),m(J.$$.fragment,e),m(b.$$.fragment,e),m(I.$$.fragment,e),m(g.$$.fragment,e),m(C.$$.fragment,e),m(Z.$$.fragment,e),m(v.$$.fragment,e),m(k.$$.fragment,e),re=!0)},o(e){h(j.$$.fragment,e),h(T.$$.fragment,e),h(J.$$.fragment,e),h(b.$$.fragment,e),h(I.$$.fragment,e),h(g.$$.fragment,e),h(C.$$.fragment,e),h(Z.$$.fragment,e),h(v.$$.fragment,e),h(k.$$.fragment,e),re=!1},d(e){e&&(l(X),l($),l(Y),l(S),l(y),l(_),l(L),l(w),l(F),l(x),l(H),l(Q),l(U),l(z),l(P),l(f),l(q),l(D),l(O),l(A),l(K),l(ee),l(V),l(te),l(le),l(G),l(se),l(W),l(ne),l(ae),l(B),l(oe),l(E),l(ie),l(Me),l(N)),l(d),u(j,e),u(T,e),u(J,e),u(b,e),u(I,e),u(g,e),u(C,e),u(Z,e),u(v,e),u(k,e)}}}const ve='{"title":"Export a model to ExecuTorch with optimum.exporters.executorch","local":"export-a-model-to-executorch-with-optimumexportersexecutorch","sections":[{"title":"Why ExecuTorch?","local":"why-executorch","sections":[],"depth":2},{"title":"Summary","local":"summary","sections":[],"depth":2},{"title":"Exporting a model to ExecuTorch using the CLI","local":"exporting-a-model-to-executorch-using-the-cli","sections":[],"depth":2}],"depth":1}';function Be(pe){return Ae(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ne extends Ce{constructor(d){super(),Ve(this,d,Be,We,Ie,{})}}export{Ne as component};

Xet Storage Details

Size:
16.9 kB
·
Xet hash:
33e1e2cbd5f7b72ad2f8659723fc058868fca970e104d0b836fddd913f20710a

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.