Buckets:
| 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">'audio-classification'</span>, <span class="hljs-string">'feature-extraction'</span>, <span class="hljs-string">'image-to-text'</span>, | |
| <span class="hljs-string">'sentence-similarity'</span>, <span class="hljs-string">'depth-estimation'</span>, <span class="hljs-string">'image-segmentation'</span>, <span class="hljs-string">'audio-frame-classification'</span>, <span class="hljs-string">'masked-im'</span>, <span class="hljs-string">'semantic-segmentation'</span>, <span class="hljs-string">'text-classification'</span>, | |
| <span class="hljs-string">'audio-xvector'</span>, <span class="hljs-string">'mask-generation'</span>, <span class="hljs-string">'question-answering'</span>, <span class="hljs-string">'text-to-audio'</span>, <span class="hljs-string">'automatic-speech-recognition'</span>, <span class="hljs-string">'image-to-image'</span>, <span class="hljs-string">'multiple-choice'</span>, <span class="hljs-string">'image- | |
| classification'</span>, <span class="hljs-string">'text2text-generation'</span>, <span class="hljs-string">'token-classification'</span>, <span class="hljs-string">'object-detection'</span>, <span class="hljs-string">'zero-shot-object-detection'</span>, <span class="hljs-string">'zero-shot-image-classification'</span>, <span class="hljs-string">'text- | |
| generation'</span>, <span class="hljs-string">'fill-mask'</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">"xnnpack"</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">"HuggingFaceTB/SmolLM2-135M"</span>) | |
| model = ExecuTorchModelForCausalLM.from_pretrained(<span class="hljs-string">"hf_smollm2/"</span>) | |
| prompt = <span class="hljs-string">"Simply put, the theory of relativity states that"</span> | |
| <span class="hljs-built_in">print</span>(<span class="hljs-string">f"\\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>"</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">"HuggingFaceTB/SmolLM2-135M"</span>, recipe=<span class="hljs-string">"xnnpack"</span>, attn_implementation=<span class="hljs-string">"custom_sdpa"</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.