import{s as Vt,n as Ht,o as At}from"../chunks/scheduler.5f3e6389.js";import{S as It,i as Wt,e as a,s as o,c as p,h as Ft,a as m,d as t,b as i,f as x,g as l,j as g,k as h,l as s,m as r,n as d,t as u,o as c,p as f}from"../chunks/index.373ab25c.js";import{C as Bt,H as _e}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.8071f002.js";import{D as _}from"../chunks/Docstring.e14d4aef.js";function zt(vt){let y,ye,$e,Ce,E,Oe,S,Te,V,_t="Exporting a model to ONNX involves specifying:",we,H,$t=`<li>The input names.</li> <li>The output names.</li> <li>The dynamic axes. These refer to the input dimensions can be changed dynamically at runtime (e.g. a batch size or sequence length).
All other axes will be treated as static, and hence fixed at runtime.</li> <li>Dummy inputs to trace the model. This is needed in PyTorch to record the computational graph and convert it to ONNX.</li>`,Pe,A,bt=`Since this data depends on the choice of model and task, we represent it in terms of <em>configuration classes</em>. Each configuration class is associated with
a specific model architecture, and follows the naming convention <code>ArchitectureNameOnnxConfig</code>. For instance, the configuration which specifies the ONNX
export of BERT models is <code>BertOnnxConfig</code>.`,Ne,I,yt="Since many architectures share similar properties for their ONNX configuration, 🤗 Optimum adopts a 3-level class hierarchy:",De,W,Ct=`<li>Abstract and generic base classes. These handle all the fundamental features, while being agnostic to the modality (text, image, audio, etc).</li> <li>Middle-end classes. These are aware of the modality, but multiple can exist for the same modality depending on the inputs they support.
They specify which input generators should be used for the dummy inputs, but remain model-agnostic.</li> <li>Model-specific classes like the <code>BertOnnxConfig</code> mentioned above. These are the ones actually used to export models.</li>`,Le,F,ke,v,B,tt,N,z,nt,re,Ot="Dict containing the axis definition of the input tensors to provide to the model.",ot,D,X,it,se,Tt="Dict containing the axis definition of the output tensors to provide to the model.",rt,L,j,st,ae,wt="Generates the dummy inputs necessary for tracing the model. If not explicitly specified, default input shapes are used.",qe,$,K,at,me,Pt='Inherits from <a href="/docs/optimum/main/en/onnx/package_reference/configuration#optimum.exporters.onnx.OnnxConfig">OnnxConfig</a>. A base class to handle the ONNX configuration of decoder-only models.',mt,k,R,pt,pe,Nt="Fills <code>input_or_outputs</code> mapping with past_key_values dynamic axes considering the direction.",Me,b,G,lt,le,Dt='Inherits from <a href="/docs/optimum/main/en/onnx/package_reference/configuration#optimum.exporters.onnx.OnnxConfigWithPast">OnnxConfigWithPast</a>. A base class to handle the ONNX configuration of encoder-decoder models.',dt,q,U,ut,de,Lt="Creates a copy of the current OnnxConfig but with a different <code>ConfigBehavior</code> and <code>use_past</code> value.",Ee,J,Se,Q,Ve,C,Y,ct,ue,kt="Handles encoder-based text architectures.",He,O,Z,ft,ce,qt="Handles decoder-based text architectures.",Ae,T,ee,gt,fe,Mt="Handles encoder-decoder-based text architectures.",Ie,te,We,w,ne,xt,ge,Et="Handles vision architectures.",Fe,oe,Be,P,ie,ht,xe,St="Handles multi-modal text and vision architectures.",ze,be,Xe;return E=new Bt({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),S=new _e({props:{title:"Configuration classes for ONNX exports",local:"configuration-classes-for-onnx-exports",headingTag:"h1"}}),F=new _e({props:{title:"Base classes",local:"optimum.exporters.onnx.OnnxConfig",headingTag:"h2"}}),B=new _({props:{name:"class optimum.exporters.onnx.OnnxConfig",anchor:"optimum.exporters.onnx.OnnxConfig",parameters:[{name:"config",val:": PretrainedConfig"},{name:"task",val:": str = 'feature-extraction'"},{name:"preprocessors",val:": list[Any] | None = None"},{name:"int_dtype",val:": str = 'int64'"},{name:"float_dtype",val:": str = 'fp32'"}],source:"https://github.com/huggingface/optimum-onnx/blob/main/optimum/exporters/onnx/base.py#L92"}}),z=new _({props:{name:"inputs",anchor:"optimum.exporters.onnx.OnnxConfig.inputs",parameters:[],source:"https://github.com/huggingface/optimum-onnx/blob/main/optimum/exporters/base.py#L164",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script>


<p>A mapping of each input name to a mapping of axis position to the axes symbolic name.</p>
`,returnType:`<script context="module">export const metadata = 'undefined';<\/script>


<p><code>Dict[str, Dict[int, str]]</code></p>
`}}),X=new _({props:{name:"outputs",anchor:"optimum.exporters.onnx.OnnxConfig.outputs",parameters:[],source:"https://github.com/huggingface/optimum-onnx/blob/main/optimum/exporters/base.py#L175",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script>


<p>A mapping of each output name to a mapping of axis position to the axes symbolic name.</p>
`,returnType:`<script context="module">export const metadata = 'undefined';<\/script>


<p><code>Dict[str, Dict[int, str]]</code></p>
`}}),j=new _({props:{name:"generate_dummy_inputs",anchor:"optimum.exporters.onnx.OnnxConfig.generate_dummy_inputs",parameters:[{name:"framework",val:": str = 'pt'"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"optimum.exporters.onnx.OnnxConfig.generate_dummy_inputs.framework",description:`<strong>framework</strong> (<code>str</code>, defaults to <code>&quot;pt&quot;</code>) &#x2014;
The framework for which to create the dummy inputs.`,name:"framework"},{anchor:"optimum.exporters.onnx.OnnxConfig.generate_dummy_inputs.batch_size",description:`<strong>batch_size</strong> (<code>int</code>, defaults to 2) &#x2014;
The batch size to use in the dummy inputs.`,name:"batch_size"},{anchor:"optimum.exporters.onnx.OnnxConfig.generate_dummy_inputs.sequence_length",description:`<strong>sequence_length</strong> (<code>int</code>, defaults to 16) &#x2014;
The sequence length to use in the dummy inputs.`,name:"sequence_length"},{anchor:"optimum.exporters.onnx.OnnxConfig.generate_dummy_inputs.num_choices",description:`<strong>num_choices</strong> (<code>int</code>, defaults to 4) &#x2014;
The number of candidate answers provided for multiple choice task.`,name:"num_choices"},{anchor:"optimum.exporters.onnx.OnnxConfig.generate_dummy_inputs.image_width",description:`<strong>image_width</strong> (<code>int</code>, defaults to 64) &#x2014;
The width to use in the dummy inputs for vision tasks.`,name:"image_width"},{anchor:"optimum.exporters.onnx.OnnxConfig.generate_dummy_inputs.image_height",description:`<strong>image_height</strong> (<code>int</code>, defaults to 64) &#x2014;
The height to use in the dummy inputs for vision tasks.`,name:"image_height"},{anchor:"optimum.exporters.onnx.OnnxConfig.generate_dummy_inputs.num_channels",description:`<strong>num_channels</strong> (<code>int</code>, defaults to 3) &#x2014;
The number of channels to use in the dummpy inputs for vision tasks.`,name:"num_channels"},{anchor:"optimum.exporters.onnx.OnnxConfig.generate_dummy_inputs.feature_size",description:`<strong>feature_size</strong> (<code>int</code>, defaults to 80) &#x2014;
The number of features to use in the dummpy inputs for audio tasks in case it is not raw audio.
This is for example the number of STFT bins or MEL bins.`,name:"feature_size"},{anchor:"optimum.exporters.onnx.OnnxConfig.generate_dummy_inputs.nb_max_frames",description:`<strong>nb_max_frames</strong> (<code>int</code>, defaults to 3000) &#x2014;
The number of frames to use in the dummpy inputs for audio tasks in case the input is not raw audio.`,name:"nb_max_frames"},{anchor:"optimum.exporters.onnx.OnnxConfig.generate_dummy_inputs.audio_sequence_length",description:`<strong>audio_sequence_length</strong> (<code>int</code>, defaults to 16000) &#x2014;
The number of frames to use in the dummpy inputs for audio tasks in case the input is raw audio.`,name:"audio_sequence_length"}],source:"https://github.com/huggingface/optimum-onnx/blob/main/optimum/exporters/base.py#L223",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script>


<p>A dictionary mapping the input names to dummy tensors in the proper framework format.</p>
`,returnType:`<script context="module">export const metadata = 'undefined';<\/script>


<p><code>Dict[str, [tf.Tensor, torch.Tensor]]</code></p>
`}}),K=new _({props:{name:"class optimum.exporters.onnx.OnnxConfigWithPast",anchor:"optimum.exporters.onnx.OnnxConfigWithPast",parameters:[{name:"config",val:": PretrainedConfig"},{name:"task",val:": str = 'feature-extraction'"},{name:"int_dtype",val:": str = 'int64'"},{name:"float_dtype",val:": str = 'fp32'"},{name:"use_past",val:": bool = False"},{name:"use_past_in_inputs",val:": bool = False"},{name:"preprocessors",val:": list[Any] | None = None"}],source:"https://github.com/huggingface/optimum-onnx/blob/main/optimum/exporters/onnx/base.py#L426"}}),R=new _({props:{name:"add_past_key_values",anchor:"optimum.exporters.onnx.OnnxConfigWithPast.add_past_key_values",parameters:[{name:"inputs_or_outputs",val:": dict[str, dict[int, str]]"},{name:"direction",val:": str"}],parametersDescription:[{anchor:"optimum.exporters.onnx.OnnxConfigWithPast.add_past_key_values.inputs_or_outputs",description:`<strong>inputs_or_outputs</strong> (<code>Dict[str, Dict[int, str]]</code>) &#x2014;
The mapping to fill.`,name:"inputs_or_outputs"},{anchor:"optimum.exporters.onnx.OnnxConfigWithPast.add_past_key_values.direction",description:`<strong>direction</strong> (<code>str</code>) &#x2014;
either &#x201C;inputs&#x201D; or &#x201C;outputs&#x201D;, it specifies whether <code>input_or_outputs</code> is the input mapping or the
output mapping, this is important for axes naming.`,name:"direction"}],source:"https://github.com/huggingface/optimum-onnx/blob/main/optimum/exporters/onnx/base.py#L551"}}),G=new _({props:{name:"class optimum.exporters.onnx.OnnxSeq2SeqConfigWithPast",anchor:"optimum.exporters.onnx.OnnxSeq2SeqConfigWithPast",parameters:[{name:"config",val:": PretrainedConfig"},{name:"task",val:": str = 'feature-extraction'"},{name:"int_dtype",val:": str = 'int64'"},{name:"float_dtype",val:": str = 'fp32'"},{name:"use_past",val:": bool = False"},{name:"use_past_in_inputs",val:": bool = False"},{name:"behavior",val:": ConfigBehavior = <ConfigBehavior.MONOLITH: 'monolith'>"},{name:"preprocessors",val:": list[Any] | None = None"}],source:"https://github.com/huggingface/optimum-onnx/blob/main/optimum/exporters/onnx/base.py#L623"}}),U=new _({props:{name:"with_behavior",anchor:"optimum.exporters.onnx.OnnxSeq2SeqConfigWithPast.with_behavior",parameters:[{name:"behavior",val:": str | ConfigBehavior"},{name:"use_past",val:": bool = False"},{name:"use_past_in_inputs",val:": bool = False"}],parametersDescription:[{anchor:"optimum.exporters.onnx.OnnxSeq2SeqConfigWithPast.with_behavior.behavior",description:`<strong>behavior</strong> (<code>ConfigBehavior</code>) &#x2014;
The behavior to use for the new instance.`,name:"behavior"},{anchor:"optimum.exporters.onnx.OnnxSeq2SeqConfigWithPast.with_behavior.use_past",description:`<strong>use_past</strong> (<code>bool</code>, defaults to <code>False</code>) &#x2014;
Whether or not the ONNX config to instantiate is for a model using KV cache.`,name:"use_past"},{anchor:"optimum.exporters.onnx.OnnxSeq2SeqConfigWithPast.with_behavior.use_past_in_inputs",description:`<strong>use_past_in_inputs</strong> (<code>bool</code>, defaults to <code>False</code>) &#x2014;
Whether the KV cache is to be passed as an input to the ONNX.`,name:"use_past_in_inputs"}],source:"https://github.com/huggingface/optimum-onnx/blob/main/optimum/exporters/onnx/base.py#L655",returnType:`<script context="module">export const metadata = 'undefined';<\/script>


<p><code>OnnxSeq2SeqConfigWithPast</code></p>
`}}),J=new _e({props:{title:"Middle-end classes",local:"middle-end-classes",headingTag:"h2"}}),Q=new _e({props:{title:"Text",local:"optimum.exporters.onnx.TextEncoderOnnxConfig",headingTag:"h3"}}),Y=new _({props:{name:"class optimum.exporters.onnx.TextEncoderOnnxConfig",anchor:"optimum.exporters.onnx.TextEncoderOnnxConfig",parameters:[{name:"config",val:": PretrainedConfig"},{name:"task",val:": str = 'feature-extraction'"},{name:"preprocessors",val:": list[Any] | None = None"},{name:"int_dtype",val:": str = 'int64'"},{name:"float_dtype",val:": str = 'fp32'"}],source:"https://github.com/huggingface/optimum-onnx/blob/main/optimum/exporters/onnx/config.py#L47"}}),Z=new _({props:{name:"class optimum.exporters.onnx.TextDecoderOnnxConfig",anchor:"optimum.exporters.onnx.TextDecoderOnnxConfig",parameters:[{name:"config",val:": PretrainedConfig"},{name:"task",val:": str = 'feature-extraction'"},{name:"int_dtype",val:": str = 'int64'"},{name:"float_dtype",val:": str = 'fp32'"},{name:"use_past",val:": bool = False"},{name:"use_past_in_inputs",val:": bool = False"},{name:"preprocessors",val:": list[Any] | None = None"}],source:"https://github.com/huggingface/optimum-onnx/blob/main/optimum/exporters/onnx/config.py#L53"}}),ee=new _({props:{name:"class optimum.exporters.onnx.TextSeq2SeqOnnxConfig",anchor:"optimum.exporters.onnx.TextSeq2SeqOnnxConfig",parameters:[{name:"config",val:": PretrainedConfig"},{name:"task",val:": str = 'feature-extraction'"},{name:"int_dtype",val:": str = 'int64'"},{name:"float_dtype",val:": str = 'fp32'"},{name:"use_past",val:": bool = False"},{name:"use_past_in_inputs",val:": bool = False"},{name:"behavior",val:": ConfigBehavior = <ConfigBehavior.MONOLITH: 'monolith'>"},{name:"preprocessors",val:": list[Any] | None = None"}],source:"https://github.com/huggingface/optimum-onnx/blob/main/optimum/exporters/onnx/config.py#L157"}}),te=new _e({props:{title:"Vision",local:"optimum.exporters.onnx.config.VisionOnnxConfig",headingTag:"h3"}}),ne=new _({props:{name:"class optimum.exporters.onnx.config.VisionOnnxConfig",anchor:"optimum.exporters.onnx.config.VisionOnnxConfig",parameters:[{name:"config",val:": PretrainedConfig"},{name:"task",val:": str = 'feature-extraction'"},{name:"preprocessors",val:": list[Any] | None = None"},{name:"int_dtype",val:": str = 'int64'"},{name:"float_dtype",val:": str = 'fp32'"}],source:"https://github.com/huggingface/optimum-onnx/blob/main/optimum/exporters/onnx/config.py#L206"}}),oe=new _e({props:{title:"Multi-modal",local:"optimum.exporters.onnx.config.TextAndVisionOnnxConfig",headingTag:"h3"}}),ie=new _({props:{name:"class optimum.exporters.onnx.config.TextAndVisionOnnxConfig",anchor:"optimum.exporters.onnx.config.TextAndVisionOnnxConfig",parameters:[{name:"config",val:": PretrainedConfig"},{name:"task",val:": str = 'feature-extraction'"},{name:"preprocessors",val:": list[Any] | None = None"},{name:"int_dtype",val:": str = 'int64'"},{name:"float_dtype",val:": str = 'fp32'"}],source:"https://github.com/huggingface/optimum-onnx/blob/main/optimum/exporters/onnx/config.py#L212"}}),{c(){y=a("meta"),ye=o(),$e=a("p"),Ce=o(),p(E.$$.fragment),Oe=o(),p(S.$$.fragment),Te=o(),V=a("p"),V.textContent=_t,we=o(),H=a("ol"),H.innerHTML=$t,Pe=o(),A=a("p"),A.innerHTML=bt,Ne=o(),I=a("p"),I.textContent=yt,De=o(),W=a("ol"),W.innerHTML=Ct,Le=o(),p(F.$$.fragment),ke=o(),v=a("div"),p(B.$$.fragment),tt=o(),N=a("div"),p(z.$$.fragment),nt=o(),re=a("p"),re.textContent=Ot,ot=o(),D=a("div"),p(X.$$.fragment),it=o(),se=a("p"),se.textContent=Tt,rt=o(),L=a("div"),p(j.$$.fragment),st=o(),ae=a("p"),ae.textContent=wt,qe=o(),$=a("div"),p(K.$$.fragment),at=o(),me=a("p"),me.innerHTML=Pt,mt=o(),k=a("div"),p(R.$$.fragment),pt=o(),pe=a("p"),pe.innerHTML=Nt,Me=o(),b=a("div"),p(G.$$.fragment),lt=o(),le=a("p"),le.innerHTML=Dt,dt=o(),q=a("div"),p(U.$$.fragment),ut=o(),de=a("p"),de.innerHTML=Lt,Ee=o(),p(J.$$.fragment),Se=o(),p(Q.$$.fragment),Ve=o(),C=a("div"),p(Y.$$.fragment),ct=o(),ue=a("p"),ue.textContent=kt,He=o(),O=a("div"),p(Z.$$.fragment),ft=o(),ce=a("p"),ce.textContent=qt,Ae=o(),T=a("div"),p(ee.$$.fragment),gt=o(),fe=a("p"),fe.textContent=Mt,Ie=o(),p(te.$$.fragment),We=o(),w=a("div"),p(ne.$$.fragment),xt=o(),ge=a("p"),ge.textContent=Et,Fe=o(),p(oe.$$.fragment),Be=o(),P=a("div"),p(ie.$$.fragment),ht=o(),xe=a("p"),xe.textContent=St,ze=o(),be=a("p"),this.h()},l(e){const n=Ft("svelte-u9bgzb",document.head);y=m(n,"META",{name:!0,content:!0}),n.forEach(t),ye=i(e),$e=m(e,"P",{}),x($e).forEach(t),Ce=i(e),l(E.$$.fragment,e),Oe=i(e),l(S.$$.fragment,e),Te=i(e),V=m(e,"P",{"data-svelte-h":!0}),g(V)!=="svelte-dlt5nt"&&(V.textContent=_t),we=i(e),H=m(e,"OL",{"data-svelte-h":!0}),g(H)!=="svelte-8uy4wn"&&(H.innerHTML=$t),Pe=i(e),A=m(e,"P",{"data-svelte-h":!0}),g(A)!=="svelte-dj35tg"&&(A.innerHTML=bt),Ne=i(e),I=m(e,"P",{"data-svelte-h":!0}),g(I)!=="svelte-1xr1iy9"&&(I.textContent=yt),De=i(e),W=m(e,"OL",{"data-svelte-h":!0}),g(W)!=="svelte-172xxrj"&&(W.innerHTML=Ct),Le=i(e),l(F.$$.fragment,e),ke=i(e),v=m(e,"DIV",{class:!0});var M=x(v);l(B.$$.fragment,M),tt=i(M),N=m(M,"DIV",{class:!0});var je=x(N);l(z.$$.fragment,je),nt=i(je),re=m(je,"P",{"data-svelte-h":!0}),g(re)!=="svelte-41mopq"&&(re.textContent=Ot),je.forEach(t),ot=i(M),D=m(M,"DIV",{class:!0});var Ke=x(D);l(X.$$.fragment,Ke),it=i(Ke),se=m(Ke,"P",{"data-svelte-h":!0}),g(se)!=="svelte-ayslnd"&&(se.textContent=Tt),Ke.forEach(t),rt=i(M),L=m(M,"DIV",{class:!0});var Re=x(L);l(j.$$.fragment,Re),st=i(Re),ae=m(Re,"P",{"data-svelte-h":!0}),g(ae)!=="svelte-1f1xmqv"&&(ae.textContent=wt),Re.forEach(t),M.forEach(t),qe=i(e),$=m(e,"DIV",{class:!0});var he=x($);l(K.$$.fragment,he),at=i(he),me=m(he,"P",{"data-svelte-h":!0}),g(me)!=="svelte-1vru267"&&(me.innerHTML=Pt),mt=i(he),k=m(he,"DIV",{class:!0});var Ge=x(k);l(R.$$.fragment,Ge),pt=i(Ge),pe=m(Ge,"P",{"data-svelte-h":!0}),g(pe)!=="svelte-1vefvm0"&&(pe.innerHTML=Nt),Ge.forEach(t),he.forEach(t),Me=i(e),b=m(e,"DIV",{class:!0});var ve=x(b);l(G.$$.fragment,ve),lt=i(ve),le=m(ve,"P",{"data-svelte-h":!0}),g(le)!=="svelte-1su9nsp"&&(le.innerHTML=Dt),dt=i(ve),q=m(ve,"DIV",{class:!0});var Ue=x(q);l(U.$$.fragment,Ue),ut=i(Ue),de=m(Ue,"P",{"data-svelte-h":!0}),g(de)!=="svelte-1mrnpw0"&&(de.innerHTML=Lt),Ue.forEach(t),ve.forEach(t),Ee=i(e),l(J.$$.fragment,e),Se=i(e),l(Q.$$.fragment,e),Ve=i(e),C=m(e,"DIV",{class:!0});var Je=x(C);l(Y.$$.fragment,Je),ct=i(Je),ue=m(Je,"P",{"data-svelte-h":!0}),g(ue)!=="svelte-sreje6"&&(ue.textContent=kt),Je.forEach(t),He=i(e),O=m(e,"DIV",{class:!0});var Qe=x(O);l(Z.$$.fragment,Qe),ft=i(Qe),ce=m(Qe,"P",{"data-svelte-h":!0}),g(ce)!=="svelte-1fe0pgy"&&(ce.textContent=qt),Qe.forEach(t),Ae=i(e),T=m(e,"DIV",{class:!0});var Ye=x(T);l(ee.$$.fragment,Ye),gt=i(Ye),fe=m(Ye,"P",{"data-svelte-h":!0}),g(fe)!=="svelte-1yn8wb"&&(fe.textContent=Mt),Ye.forEach(t),Ie=i(e),l(te.$$.fragment,e),We=i(e),w=m(e,"DIV",{class:!0});var Ze=x(w);l(ne.$$.fragment,Ze),xt=i(Ze),ge=m(Ze,"P",{"data-svelte-h":!0}),g(ge)!=="svelte-10ord85"&&(ge.textContent=Et),Ze.forEach(t),Fe=i(e),l(oe.$$.fragment,e),Be=i(e),P=m(e,"DIV",{class:!0});var et=x(P);l(ie.$$.fragment,et),ht=i(et),xe=m(et,"P",{"data-svelte-h":!0}),g(xe)!=="svelte-1fm9mpu"&&(xe.textContent=St),et.forEach(t),ze=i(e),be=m(e,"P",{}),x(be).forEach(t),this.h()},h(){h(y,"name","hf:doc:metadata"),h(y,"content",Xt),h(N,"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(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(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(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($,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),h(q,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),h(b,"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(O,"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(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(P,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8")},m(e,n){s(document.head,y),r(e,ye,n),r(e,$e,n),r(e,Ce,n),d(E,e,n),r(e,Oe,n),d(S,e,n),r(e,Te,n),r(e,V,n),r(e,we,n),r(e,H,n),r(e,Pe,n),r(e,A,n),r(e,Ne,n),r(e,I,n),r(e,De,n),r(e,W,n),r(e,Le,n),d(F,e,n),r(e,ke,n),r(e,v,n),d(B,v,null),s(v,tt),s(v,N),d(z,N,null),s(N,nt),s(N,re),s(v,ot),s(v,D),d(X,D,null),s(D,it),s(D,se),s(v,rt),s(v,L),d(j,L,null),s(L,st),s(L,ae),r(e,qe,n),r(e,$,n),d(K,$,null),s($,at),s($,me),s($,mt),s($,k),d(R,k,null),s(k,pt),s(k,pe),r(e,Me,n),r(e,b,n),d(G,b,null),s(b,lt),s(b,le),s(b,dt),s(b,q),d(U,q,null),s(q,ut),s(q,de),r(e,Ee,n),d(J,e,n),r(e,Se,n),d(Q,e,n),r(e,Ve,n),r(e,C,n),d(Y,C,null),s(C,ct),s(C,ue),r(e,He,n),r(e,O,n),d(Z,O,null),s(O,ft),s(O,ce),r(e,Ae,n),r(e,T,n),d(ee,T,null),s(T,gt),s(T,fe),r(e,Ie,n),d(te,e,n),r(e,We,n),r(e,w,n),d(ne,w,null),s(w,xt),s(w,ge),r(e,Fe,n),d(oe,e,n),r(e,Be,n),r(e,P,n),d(ie,P,null),s(P,ht),s(P,xe),r(e,ze,n),r(e,be,n),Xe=!0},p:Ht,i(e){Xe||(u(E.$$.fragment,e),u(S.$$.fragment,e),u(F.$$.fragment,e),u(B.$$.fragment,e),u(z.$$.fragment,e),u(X.$$.fragment,e),u(j.$$.fragment,e),u(K.$$.fragment,e),u(R.$$.fragment,e),u(G.$$.fragment,e),u(U.$$.fragment,e),u(J.$$.fragment,e),u(Q.$$.fragment,e),u(Y.$$.fragment,e),u(Z.$$.fragment,e),u(ee.$$.fragment,e),u(te.$$.fragment,e),u(ne.$$.fragment,e),u(oe.$$.fragment,e),u(ie.$$.fragment,e),Xe=!0)},o(e){c(E.$$.fragment,e),c(S.$$.fragment,e),c(F.$$.fragment,e),c(B.$$.fragment,e),c(z.$$.fragment,e),c(X.$$.fragment,e),c(j.$$.fragment,e),c(K.$$.fragment,e),c(R.$$.fragment,e),c(G.$$.fragment,e),c(U.$$.fragment,e),c(J.$$.fragment,e),c(Q.$$.fragment,e),c(Y.$$.fragment,e),c(Z.$$.fragment,e),c(ee.$$.fragment,e),c(te.$$.fragment,e),c(ne.$$.fragment,e),c(oe.$$.fragment,e),c(ie.$$.fragment,e),Xe=!1},d(e){e&&(t(ye),t($e),t(Ce),t(Oe),t(Te),t(V),t(we),t(H),t(Pe),t(A),t(Ne),t(I),t(De),t(W),t(Le),t(ke),t(v),t(qe),t($),t(Me),t(b),t(Ee),t(Se),t(Ve),t(C),t(He),t(O),t(Ae),t(T),t(Ie),t(We),t(w),t(Fe),t(Be),t(P),t(ze),t(be)),t(y),f(E,e),f(S,e),f(F,e),f(B),f(z),f(X),f(j),f(K),f(R),f(G),f(U),f(J,e),f(Q,e),f(Y),f(Z),f(ee),f(te,e),f(ne),f(oe,e),f(ie)}}}const Xt='{"title":"Configuration classes for ONNX exports","local":"configuration-classes-for-onnx-exports","sections":[{"title":"Base classes","local":"optimum.exporters.onnx.OnnxConfig","sections":[],"depth":2},{"title":"Middle-end classes","local":"middle-end-classes","sections":[{"title":"Text","local":"optimum.exporters.onnx.TextEncoderOnnxConfig","sections":[],"depth":3},{"title":"Vision","local":"optimum.exporters.onnx.config.VisionOnnxConfig","sections":[],"depth":3},{"title":"Multi-modal","local":"optimum.exporters.onnx.config.TextAndVisionOnnxConfig","sections":[],"depth":3}],"depth":2}],"depth":1}';function jt(vt){return At(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Jt extends It{constructor(y){super(),Wt(this,y,jt,zt,Vt,{})}}export{Jt as component};
