import{s as Ja,o as Wa,n as I}from"../chunks/scheduler.9bc65507.js";import{S as Va,i as za,g as p,s as o,u as h,A as Ra,h as c,f as t,c as i,j as x,v as g,y as f,k,o as q,a,w as y,d as $,t as v,x as b}from"../chunks/index.78c82d43.js";import{T as jt}from"../chunks/Tip.87d55b76.js";import{I as le}from"../chunks/IconCopyLink.bedaa44d.js";import{C as J}from"../chunks/CodeBlock.73e038be.js";import{F as xa,M as Js}from"../chunks/Markdown.1b9b4e1c.js";function Ua(Z){let n,d='You can also save your configuration file as a dictionary or even just the difference between your custom configuration attributes and the default configuration attributes! See the <a href="main_classes/configuration">configuration</a> documentation for more details.';return{c(){n=p("p"),n.innerHTML=d},l(r){n=c(r,"P",{"data-svelte-h":!0}),f(n)!=="svelte-4asqog"&&(n.innerHTML=d)},m(r,m){a(r,n,m)},p:I,d(r){r&&t(n)}}}function Fa(Z){let n,d="Load your custom configuration attributes into the model:",r,m,_,w,R="This creates a model with random values instead of pretrained weights. You won’t be able to use this model for anything useful yet until you train it. Training is a costly and time-consuming process. It is generally better to use a pretrained model to obtain better results faster, while using only a fraction of the resources required for training.",C,T,W='Create a pretrained model with <a href="/docs/transformers/v4.34.0/en/main_classes/model#transformers.PreTrainedModel.from_pretrained">from_pretrained()</a>:',u,j,U,V,G="When you load pretrained weights, the default model configuration is automatically loaded if the model is provided by 🤗 Transformers. However, you can still replace - some or all of - the default model configuration attributes with your own if you’d like:",F,z,E;return m=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERpc3RpbEJlcnRNb2RlbCUwQSUwQW15X2NvbmZpZyUyMCUzRCUyMERpc3RpbEJlcnRDb25maWcuZnJvbV9wcmV0cmFpbmVkKCUyMi4lMkZ5b3VyX21vZGVsX3NhdmVfcGF0aCUyRmNvbmZpZy5qc29uJTIyKSUwQW1vZGVsJTIwJTNEJTIwRGlzdGlsQmVydE1vZGVsKG15X2NvbmZpZyk=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DistilBertModel

<span class="hljs-meta">&gt;&gt;&gt; </span>my_config = DistilBertConfig.from_pretrained(<span class="hljs-string">&quot;./your_model_save_path/config.json&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = DistilBertModel(my_config)`,wrap:!1}}),j=new J({props:{code:"bW9kZWwlMjAlM0QlMjBEaXN0aWxCZXJ0TW9kZWwuZnJvbV9wcmV0cmFpbmVkKCUyMmRpc3RpbGJlcnQtYmFzZS11bmNhc2VkJTIyKQ==",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>model = DistilBertModel.from_pretrained(<span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>)',wrap:!1}}),z=new J({props:{code:"bW9kZWwlMjAlM0QlMjBEaXN0aWxCZXJ0TW9kZWwuZnJvbV9wcmV0cmFpbmVkKCUyMmRpc3RpbGJlcnQtYmFzZS11bmNhc2VkJTIyJTJDJTIwY29uZmlnJTNEbXlfY29uZmlnKQ==",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>model = DistilBertModel.from_pretrained(<span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>, config=my_config)',wrap:!1}}),{c(){n=p("p"),n.textContent=d,r=o(),h(m.$$.fragment),_=o(),w=p("p"),w.textContent=R,C=o(),T=p("p"),T.innerHTML=W,u=o(),h(j.$$.fragment),U=o(),V=p("p"),V.textContent=G,F=o(),h(z.$$.fragment)},l(l){n=c(l,"P",{"data-svelte-h":!0}),f(n)!=="svelte-16yp9sj"&&(n.textContent=d),r=i(l),g(m.$$.fragment,l),_=i(l),w=c(l,"P",{"data-svelte-h":!0}),f(w)!=="svelte-17byrht"&&(w.textContent=R),C=i(l),T=c(l,"P",{"data-svelte-h":!0}),f(T)!=="svelte-1qucdow"&&(T.innerHTML=W),u=i(l),g(j.$$.fragment,l),U=i(l),V=c(l,"P",{"data-svelte-h":!0}),f(V)!=="svelte-1dfgiok"&&(V.textContent=G),F=i(l),g(z.$$.fragment,l)},m(l,M){a(l,n,M),a(l,r,M),y(m,l,M),a(l,_,M),a(l,w,M),a(l,C,M),a(l,T,M),a(l,u,M),y(j,l,M),a(l,U,M),a(l,V,M),a(l,F,M),y(z,l,M),E=!0},p:I,i(l){E||($(m.$$.fragment,l),$(j.$$.fragment,l),$(z.$$.fragment,l),E=!0)},o(l){v(m.$$.fragment,l),v(j.$$.fragment,l),v(z.$$.fragment,l),E=!1},d(l){l&&(t(n),t(r),t(_),t(w),t(C),t(T),t(u),t(U),t(V),t(F)),b(m,l),b(j,l),b(z,l)}}}function Ea(Z){let n,d;return n=new Js({props:{$$slots:{default:[Fa]},$$scope:{ctx:Z}}}),{c(){h(n.$$.fragment)},l(r){g(n.$$.fragment,r)},m(r,m){y(n,r,m),d=!0},p(r,m){const _={};m&2&&(_.$$scope={dirty:m,ctx:r}),n.$set(_)},i(r){d||($(n.$$.fragment,r),d=!0)},o(r){v(n.$$.fragment,r),d=!1},d(r){b(n,r)}}}function Ga(Z){let n,d="Load your custom configuration attributes into the model:",r,m,_,w,R="This creates a model with random values instead of pretrained weights. You won’t be able to use this model for anything useful yet until you train it. Training is a costly and time-consuming process. It is generally better to use a pretrained model to obtain better results faster, while using only a fraction of the resources required for training.",C,T,W='Create a pretrained model with <a href="/docs/transformers/v4.34.0/en/main_classes/model#transformers.TFPreTrainedModel.from_pretrained">from_pretrained()</a>:',u,j,U,V,G="When you load pretrained weights, the default model configuration is automatically loaded if the model is provided by 🤗 Transformers. However, you can still replace - some or all of - the default model configuration attributes with your own if you’d like:",F,z,E;return m=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGRGlzdGlsQmVydE1vZGVsJTBBJTBBbXlfY29uZmlnJTIwJTNEJTIwRGlzdGlsQmVydENvbmZpZy5mcm9tX3ByZXRyYWluZWQoJTIyLiUyRnlvdXJfbW9kZWxfc2F2ZV9wYXRoJTJGbXlfY29uZmlnLmpzb24lMjIpJTBBdGZfbW9kZWwlMjAlM0QlMjBURkRpc3RpbEJlcnRNb2RlbChteV9jb25maWcp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFDistilBertModel

<span class="hljs-meta">&gt;&gt;&gt; </span>my_config = DistilBertConfig.from_pretrained(<span class="hljs-string">&quot;./your_model_save_path/my_config.json&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>tf_model = TFDistilBertModel(my_config)`,wrap:!1}}),j=new J({props:{code:"dGZfbW9kZWwlMjAlM0QlMjBURkRpc3RpbEJlcnRNb2RlbC5mcm9tX3ByZXRyYWluZWQoJTIyZGlzdGlsYmVydC1iYXNlLXVuY2FzZWQlMjIp",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>tf_model = TFDistilBertModel.from_pretrained(<span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>)',wrap:!1}}),z=new J({props:{code:"dGZfbW9kZWwlMjAlM0QlMjBURkRpc3RpbEJlcnRNb2RlbC5mcm9tX3ByZXRyYWluZWQoJTIyZGlzdGlsYmVydC1iYXNlLXVuY2FzZWQlMjIlMkMlMjBjb25maWclM0RteV9jb25maWcp",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>tf_model = TFDistilBertModel.from_pretrained(<span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>, config=my_config)',wrap:!1}}),{c(){n=p("p"),n.textContent=d,r=o(),h(m.$$.fragment),_=o(),w=p("p"),w.textContent=R,C=o(),T=p("p"),T.innerHTML=W,u=o(),h(j.$$.fragment),U=o(),V=p("p"),V.textContent=G,F=o(),h(z.$$.fragment)},l(l){n=c(l,"P",{"data-svelte-h":!0}),f(n)!=="svelte-16yp9sj"&&(n.textContent=d),r=i(l),g(m.$$.fragment,l),_=i(l),w=c(l,"P",{"data-svelte-h":!0}),f(w)!=="svelte-17byrht"&&(w.textContent=R),C=i(l),T=c(l,"P",{"data-svelte-h":!0}),f(T)!=="svelte-uxcs2m"&&(T.innerHTML=W),u=i(l),g(j.$$.fragment,l),U=i(l),V=c(l,"P",{"data-svelte-h":!0}),f(V)!=="svelte-1dfgiok"&&(V.textContent=G),F=i(l),g(z.$$.fragment,l)},m(l,M){a(l,n,M),a(l,r,M),y(m,l,M),a(l,_,M),a(l,w,M),a(l,C,M),a(l,T,M),a(l,u,M),y(j,l,M),a(l,U,M),a(l,V,M),a(l,F,M),y(z,l,M),E=!0},p:I,i(l){E||($(m.$$.fragment,l),$(j.$$.fragment,l),$(z.$$.fragment,l),E=!0)},o(l){v(m.$$.fragment,l),v(j.$$.fragment,l),v(z.$$.fragment,l),E=!1},d(l){l&&(t(n),t(r),t(_),t(w),t(C),t(T),t(u),t(U),t(V),t(F)),b(m,l),b(j,l),b(z,l)}}}function Ha(Z){let n,d;return n=new Js({props:{$$slots:{default:[Ga]},$$scope:{ctx:Z}}}),{c(){h(n.$$.fragment)},l(r){g(n.$$.fragment,r)},m(r,m){y(n,r,m),d=!0},p(r,m){const _={};m&2&&(_.$$scope={dirty:m,ctx:r}),n.$set(_)},i(r){d||($(n.$$.fragment,r),d=!0)},o(r){v(n.$$.fragment,r),d=!1},d(r){b(n,r)}}}function Ba(Z){let n,d='For example, <a href="/docs/transformers/v4.34.0/en/model_doc/distilbert#transformers.DistilBertForSequenceClassification">DistilBertForSequenceClassification</a> is a base DistilBERT model with a sequence classification head. The sequence classification head is a linear layer on top of the pooled outputs.',r,m,_,w,R='Easily reuse this checkpoint for another task by switching to a different model head. For a question answering task, you would use the <a href="/docs/transformers/v4.34.0/en/model_doc/distilbert#transformers.DistilBertForQuestionAnswering">DistilBertForQuestionAnswering</a> model head. The question answering head is similar to the sequence classification head except it is a linear layer on top of the hidden states output.',C,T,W;return m=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERpc3RpbEJlcnRGb3JTZXF1ZW5jZUNsYXNzaWZpY2F0aW9uJTBBJTBBbW9kZWwlMjAlM0QlMjBEaXN0aWxCZXJ0Rm9yU2VxdWVuY2VDbGFzc2lmaWNhdGlvbi5mcm9tX3ByZXRyYWluZWQoJTIyZGlzdGlsYmVydC1iYXNlLXVuY2FzZWQlMjIp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DistilBertForSequenceClassification

<span class="hljs-meta">&gt;&gt;&gt; </span>model = DistilBertForSequenceClassification.from_pretrained(<span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>)`,wrap:!1}}),T=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERpc3RpbEJlcnRGb3JRdWVzdGlvbkFuc3dlcmluZyUwQSUwQW1vZGVsJTIwJTNEJTIwRGlzdGlsQmVydEZvclF1ZXN0aW9uQW5zd2VyaW5nLmZyb21fcHJldHJhaW5lZCglMjJkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZCUyMik=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DistilBertForQuestionAnswering

<span class="hljs-meta">&gt;&gt;&gt; </span>model = DistilBertForQuestionAnswering.from_pretrained(<span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>)`,wrap:!1}}),{c(){n=p("p"),n.innerHTML=d,r=o(),h(m.$$.fragment),_=o(),w=p("p"),w.innerHTML=R,C=o(),h(T.$$.fragment)},l(u){n=c(u,"P",{"data-svelte-h":!0}),f(n)!=="svelte-o1ktf9"&&(n.innerHTML=d),r=i(u),g(m.$$.fragment,u),_=i(u),w=c(u,"P",{"data-svelte-h":!0}),f(w)!=="svelte-dc1qzf"&&(w.innerHTML=R),C=i(u),g(T.$$.fragment,u)},m(u,j){a(u,n,j),a(u,r,j),y(m,u,j),a(u,_,j),a(u,w,j),a(u,C,j),y(T,u,j),W=!0},p:I,i(u){W||($(m.$$.fragment,u),$(T.$$.fragment,u),W=!0)},o(u){v(m.$$.fragment,u),v(T.$$.fragment,u),W=!1},d(u){u&&(t(n),t(r),t(_),t(w),t(C)),b(m,u),b(T,u)}}}function Xa(Z){let n,d;return n=new Js({props:{$$slots:{default:[Ba]},$$scope:{ctx:Z}}}),{c(){h(n.$$.fragment)},l(r){g(n.$$.fragment,r)},m(r,m){y(n,r,m),d=!0},p(r,m){const _={};m&2&&(_.$$scope={dirty:m,ctx:r}),n.$set(_)},i(r){d||($(n.$$.fragment,r),d=!0)},o(r){v(n.$$.fragment,r),d=!1},d(r){b(n,r)}}}function Ya(Z){let n,d='For example, <a href="/docs/transformers/v4.34.0/en/model_doc/distilbert#transformers.TFDistilBertForSequenceClassification">TFDistilBertForSequenceClassification</a> is a base DistilBERT model with a sequence classification head. The sequence classification head is a linear layer on top of the pooled outputs.',r,m,_,w,R='Easily reuse this checkpoint for another task by switching to a different model head. For a question answering task, you would use the <a href="/docs/transformers/v4.34.0/en/model_doc/distilbert#transformers.TFDistilBertForQuestionAnswering">TFDistilBertForQuestionAnswering</a> model head. The question answering head is similar to the sequence classification head except it is a linear layer on top of the hidden states output.',C,T,W;return m=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGRGlzdGlsQmVydEZvclNlcXVlbmNlQ2xhc3NpZmljYXRpb24lMEElMEF0Zl9tb2RlbCUyMCUzRCUyMFRGRGlzdGlsQmVydEZvclNlcXVlbmNlQ2xhc3NpZmljYXRpb24uZnJvbV9wcmV0cmFpbmVkKCUyMmRpc3RpbGJlcnQtYmFzZS11bmNhc2VkJTIyKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFDistilBertForSequenceClassification

<span class="hljs-meta">&gt;&gt;&gt; </span>tf_model = TFDistilBertForSequenceClassification.from_pretrained(<span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>)`,wrap:!1}}),T=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGRGlzdGlsQmVydEZvclF1ZXN0aW9uQW5zd2VyaW5nJTBBJTBBdGZfbW9kZWwlMjAlM0QlMjBURkRpc3RpbEJlcnRGb3JRdWVzdGlvbkFuc3dlcmluZy5mcm9tX3ByZXRyYWluZWQoJTIyZGlzdGlsYmVydC1iYXNlLXVuY2FzZWQlMjIp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFDistilBertForQuestionAnswering

<span class="hljs-meta">&gt;&gt;&gt; </span>tf_model = TFDistilBertForQuestionAnswering.from_pretrained(<span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>)`,wrap:!1}}),{c(){n=p("p"),n.innerHTML=d,r=o(),h(m.$$.fragment),_=o(),w=p("p"),w.innerHTML=R,C=o(),h(T.$$.fragment)},l(u){n=c(u,"P",{"data-svelte-h":!0}),f(n)!=="svelte-1dxxmkd"&&(n.innerHTML=d),r=i(u),g(m.$$.fragment,u),_=i(u),w=c(u,"P",{"data-svelte-h":!0}),f(w)!=="svelte-9al4nf"&&(w.innerHTML=R),C=i(u),g(T.$$.fragment,u)},m(u,j){a(u,n,j),a(u,r,j),y(m,u,j),a(u,_,j),a(u,w,j),a(u,C,j),y(T,u,j),W=!0},p:I,i(u){W||($(m.$$.fragment,u),$(T.$$.fragment,u),W=!0)},o(u){v(m.$$.fragment,u),v(T.$$.fragment,u),W=!1},d(u){u&&(t(n),t(r),t(_),t(w),t(C)),b(m,u),b(T,u)}}}function Pa(Z){let n,d;return n=new Js({props:{$$slots:{default:[Ya]},$$scope:{ctx:Z}}}),{c(){h(n.$$.fragment)},l(r){g(n.$$.fragment,r)},m(r,m){y(n,r,m),d=!0},p(r,m){const _={};m&2&&(_.$$scope={dirty:m,ctx:r}),n.$set(_)},i(r){d||($(n.$$.fragment,r),d=!0)},o(r){v(n.$$.fragment,r),d=!1},d(r){b(n,r)}}}function La(Z){let n,d='Not every model supports a fast tokenizer. Take a look at this <a href="index#supported-frameworks">table</a> to check if a model has fast tokenizer support.';return{c(){n=p("p"),n.innerHTML=d},l(r){n=c(r,"P",{"data-svelte-h":!0}),f(n)!=="svelte-18y3slz"&&(n.innerHTML=d)},m(r,m){a(r,n,m)},p:I,d(r){r&&t(n)}}}function Ia(Z){let n,d='By default, <a href="/docs/transformers/v4.34.0/en/model_doc/auto#transformers.AutoTokenizer">AutoTokenizer</a> will try to load a fast tokenizer. You can disable this behavior by setting <code>use_fast=False</code> in <code>from_pretrained</code>.';return{c(){n=p("p"),n.innerHTML=d},l(r){n=c(r,"P",{"data-svelte-h":!0}),f(n)!=="svelte-5hla4c"&&(n.innerHTML=d)},m(r,m){a(r,n,m)},p:I,d(r){r&&t(n)}}}function Na(Z){let n,d="If you aren’t looking for any customization, just use the <code>from_pretrained</code> method to load a model’s default image processor parameters.";return{c(){n=p("p"),n.innerHTML=d},l(r){n=c(r,"P",{"data-svelte-h":!0}),f(n)!=="svelte-10var38"&&(n.innerHTML=d)},m(r,m){a(r,n,m)},p:I,d(r){r&&t(n)}}}function Qa(Z){let n,d="If you aren’t looking for any customization, just use the <code>from_pretrained</code> method to load a model’s default feature extractor parameters.";return{c(){n=p("p"),n.innerHTML=d},l(r){n=c(r,"P",{"data-svelte-h":!0}),f(n)!=="svelte-1e7p61z"&&(n.innerHTML=d)},m(r,m){a(r,n,m)},p:I,d(r){r&&t(n)}}}function Sa(Z){let n,d,r,m,_,w,R,C,T,W,u="Create a custom architecture",j,U,V='An <a href="model_doc/auto"><code>AutoClass</code></a> automatically infers the model architecture and downloads pretrained configuration and weights. Generally, we recommend using an <code>AutoClass</code> to produce checkpoint-agnostic code. But users who want more control over specific model parameters can create a custom 🤗 Transformers model from just a few base classes. This could be particularly useful for anyone who is interested in studying, training or experimenting with a 🤗 Transformers model. In this guide, dive deeper into creating a custom model without an <code>AutoClass</code>. Learn how to:',G,F,z="<li>Load and customize a model configuration.</li> <li>Create a model architecture.</li> <li>Create a slow and fast tokenizer for text.</li> <li>Create an image processor for vision tasks.</li> <li>Create a feature extractor for audio tasks.</li> <li>Create a processor for multimodal tasks.</li>",E,l,M,mt,oe,Ws,nt,Gs="Configuration",Mt,ie,Hs='A <a href="main_classes/configuration">configuration</a> refers to a model’s specific attributes. Each model configuration has different attributes; for instance, all NLP models have the <code>hidden_size</code>, <code>num_attention_heads</code>, <code>num_hidden_layers</code> and <code>vocab_size</code> attributes in common. These attributes specify the number of attention heads or hidden layers to construct a model with.',Tt,pe,Bs='Get a closer look at <a href="model_doc/distilbert">DistilBERT</a> by accessing <a href="/docs/transformers/v4.34.0/en/model_doc/distilbert#transformers.DistilBertConfig">DistilBertConfig</a> to inspect it’s attributes:',kt,ce,qt,me,Xs='<a href="/docs/transformers/v4.34.0/en/model_doc/distilbert#transformers.DistilBertConfig">DistilBertConfig</a> displays all the default attributes used to build a base <a href="/docs/transformers/v4.34.0/en/model_doc/distilbert#transformers.DistilBertModel">DistilBertModel</a>. All attributes are customizable, creating space for experimentation. For example, you can customize a default model to:',Ct,ue,Ys="<li>Try a different activation function with the <code>activation</code> parameter.</li> <li>Use a higher dropout ratio for the attention probabilities with the <code>attention_dropout</code> parameter.</li>",Zt,fe,xt,de,Ps='Pretrained model attributes can be modified in the <a href="/docs/transformers/v4.34.0/en/main_classes/configuration#transformers.PretrainedConfig.from_pretrained">from_pretrained()</a> function:',Jt,he,Wt,ge,Ls='Once you are satisfied with your model configuration, you can save it with <a href="/docs/transformers/v4.34.0/en/main_classes/configuration#transformers.PretrainedConfig.save_pretrained">save_pretrained()</a>. Your configuration file is stored as a JSON file in the specified save directory:',Vt,ye,zt,$e,Is='To reuse the configuration file, load it with <a href="/docs/transformers/v4.34.0/en/main_classes/configuration#transformers.PretrainedConfig.from_pretrained">from_pretrained()</a>:',Rt,ve,Ut,N,Ft,H,Q,ut,be,Vs,rt,Ns="Model",Et,_e,Qs='The next step is to create a <a href="main_classes/models">model</a>. The model - also loosely referred to as the architecture - defines what each layer is doing and what operations are happening. Attributes like <code>num_hidden_layers</code> from the configuration are used to define the architecture. Every model shares the base class <a href="/docs/transformers/v4.34.0/en/main_classes/model#transformers.PreTrainedModel">PreTrainedModel</a> and a few common methods like resizing input embeddings and pruning self-attention heads. In addition, all models are also either a <a href="https://pytorch.org/docs/stable/generated/torch.nn.Module.html" rel="nofollow"><code>torch.nn.Module</code></a>, <a href="https://www.tensorflow.org/api_docs/python/tf/keras/Model" rel="nofollow"><code>tf.keras.Model</code></a> or <a href="https://flax.readthedocs.io/en/latest/flax.linen.html#module" rel="nofollow"><code>flax.linen.Module</code></a> subclass. This means models are compatible with each of their respective framework’s usage.',Gt,S,Ht,B,D,ft,we,zs,lt,Ss="Model heads",Bt,je,Ds="At this point, you have a base DistilBERT model which outputs the <em>hidden states</em>. The hidden states are passed as inputs to a model head to produce the final output. 🤗 Transformers provides a different model head for each task as long as a model supports the task (i.e., you can’t use DistilBERT for a sequence-to-sequence task like translation).",Xt,A,Yt,X,K,dt,Me,Rs,ot,As="Tokenizer",Pt,Te,Ks='The last base class you need before using a model for textual data is a <a href="main_classes/tokenizer">tokenizer</a> to convert raw text to tensors. There are two types of tokenizers you can use with 🤗 Transformers:',Lt,ke,Os='<li><a href="/docs/transformers/v4.34.0/en/main_classes/tokenizer#transformers.PreTrainedTokenizer">PreTrainedTokenizer</a>: a Python implementation of a tokenizer.</li> <li><a href="/docs/transformers/v4.34.0/en/main_classes/tokenizer#transformers.PreTrainedTokenizerFast">PreTrainedTokenizerFast</a>: a tokenizer from our Rust-based <a href="https://huggingface.co/docs/tokenizers/python/latest/" rel="nofollow">🤗 Tokenizer</a> library. This tokenizer type is significantly faster - especially during batch tokenization - due to its Rust implementation. The fast tokenizer also offers additional methods like <em>offset mapping</em> which maps tokens to their original words or characters.</li>',It,qe,ea="Both tokenizers support common methods such as encoding and decoding, adding new tokens, and managing special tokens.",Nt,O,Qt,Ce,ta="If you trained your own tokenizer, you can create one from your <em>vocabulary</em> file:",St,Ze,Dt,xe,sa='It is important to remember the vocabulary from a custom tokenizer will be different from the vocabulary generated by a pretrained model’s tokenizer. You need to use a pretrained model’s vocabulary if you are using a pretrained model, otherwise the inputs won’t make sense. Create a tokenizer with a pretrained model’s vocabulary with the <a href="/docs/transformers/v4.34.0/en/model_doc/distilbert#transformers.DistilBertTokenizer">DistilBertTokenizer</a> class:',At,Je,Kt,We,aa='Create a fast tokenizer with the <a href="/docs/transformers/v4.34.0/en/model_doc/distilbert#transformers.DistilBertTokenizerFast">DistilBertTokenizerFast</a> class:',Ot,Ve,es,ee,ts,Y,te,ht,ze,Us,it,na="Image Processor",ss,Re,ra='An image processor processes vision inputs. It inherits from the base <a href="/docs/transformers/v4.34.0/en/main_classes/image_processor#transformers.ImageProcessingMixin">ImageProcessingMixin</a> class.',as,Ue,la='To use, create an image processor associated with the model you’re using. For example, create a default <a href="/docs/transformers/v4.34.0/en/model_doc/vit#transformers.ViTImageProcessor">ViTImageProcessor</a> if you are using <a href="model_doc/vit">ViT</a> for image classification:',ns,Fe,rs,se,ls,Ee,oa='Modify any of the <a href="/docs/transformers/v4.34.0/en/model_doc/vit#transformers.ViTImageProcessor">ViTImageProcessor</a> parameters to create your custom image processor:',os,Ge,is,P,ae,gt,He,Fs,pt,ia="Feature Extractor",ps,Be,pa='A feature extractor processes audio inputs. It inherits from the base <a href="/docs/transformers/v4.34.0/en/main_classes/feature_extractor#transformers.FeatureExtractionMixin">FeatureExtractionMixin</a> class, and may also inherit from the <a href="/docs/transformers/v4.34.0/en/main_classes/feature_extractor#transformers.SequenceFeatureExtractor">SequenceFeatureExtractor</a> class for processing audio inputs.',cs,Xe,ca='To use, create a feature extractor associated with the model you’re using. For example, create a default <a href="/docs/transformers/v4.34.0/en/model_doc/wav2vec2#transformers.Wav2Vec2FeatureExtractor">Wav2Vec2FeatureExtractor</a> if you are using <a href="model_doc/wav2vec2">Wav2Vec2</a> for audio classification:',ms,Ye,us,ne,fs,Pe,ma='Modify any of the <a href="/docs/transformers/v4.34.0/en/model_doc/wav2vec2#transformers.Wav2Vec2FeatureExtractor">Wav2Vec2FeatureExtractor</a> parameters to create your custom feature extractor:',ds,Le,hs,L,re,yt,Ie,Es,ct,ua="Processor",gs,Ne,fa='For models that support multimodal tasks, 🤗 Transformers offers a processor class that conveniently wraps processing classes such as a feature extractor and a tokenizer into a single object. For example, let’s use the <a href="/docs/transformers/v4.34.0/en/model_doc/wav2vec2#transformers.Wav2Vec2Processor">Wav2Vec2Processor</a> for an automatic speech recognition task (ASR). ASR transcribes audio to text, so you will need a feature extractor and a tokenizer.',ys,Qe,da="Create a feature extractor to handle the audio inputs:",$s,Se,vs,De,ha="Create a tokenizer to handle the text inputs:",bs,Ae,_s,Ke,ga='Combine the feature extractor and tokenizer in <a href="/docs/transformers/v4.34.0/en/model_doc/wav2vec2#transformers.Wav2Vec2Processor">Wav2Vec2Processor</a>:',ws,Oe,js,et,ya="With two basic classes - configuration and model - and an additional preprocessing class (tokenizer, image processor, feature extractor, or processor), you can create any of the models supported by 🤗 Transformers. Each of these base classes are configurable, allowing you to use the specific attributes you want. You can easily setup a model for training or modify an existing pretrained model to fine-tune.",Ms,$t,Ts;return C=new le({}),oe=new le({}),ce=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERpc3RpbEJlcnRDb25maWclMEElMEFjb25maWclMjAlM0QlMjBEaXN0aWxCZXJ0Q29uZmlnKCklMEFwcmludChjb25maWcp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DistilBertConfig

<span class="hljs-meta">&gt;&gt;&gt; </span>config = DistilBertConfig()
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-built_in">print</span>(config)
DistilBertConfig {
  <span class="hljs-string">&quot;activation&quot;</span>: <span class="hljs-string">&quot;gelu&quot;</span>,
  <span class="hljs-string">&quot;attention_dropout&quot;</span>: <span class="hljs-number">0.1</span>,
  <span class="hljs-string">&quot;dim&quot;</span>: <span class="hljs-number">768</span>,
  <span class="hljs-string">&quot;dropout&quot;</span>: <span class="hljs-number">0.1</span>,
  <span class="hljs-string">&quot;hidden_dim&quot;</span>: <span class="hljs-number">3072</span>,
  <span class="hljs-string">&quot;initializer_range&quot;</span>: <span class="hljs-number">0.02</span>,
  <span class="hljs-string">&quot;max_position_embeddings&quot;</span>: <span class="hljs-number">512</span>,
  <span class="hljs-string">&quot;model_type&quot;</span>: <span class="hljs-string">&quot;distilbert&quot;</span>,
  <span class="hljs-string">&quot;n_heads&quot;</span>: <span class="hljs-number">12</span>,
  <span class="hljs-string">&quot;n_layers&quot;</span>: <span class="hljs-number">6</span>,
  <span class="hljs-string">&quot;pad_token_id&quot;</span>: <span class="hljs-number">0</span>,
  <span class="hljs-string">&quot;qa_dropout&quot;</span>: <span class="hljs-number">0.1</span>,
  <span class="hljs-string">&quot;seq_classif_dropout&quot;</span>: <span class="hljs-number">0.2</span>,
  <span class="hljs-string">&quot;sinusoidal_pos_embds&quot;</span>: false,
  <span class="hljs-string">&quot;transformers_version&quot;</span>: <span class="hljs-string">&quot;4.16.2&quot;</span>,
  <span class="hljs-string">&quot;vocab_size&quot;</span>: <span class="hljs-number">30522</span>
}`,wrap:!1}}),fe=new J({props:{code:"bXlfY29uZmlnJTIwJTNEJTIwRGlzdGlsQmVydENvbmZpZyhhY3RpdmF0aW9uJTNEJTIycmVsdSUyMiUyQyUyMGF0dGVudGlvbl9kcm9wb3V0JTNEMC40KSUwQXByaW50KG15X2NvbmZpZyk=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>my_config = DistilBertConfig(activation=<span class="hljs-string">&quot;relu&quot;</span>, attention_dropout=<span class="hljs-number">0.4</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-built_in">print</span>(my_config)
DistilBertConfig {
  <span class="hljs-string">&quot;activation&quot;</span>: <span class="hljs-string">&quot;relu&quot;</span>,
  <span class="hljs-string">&quot;attention_dropout&quot;</span>: <span class="hljs-number">0.4</span>,
  <span class="hljs-string">&quot;dim&quot;</span>: <span class="hljs-number">768</span>,
  <span class="hljs-string">&quot;dropout&quot;</span>: <span class="hljs-number">0.1</span>,
  <span class="hljs-string">&quot;hidden_dim&quot;</span>: <span class="hljs-number">3072</span>,
  <span class="hljs-string">&quot;initializer_range&quot;</span>: <span class="hljs-number">0.02</span>,
  <span class="hljs-string">&quot;max_position_embeddings&quot;</span>: <span class="hljs-number">512</span>,
  <span class="hljs-string">&quot;model_type&quot;</span>: <span class="hljs-string">&quot;distilbert&quot;</span>,
  <span class="hljs-string">&quot;n_heads&quot;</span>: <span class="hljs-number">12</span>,
  <span class="hljs-string">&quot;n_layers&quot;</span>: <span class="hljs-number">6</span>,
  <span class="hljs-string">&quot;pad_token_id&quot;</span>: <span class="hljs-number">0</span>,
  <span class="hljs-string">&quot;qa_dropout&quot;</span>: <span class="hljs-number">0.1</span>,
  <span class="hljs-string">&quot;seq_classif_dropout&quot;</span>: <span class="hljs-number">0.2</span>,
  <span class="hljs-string">&quot;sinusoidal_pos_embds&quot;</span>: false,
  <span class="hljs-string">&quot;transformers_version&quot;</span>: <span class="hljs-string">&quot;4.16.2&quot;</span>,
  <span class="hljs-string">&quot;vocab_size&quot;</span>: <span class="hljs-number">30522</span>
}`,wrap:!1}}),he=new J({props:{code:"bXlfY29uZmlnJTIwJTNEJTIwRGlzdGlsQmVydENvbmZpZy5mcm9tX3ByZXRyYWluZWQoJTIyZGlzdGlsYmVydC1iYXNlLXVuY2FzZWQlMjIlMkMlMjBhY3RpdmF0aW9uJTNEJTIycmVsdSUyMiUyQyUyMGF0dGVudGlvbl9kcm9wb3V0JTNEMC40KQ==",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>my_config = DistilBertConfig.from_pretrained(<span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>, activation=<span class="hljs-string">&quot;relu&quot;</span>, attention_dropout=<span class="hljs-number">0.4</span>)',wrap:!1}}),ye=new J({props:{code:"bXlfY29uZmlnLnNhdmVfcHJldHJhaW5lZChzYXZlX2RpcmVjdG9yeSUzRCUyMi4lMkZ5b3VyX21vZGVsX3NhdmVfcGF0aCUyMik=",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>my_config.save_pretrained(save_directory=<span class="hljs-string">&quot;./your_model_save_path&quot;</span>)',wrap:!1}}),ve=new J({props:{code:"bXlfY29uZmlnJTIwJTNEJTIwRGlzdGlsQmVydENvbmZpZy5mcm9tX3ByZXRyYWluZWQoJTIyLiUyRnlvdXJfbW9kZWxfc2F2ZV9wYXRoJTJGY29uZmlnLmpzb24lMjIp",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>my_config = DistilBertConfig.from_pretrained(<span class="hljs-string">&quot;./your_model_save_path/config.json&quot;</span>)',wrap:!1}}),N=new jt({props:{$$slots:{default:[Ua]},$$scope:{ctx:Z}}}),be=new le({}),S=new xa({props:{pytorch:!0,tensorflow:!0,jax:!1,$$slots:{tensorflow:[Ha],pytorch:[Ea]},$$scope:{ctx:Z}}}),we=new le({}),A=new xa({props:{pytorch:!0,tensorflow:!0,jax:!1,$$slots:{tensorflow:[Pa],pytorch:[Xa]},$$scope:{ctx:Z}}}),Me=new le({}),O=new jt({props:{warning:!0,$$slots:{default:[La]},$$scope:{ctx:Z}}}),Ze=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERpc3RpbEJlcnRUb2tlbml6ZXIlMEElMEFteV90b2tlbml6ZXIlMjAlM0QlMjBEaXN0aWxCZXJ0VG9rZW5pemVyKHZvY2FiX2ZpbGUlM0QlMjJteV92b2NhYl9maWxlLnR4dCUyMiUyQyUyMGRvX2xvd2VyX2Nhc2UlM0RGYWxzZSUyQyUyMHBhZGRpbmdfc2lkZSUzRCUyMmxlZnQlMjIp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DistilBertTokenizer

<span class="hljs-meta">&gt;&gt;&gt; </span>my_tokenizer = DistilBertTokenizer(vocab_file=<span class="hljs-string">&quot;my_vocab_file.txt&quot;</span>, do_lower_case=<span class="hljs-literal">False</span>, padding_side=<span class="hljs-string">&quot;left&quot;</span>)`,wrap:!1}}),Je=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERpc3RpbEJlcnRUb2tlbml6ZXIlMEElMEFzbG93X3Rva2VuaXplciUyMCUzRCUyMERpc3RpbEJlcnRUb2tlbml6ZXIuZnJvbV9wcmV0cmFpbmVkKCUyMmRpc3RpbGJlcnQtYmFzZS11bmNhc2VkJTIyKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DistilBertTokenizer

<span class="hljs-meta">&gt;&gt;&gt; </span>slow_tokenizer = DistilBertTokenizer.from_pretrained(<span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>)`,wrap:!1}}),Ve=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERpc3RpbEJlcnRUb2tlbml6ZXJGYXN0JTBBJTBBZmFzdF90b2tlbml6ZXIlMjAlM0QlMjBEaXN0aWxCZXJ0VG9rZW5pemVyRmFzdC5mcm9tX3ByZXRyYWluZWQoJTIyZGlzdGlsYmVydC1iYXNlLXVuY2FzZWQlMjIp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DistilBertTokenizerFast

<span class="hljs-meta">&gt;&gt;&gt; </span>fast_tokenizer = DistilBertTokenizerFast.from_pretrained(<span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>)`,wrap:!1}}),ee=new jt({props:{$$slots:{default:[Ia]},$$scope:{ctx:Z}}}),ze=new le({}),Fe=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFZpVEltYWdlUHJvY2Vzc29yJTBBJTBBdml0X2V4dHJhY3RvciUyMCUzRCUyMFZpVEltYWdlUHJvY2Vzc29yKCklMEFwcmludCh2aXRfZXh0cmFjdG9yKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> ViTImageProcessor

<span class="hljs-meta">&gt;&gt;&gt; </span>vit_extractor = ViTImageProcessor()
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-built_in">print</span>(vit_extractor)
ViTImageProcessor {
  <span class="hljs-string">&quot;do_normalize&quot;</span>: true,
  <span class="hljs-string">&quot;do_resize&quot;</span>: true,
  <span class="hljs-string">&quot;image_processor_type&quot;</span>: <span class="hljs-string">&quot;ViTImageProcessor&quot;</span>,
  <span class="hljs-string">&quot;image_mean&quot;</span>: [
    <span class="hljs-number">0.5</span>,
    <span class="hljs-number">0.5</span>,
    <span class="hljs-number">0.5</span>
  ],
  <span class="hljs-string">&quot;image_std&quot;</span>: [
    <span class="hljs-number">0.5</span>,
    <span class="hljs-number">0.5</span>,
    <span class="hljs-number">0.5</span>
  ],
  <span class="hljs-string">&quot;resample&quot;</span>: <span class="hljs-number">2</span>,
  <span class="hljs-string">&quot;size&quot;</span>: <span class="hljs-number">224</span>
}`,wrap:!1}}),se=new jt({props:{$$slots:{default:[Na]},$$scope:{ctx:Z}}}),Ge=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFZpVEltYWdlUHJvY2Vzc29yJTBBJTBBbXlfdml0X2V4dHJhY3RvciUyMCUzRCUyMFZpVEltYWdlUHJvY2Vzc29yKHJlc2FtcGxlJTNEJTIyUElMLkltYWdlLkJPWCUyMiUyQyUyMGRvX25vcm1hbGl6ZSUzREZhbHNlJTJDJTIwaW1hZ2VfbWVhbiUzRCU1QjAuMyUyQyUyMDAuMyUyQyUyMDAuMyU1RCklMEFwcmludChteV92aXRfZXh0cmFjdG9yKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> ViTImageProcessor

<span class="hljs-meta">&gt;&gt;&gt; </span>my_vit_extractor = ViTImageProcessor(resample=<span class="hljs-string">&quot;PIL.Image.BOX&quot;</span>, do_normalize=<span class="hljs-literal">False</span>, image_mean=[<span class="hljs-number">0.3</span>, <span class="hljs-number">0.3</span>, <span class="hljs-number">0.3</span>])
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-built_in">print</span>(my_vit_extractor)
ViTImageProcessor {
  <span class="hljs-string">&quot;do_normalize&quot;</span>: false,
  <span class="hljs-string">&quot;do_resize&quot;</span>: true,
  <span class="hljs-string">&quot;image_processor_type&quot;</span>: <span class="hljs-string">&quot;ViTImageProcessor&quot;</span>,
  <span class="hljs-string">&quot;image_mean&quot;</span>: [
    <span class="hljs-number">0.3</span>,
    <span class="hljs-number">0.3</span>,
    <span class="hljs-number">0.3</span>
  ],
  <span class="hljs-string">&quot;image_std&quot;</span>: [
    <span class="hljs-number">0.5</span>,
    <span class="hljs-number">0.5</span>,
    <span class="hljs-number">0.5</span>
  ],
  <span class="hljs-string">&quot;resample&quot;</span>: <span class="hljs-string">&quot;PIL.Image.BOX&quot;</span>,
  <span class="hljs-string">&quot;size&quot;</span>: <span class="hljs-number">224</span>
}`,wrap:!1}}),He=new le({}),Ye=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFdhdjJWZWMyRmVhdHVyZUV4dHJhY3RvciUwQSUwQXcydjJfZXh0cmFjdG9yJTIwJTNEJTIwV2F2MlZlYzJGZWF0dXJlRXh0cmFjdG9yKCklMEFwcmludCh3MnYyX2V4dHJhY3Rvcik=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> Wav2Vec2FeatureExtractor

<span class="hljs-meta">&gt;&gt;&gt; </span>w2v2_extractor = Wav2Vec2FeatureExtractor()
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-built_in">print</span>(w2v2_extractor)
Wav2Vec2FeatureExtractor {
  <span class="hljs-string">&quot;do_normalize&quot;</span>: true,
  <span class="hljs-string">&quot;feature_extractor_type&quot;</span>: <span class="hljs-string">&quot;Wav2Vec2FeatureExtractor&quot;</span>,
  <span class="hljs-string">&quot;feature_size&quot;</span>: <span class="hljs-number">1</span>,
  <span class="hljs-string">&quot;padding_side&quot;</span>: <span class="hljs-string">&quot;right&quot;</span>,
  <span class="hljs-string">&quot;padding_value&quot;</span>: <span class="hljs-number">0.0</span>,
  <span class="hljs-string">&quot;return_attention_mask&quot;</span>: false,
  <span class="hljs-string">&quot;sampling_rate&quot;</span>: <span class="hljs-number">16000</span>
}`,wrap:!1}}),ne=new jt({props:{$$slots:{default:[Qa]},$$scope:{ctx:Z}}}),Le=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFdhdjJWZWMyRmVhdHVyZUV4dHJhY3RvciUwQSUwQXcydjJfZXh0cmFjdG9yJTIwJTNEJTIwV2F2MlZlYzJGZWF0dXJlRXh0cmFjdG9yKHNhbXBsaW5nX3JhdGUlM0Q4MDAwJTJDJTIwZG9fbm9ybWFsaXplJTNERmFsc2UpJTBBcHJpbnQodzJ2Ml9leHRyYWN0b3Ip",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> Wav2Vec2FeatureExtractor

<span class="hljs-meta">&gt;&gt;&gt; </span>w2v2_extractor = Wav2Vec2FeatureExtractor(sampling_rate=<span class="hljs-number">8000</span>, do_normalize=<span class="hljs-literal">False</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-built_in">print</span>(w2v2_extractor)
Wav2Vec2FeatureExtractor {
  <span class="hljs-string">&quot;do_normalize&quot;</span>: false,
  <span class="hljs-string">&quot;feature_extractor_type&quot;</span>: <span class="hljs-string">&quot;Wav2Vec2FeatureExtractor&quot;</span>,
  <span class="hljs-string">&quot;feature_size&quot;</span>: <span class="hljs-number">1</span>,
  <span class="hljs-string">&quot;padding_side&quot;</span>: <span class="hljs-string">&quot;right&quot;</span>,
  <span class="hljs-string">&quot;padding_value&quot;</span>: <span class="hljs-number">0.0</span>,
  <span class="hljs-string">&quot;return_attention_mask&quot;</span>: false,
  <span class="hljs-string">&quot;sampling_rate&quot;</span>: <span class="hljs-number">8000</span>
}`,wrap:!1}}),Ie=new le({}),Se=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFdhdjJWZWMyRmVhdHVyZUV4dHJhY3RvciUwQSUwQWZlYXR1cmVfZXh0cmFjdG9yJTIwJTNEJTIwV2F2MlZlYzJGZWF0dXJlRXh0cmFjdG9yKHBhZGRpbmdfdmFsdWUlM0QxLjAlMkMlMjBkb19ub3JtYWxpemUlM0RUcnVlKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> Wav2Vec2FeatureExtractor

<span class="hljs-meta">&gt;&gt;&gt; </span>feature_extractor = Wav2Vec2FeatureExtractor(padding_value=<span class="hljs-number">1.0</span>, do_normalize=<span class="hljs-literal">True</span>)`,wrap:!1}}),Ae=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFdhdjJWZWMyQ1RDVG9rZW5pemVyJTBBJTBBdG9rZW5pemVyJTIwJTNEJTIwV2F2MlZlYzJDVENUb2tlbml6ZXIodm9jYWJfZmlsZSUzRCUyMm15X3ZvY2FiX2ZpbGUudHh0JTIyKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> Wav2Vec2CTCTokenizer

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = Wav2Vec2CTCTokenizer(vocab_file=<span class="hljs-string">&quot;my_vocab_file.txt&quot;</span>)`,wrap:!1}}),Oe=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFdhdjJWZWMyUHJvY2Vzc29yJTBBJTBBcHJvY2Vzc29yJTIwJTNEJTIwV2F2MlZlYzJQcm9jZXNzb3IoZmVhdHVyZV9leHRyYWN0b3IlM0RmZWF0dXJlX2V4dHJhY3RvciUyQyUyMHRva2VuaXplciUzRHRva2VuaXplcik=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> Wav2Vec2Processor

<span class="hljs-meta">&gt;&gt;&gt; </span>processor = Wav2Vec2Processor(feature_extractor=feature_extractor, tokenizer=tokenizer)`,wrap:!1}}),{c(){n=p("meta"),d=o(),r=p("p"),m=o(),_=p("h1"),w=p("a"),R=p("span"),h(C.$$.fragment),T=o(),W=p("span"),W.textContent=u,j=o(),U=p("p"),U.innerHTML=V,G=o(),F=p("ul"),F.innerHTML=z,E=o(),l=p("h2"),M=p("a"),mt=p("span"),h(oe.$$.fragment),Ws=o(),nt=p("span"),nt.textContent=Gs,Mt=o(),ie=p("p"),ie.innerHTML=Hs,Tt=o(),pe=p("p"),pe.innerHTML=Bs,kt=o(),h(ce.$$.fragment),qt=o(),me=p("p"),me.innerHTML=Xs,Ct=o(),ue=p("ul"),ue.innerHTML=Ys,Zt=o(),h(fe.$$.fragment),xt=o(),de=p("p"),de.innerHTML=Ps,Jt=o(),h(he.$$.fragment),Wt=o(),ge=p("p"),ge.innerHTML=Ls,Vt=o(),h(ye.$$.fragment),zt=o(),$e=p("p"),$e.innerHTML=Is,Rt=o(),h(ve.$$.fragment),Ut=o(),h(N.$$.fragment),Ft=o(),H=p("h2"),Q=p("a"),ut=p("span"),h(be.$$.fragment),Vs=o(),rt=p("span"),rt.textContent=Ns,Et=o(),_e=p("p"),_e.innerHTML=Qs,Gt=o(),h(S.$$.fragment),Ht=o(),B=p("h3"),D=p("a"),ft=p("span"),h(we.$$.fragment),zs=o(),lt=p("span"),lt.textContent=Ss,Bt=o(),je=p("p"),je.innerHTML=Ds,Xt=o(),h(A.$$.fragment),Yt=o(),X=p("h2"),K=p("a"),dt=p("span"),h(Me.$$.fragment),Rs=o(),ot=p("span"),ot.textContent=As,Pt=o(),Te=p("p"),Te.innerHTML=Ks,Lt=o(),ke=p("ul"),ke.innerHTML=Os,It=o(),qe=p("p"),qe.textContent=ea,Nt=o(),h(O.$$.fragment),Qt=o(),Ce=p("p"),Ce.innerHTML=ta,St=o(),h(Ze.$$.fragment),Dt=o(),xe=p("p"),xe.innerHTML=sa,At=o(),h(Je.$$.fragment),Kt=o(),We=p("p"),We.innerHTML=aa,Ot=o(),h(Ve.$$.fragment),es=o(),h(ee.$$.fragment),ts=o(),Y=p("h2"),te=p("a"),ht=p("span"),h(ze.$$.fragment),Us=o(),it=p("span"),it.textContent=na,ss=o(),Re=p("p"),Re.innerHTML=ra,as=o(),Ue=p("p"),Ue.innerHTML=la,ns=o(),h(Fe.$$.fragment),rs=o(),h(se.$$.fragment),ls=o(),Ee=p("p"),Ee.innerHTML=oa,os=o(),h(Ge.$$.fragment),is=o(),P=p("h2"),ae=p("a"),gt=p("span"),h(He.$$.fragment),Fs=o(),pt=p("span"),pt.textContent=ia,ps=o(),Be=p("p"),Be.innerHTML=pa,cs=o(),Xe=p("p"),Xe.innerHTML=ca,ms=o(),h(Ye.$$.fragment),us=o(),h(ne.$$.fragment),fs=o(),Pe=p("p"),Pe.innerHTML=ma,ds=o(),h(Le.$$.fragment),hs=o(),L=p("h2"),re=p("a"),yt=p("span"),h(Ie.$$.fragment),Es=o(),ct=p("span"),ct.textContent=ua,gs=o(),Ne=p("p"),Ne.innerHTML=fa,ys=o(),Qe=p("p"),Qe.textContent=da,$s=o(),h(Se.$$.fragment),vs=o(),De=p("p"),De.textContent=ha,bs=o(),h(Ae.$$.fragment),_s=o(),Ke=p("p"),Ke.innerHTML=ga,ws=o(),h(Oe.$$.fragment),js=o(),et=p("p"),et.textContent=ya,Ms=o(),$t=p("p"),this.h()},l(e){const s=Ra("svelte-1phssyn",document.head);n=c(s,"META",{name:!0,content:!0}),s.forEach(t),d=i(e),r=c(e,"P",{}),x(r).forEach(t),m=i(e),_=c(e,"H1",{class:!0});var tt=x(_);w=c(tt,"A",{id:!0,class:!0,href:!0});var vt=x(w);R=c(vt,"SPAN",{});var bt=x(R);g(C.$$.fragment,bt),bt.forEach(t),vt.forEach(t),T=i(tt),W=c(tt,"SPAN",{"data-svelte-h":!0}),f(W)!=="svelte-19o50hq"&&(W.textContent=u),tt.forEach(t),j=i(e),U=c(e,"P",{"data-svelte-h":!0}),f(U)!=="svelte-1rebmo9"&&(U.innerHTML=V),G=i(e),F=c(e,"UL",{"data-svelte-h":!0}),f(F)!=="svelte-p41iia"&&(F.innerHTML=z),E=i(e),l=c(e,"H2",{class:!0});var st=x(l);M=c(st,"A",{id:!0,class:!0,href:!0});var _t=x(M);mt=c(_t,"SPAN",{});var wt=x(mt);g(oe.$$.fragment,wt),wt.forEach(t),_t.forEach(t),Ws=i(st),nt=c(st,"SPAN",{"data-svelte-h":!0}),f(nt)!=="svelte-13rze9p"&&(nt.textContent=Gs),st.forEach(t),Mt=i(e),ie=c(e,"P",{"data-svelte-h":!0}),f(ie)!=="svelte-mxa1qr"&&(ie.innerHTML=Hs),Tt=i(e),pe=c(e,"P",{"data-svelte-h":!0}),f(pe)!=="svelte-1mu607i"&&(pe.innerHTML=Bs),kt=i(e),g(ce.$$.fragment,e),qt=i(e),me=c(e,"P",{"data-svelte-h":!0}),f(me)!=="svelte-c0fgbs"&&(me.innerHTML=Xs),Ct=i(e),ue=c(e,"UL",{"data-svelte-h":!0}),f(ue)!=="svelte-1ohji3r"&&(ue.innerHTML=Ys),Zt=i(e),g(fe.$$.fragment,e),xt=i(e),de=c(e,"P",{"data-svelte-h":!0}),f(de)!=="svelte-1mruuzc"&&(de.innerHTML=Ps),Jt=i(e),g(he.$$.fragment,e),Wt=i(e),ge=c(e,"P",{"data-svelte-h":!0}),f(ge)!=="svelte-w58riq"&&(ge.innerHTML=Ls),Vt=i(e),g(ye.$$.fragment,e),zt=i(e),$e=c(e,"P",{"data-svelte-h":!0}),f($e)!=="svelte-mxyuq9"&&($e.innerHTML=Is),Rt=i(e),g(ve.$$.fragment,e),Ut=i(e),g(N.$$.fragment,e),Ft=i(e),H=c(e,"H2",{class:!0});var at=x(H);Q=c(at,"A",{id:!0,class:!0,href:!0});var $a=x(Q);ut=c($a,"SPAN",{});var va=x(ut);g(be.$$.fragment,va),va.forEach(t),$a.forEach(t),Vs=i(at),rt=c(at,"SPAN",{"data-svelte-h":!0}),f(rt)!=="svelte-1p2vvmu"&&(rt.textContent=Ns),at.forEach(t),Et=i(e),_e=c(e,"P",{"data-svelte-h":!0}),f(_e)!=="svelte-abus8t"&&(_e.innerHTML=Qs),Gt=i(e),g(S.$$.fragment,e),Ht=i(e),B=c(e,"H3",{class:!0});var ks=x(B);D=c(ks,"A",{id:!0,class:!0,href:!0});var ba=x(D);ft=c(ba,"SPAN",{});var _a=x(ft);g(we.$$.fragment,_a),_a.forEach(t),ba.forEach(t),zs=i(ks),lt=c(ks,"SPAN",{"data-svelte-h":!0}),f(lt)!=="svelte-wmgfk5"&&(lt.textContent=Ss),ks.forEach(t),Bt=i(e),je=c(e,"P",{"data-svelte-h":!0}),f(je)!=="svelte-1a6phur"&&(je.innerHTML=Ds),Xt=i(e),g(A.$$.fragment,e),Yt=i(e),X=c(e,"H2",{class:!0});var qs=x(X);K=c(qs,"A",{id:!0,class:!0,href:!0});var wa=x(K);dt=c(wa,"SPAN",{});var ja=x(dt);g(Me.$$.fragment,ja),ja.forEach(t),wa.forEach(t),Rs=i(qs),ot=c(qs,"SPAN",{"data-svelte-h":!0}),f(ot)!=="svelte-1txg6py"&&(ot.textContent=As),qs.forEach(t),Pt=i(e),Te=c(e,"P",{"data-svelte-h":!0}),f(Te)!=="svelte-1czw1fm"&&(Te.innerHTML=Ks),Lt=i(e),ke=c(e,"UL",{"data-svelte-h":!0}),f(ke)!=="svelte-cs604e"&&(ke.innerHTML=Os),It=i(e),qe=c(e,"P",{"data-svelte-h":!0}),f(qe)!=="svelte-9binde"&&(qe.textContent=ea),Nt=i(e),g(O.$$.fragment,e),Qt=i(e),Ce=c(e,"P",{"data-svelte-h":!0}),f(Ce)!=="svelte-9kjh08"&&(Ce.innerHTML=ta),St=i(e),g(Ze.$$.fragment,e),Dt=i(e),xe=c(e,"P",{"data-svelte-h":!0}),f(xe)!=="svelte-mmhnt7"&&(xe.innerHTML=sa),At=i(e),g(Je.$$.fragment,e),Kt=i(e),We=c(e,"P",{"data-svelte-h":!0}),f(We)!=="svelte-j4lv5m"&&(We.innerHTML=aa),Ot=i(e),g(Ve.$$.fragment,e),es=i(e),g(ee.$$.fragment,e),ts=i(e),Y=c(e,"H2",{class:!0});var Cs=x(Y);te=c(Cs,"A",{id:!0,class:!0,href:!0});var Ma=x(te);ht=c(Ma,"SPAN",{});var Ta=x(ht);g(ze.$$.fragment,Ta),Ta.forEach(t),Ma.forEach(t),Us=i(Cs),it=c(Cs,"SPAN",{"data-svelte-h":!0}),f(it)!=="svelte-qbhthy"&&(it.textContent=na),Cs.forEach(t),ss=i(e),Re=c(e,"P",{"data-svelte-h":!0}),f(Re)!=="svelte-1dljae"&&(Re.innerHTML=ra),as=i(e),Ue=c(e,"P",{"data-svelte-h":!0}),f(Ue)!=="svelte-qsgcto"&&(Ue.innerHTML=la),ns=i(e),g(Fe.$$.fragment,e),rs=i(e),g(se.$$.fragment,e),ls=i(e),Ee=c(e,"P",{"data-svelte-h":!0}),f(Ee)!=="svelte-178u4rk"&&(Ee.innerHTML=oa),os=i(e),g(Ge.$$.fragment,e),is=i(e),P=c(e,"H2",{class:!0});var Zs=x(P);ae=c(Zs,"A",{id:!0,class:!0,href:!0});var ka=x(ae);gt=c(ka,"SPAN",{});var qa=x(gt);g(He.$$.fragment,qa),qa.forEach(t),ka.forEach(t),Fs=i(Zs),pt=c(Zs,"SPAN",{"data-svelte-h":!0}),f(pt)!=="svelte-vi0yzx"&&(pt.textContent=ia),Zs.forEach(t),ps=i(e),Be=c(e,"P",{"data-svelte-h":!0}),f(Be)!=="svelte-1jcma84"&&(Be.innerHTML=pa),cs=i(e),Xe=c(e,"P",{"data-svelte-h":!0}),f(Xe)!=="svelte-jiac0j"&&(Xe.innerHTML=ca),ms=i(e),g(Ye.$$.fragment,e),us=i(e),g(ne.$$.fragment,e),fs=i(e),Pe=c(e,"P",{"data-svelte-h":!0}),f(Pe)!=="svelte-14z6bw"&&(Pe.innerHTML=ma),ds=i(e),g(Le.$$.fragment,e),hs=i(e),L=c(e,"H2",{class:!0});var xs=x(L);re=c(xs,"A",{id:!0,class:!0,href:!0});var Ca=x(re);yt=c(Ca,"SPAN",{});var Za=x(yt);g(Ie.$$.fragment,Za),Za.forEach(t),Ca.forEach(t),Es=i(xs),ct=c(xs,"SPAN",{"data-svelte-h":!0}),f(ct)!=="svelte-12o5vu3"&&(ct.textContent=ua),xs.forEach(t),gs=i(e),Ne=c(e,"P",{"data-svelte-h":!0}),f(Ne)!=="svelte-xb4i58"&&(Ne.innerHTML=fa),ys=i(e),Qe=c(e,"P",{"data-svelte-h":!0}),f(Qe)!=="svelte-gl9p7k"&&(Qe.textContent=da),$s=i(e),g(Se.$$.fragment,e),vs=i(e),De=c(e,"P",{"data-svelte-h":!0}),f(De)!=="svelte-1qntmzi"&&(De.textContent=ha),bs=i(e),g(Ae.$$.fragment,e),_s=i(e),Ke=c(e,"P",{"data-svelte-h":!0}),f(Ke)!=="svelte-1ununn6"&&(Ke.innerHTML=ga),ws=i(e),g(Oe.$$.fragment,e),js=i(e),et=c(e,"P",{"data-svelte-h":!0}),f(et)!=="svelte-1wdo2ao"&&(et.textContent=ya),Ms=i(e),$t=c(e,"P",{}),x($t).forEach(t),this.h()},h(){k(n,"name","hf:doc:metadata"),k(n,"content",JSON.stringify(Da)),k(w,"id","create-a-custom-architecture"),k(w,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),k(w,"href","#create-a-custom-architecture"),k(_,"class","relative group"),k(M,"id","configuration"),k(M,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),k(M,"href","#configuration"),k(l,"class","relative group"),k(Q,"id","model"),k(Q,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),k(Q,"href","#model"),k(H,"class","relative group"),k(D,"id","model-heads"),k(D,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),k(D,"href","#model-heads"),k(B,"class","relative group"),k(K,"id","tokenizer"),k(K,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),k(K,"href","#tokenizer"),k(X,"class","relative group"),k(te,"id","image-processor"),k(te,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),k(te,"href","#image-processor"),k(Y,"class","relative group"),k(ae,"id","feature-extractor"),k(ae,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),k(ae,"href","#feature-extractor"),k(P,"class","relative group"),k(re,"id","processor"),k(re,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),k(re,"href","#processor"),k(L,"class","relative group")},m(e,s){q(document.head,n),a(e,d,s),a(e,r,s),a(e,m,s),a(e,_,s),q(_,w),q(w,R),y(C,R,null),q(_,T),q(_,W),a(e,j,s),a(e,U,s),a(e,G,s),a(e,F,s),a(e,E,s),a(e,l,s),q(l,M),q(M,mt),y(oe,mt,null),q(l,Ws),q(l,nt),a(e,Mt,s),a(e,ie,s),a(e,Tt,s),a(e,pe,s),a(e,kt,s),y(ce,e,s),a(e,qt,s),a(e,me,s),a(e,Ct,s),a(e,ue,s),a(e,Zt,s),y(fe,e,s),a(e,xt,s),a(e,de,s),a(e,Jt,s),y(he,e,s),a(e,Wt,s),a(e,ge,s),a(e,Vt,s),y(ye,e,s),a(e,zt,s),a(e,$e,s),a(e,Rt,s),y(ve,e,s),a(e,Ut,s),y(N,e,s),a(e,Ft,s),a(e,H,s),q(H,Q),q(Q,ut),y(be,ut,null),q(H,Vs),q(H,rt),a(e,Et,s),a(e,_e,s),a(e,Gt,s),y(S,e,s),a(e,Ht,s),a(e,B,s),q(B,D),q(D,ft),y(we,ft,null),q(B,zs),q(B,lt),a(e,Bt,s),a(e,je,s),a(e,Xt,s),y(A,e,s),a(e,Yt,s),a(e,X,s),q(X,K),q(K,dt),y(Me,dt,null),q(X,Rs),q(X,ot),a(e,Pt,s),a(e,Te,s),a(e,Lt,s),a(e,ke,s),a(e,It,s),a(e,qe,s),a(e,Nt,s),y(O,e,s),a(e,Qt,s),a(e,Ce,s),a(e,St,s),y(Ze,e,s),a(e,Dt,s),a(e,xe,s),a(e,At,s),y(Je,e,s),a(e,Kt,s),a(e,We,s),a(e,Ot,s),y(Ve,e,s),a(e,es,s),y(ee,e,s),a(e,ts,s),a(e,Y,s),q(Y,te),q(te,ht),y(ze,ht,null),q(Y,Us),q(Y,it),a(e,ss,s),a(e,Re,s),a(e,as,s),a(e,Ue,s),a(e,ns,s),y(Fe,e,s),a(e,rs,s),y(se,e,s),a(e,ls,s),a(e,Ee,s),a(e,os,s),y(Ge,e,s),a(e,is,s),a(e,P,s),q(P,ae),q(ae,gt),y(He,gt,null),q(P,Fs),q(P,pt),a(e,ps,s),a(e,Be,s),a(e,cs,s),a(e,Xe,s),a(e,ms,s),y(Ye,e,s),a(e,us,s),y(ne,e,s),a(e,fs,s),a(e,Pe,s),a(e,ds,s),y(Le,e,s),a(e,hs,s),a(e,L,s),q(L,re),q(re,yt),y(Ie,yt,null),q(L,Es),q(L,ct),a(e,gs,s),a(e,Ne,s),a(e,ys,s),a(e,Qe,s),a(e,$s,s),y(Se,e,s),a(e,vs,s),a(e,De,s),a(e,bs,s),y(Ae,e,s),a(e,_s,s),a(e,Ke,s),a(e,ws,s),y(Oe,e,s),a(e,js,s),a(e,et,s),a(e,Ms,s),a(e,$t,s),Ts=!0},p(e,[s]){const tt={};s&2&&(tt.$$scope={dirty:s,ctx:e}),N.$set(tt);const vt={};s&2&&(vt.$$scope={dirty:s,ctx:e}),S.$set(vt);const bt={};s&2&&(bt.$$scope={dirty:s,ctx:e}),A.$set(bt);const st={};s&2&&(st.$$scope={dirty:s,ctx:e}),O.$set(st);const _t={};s&2&&(_t.$$scope={dirty:s,ctx:e}),ee.$set(_t);const wt={};s&2&&(wt.$$scope={dirty:s,ctx:e}),se.$set(wt);const at={};s&2&&(at.$$scope={dirty:s,ctx:e}),ne.$set(at)},i(e){Ts||($(C.$$.fragment,e),$(oe.$$.fragment,e),$(ce.$$.fragment,e),$(fe.$$.fragment,e),$(he.$$.fragment,e),$(ye.$$.fragment,e),$(ve.$$.fragment,e),$(N.$$.fragment,e),$(be.$$.fragment,e),$(S.$$.fragment,e),$(we.$$.fragment,e),$(A.$$.fragment,e),$(Me.$$.fragment,e),$(O.$$.fragment,e),$(Ze.$$.fragment,e),$(Je.$$.fragment,e),$(Ve.$$.fragment,e),$(ee.$$.fragment,e),$(ze.$$.fragment,e),$(Fe.$$.fragment,e),$(se.$$.fragment,e),$(Ge.$$.fragment,e),$(He.$$.fragment,e),$(Ye.$$.fragment,e),$(ne.$$.fragment,e),$(Le.$$.fragment,e),$(Ie.$$.fragment,e),$(Se.$$.fragment,e),$(Ae.$$.fragment,e),$(Oe.$$.fragment,e),Ts=!0)},o(e){v(C.$$.fragment,e),v(oe.$$.fragment,e),v(ce.$$.fragment,e),v(fe.$$.fragment,e),v(he.$$.fragment,e),v(ye.$$.fragment,e),v(ve.$$.fragment,e),v(N.$$.fragment,e),v(be.$$.fragment,e),v(S.$$.fragment,e),v(we.$$.fragment,e),v(A.$$.fragment,e),v(Me.$$.fragment,e),v(O.$$.fragment,e),v(Ze.$$.fragment,e),v(Je.$$.fragment,e),v(Ve.$$.fragment,e),v(ee.$$.fragment,e),v(ze.$$.fragment,e),v(Fe.$$.fragment,e),v(se.$$.fragment,e),v(Ge.$$.fragment,e),v(He.$$.fragment,e),v(Ye.$$.fragment,e),v(ne.$$.fragment,e),v(Le.$$.fragment,e),v(Ie.$$.fragment,e),v(Se.$$.fragment,e),v(Ae.$$.fragment,e),v(Oe.$$.fragment,e),Ts=!1},d(e){e&&(t(d),t(r),t(m),t(_),t(j),t(U),t(G),t(F),t(E),t(l),t(Mt),t(ie),t(Tt),t(pe),t(kt),t(qt),t(me),t(Ct),t(ue),t(Zt),t(xt),t(de),t(Jt),t(Wt),t(ge),t(Vt),t(zt),t($e),t(Rt),t(Ut),t(Ft),t(H),t(Et),t(_e),t(Gt),t(Ht),t(B),t(Bt),t(je),t(Xt),t(Yt),t(X),t(Pt),t(Te),t(Lt),t(ke),t(It),t(qe),t(Nt),t(Qt),t(Ce),t(St),t(Dt),t(xe),t(At),t(Kt),t(We),t(Ot),t(es),t(ts),t(Y),t(ss),t(Re),t(as),t(Ue),t(ns),t(rs),t(ls),t(Ee),t(os),t(is),t(P),t(ps),t(Be),t(cs),t(Xe),t(ms),t(us),t(fs),t(Pe),t(ds),t(hs),t(L),t(gs),t(Ne),t(ys),t(Qe),t($s),t(vs),t(De),t(bs),t(_s),t(Ke),t(ws),t(js),t(et),t(Ms),t($t)),t(n),b(C),b(oe),b(ce,e),b(fe,e),b(he,e),b(ye,e),b(ve,e),b(N,e),b(be),b(S,e),b(we),b(A,e),b(Me),b(O,e),b(Ze,e),b(Je,e),b(Ve,e),b(ee,e),b(ze),b(Fe,e),b(se,e),b(Ge,e),b(He),b(Ye,e),b(ne,e),b(Le,e),b(Ie),b(Se,e),b(Ae,e),b(Oe,e)}}}const Da={local:"create-a-custom-architecture",sections:[{local:"configuration",title:"Configuration"},{local:"model",sections:[{local:"model-heads",title:"Model heads"}],title:"Model"},{local:"tokenizer",title:"Tokenizer"},{local:"image-processor",title:"Image Processor"},{local:"feature-extractor",title:"Feature Extractor"},{local:"processor",title:"Processor"}],title:"Create a custom architecture"};function Aa(Z){return Wa(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class nn extends Va{constructor(n){super(),za(this,n,Aa,Sa,Ja,{})}}export{nn as component};
