import{s as Le,o as ze,n as Ee}from"../chunks/scheduler.18a86fab.js";import{S as Se,i as Qe,g as p,s as l,r as g,A as Pe,h as b,f as t,c as o,j as xe,u as w,x as h,k as ve,y as Ae,a as n,v as J,d as Z,t as W,w as v}from"../chunks/index.98837b22.js";import{C as Y}from"../chunks/CodeBlock.8d0c2e8a.js";import{H as We}from"../chunks/Heading.7e7e0c5b.js";import{H as qe,a as Ie}from"../chunks/HfOption.6641485e.js";import{E as De}from"../chunks/index.499f366c.js";function Ke(G){let i,_='The <a href="./model_doc/auto">AutoClass</a> API automatically loads a pretrained vision model with <a href="/docs/transformers/main/en/main_classes/configuration#transformers.PretrainedConfig.from_pretrained">from_pretrained()</a> as a backbone if it’s supported.',d,f,m="Set the <code>out_indices</code> parameter to the layer you’d like to get the feature map from. If you know the name of the layer, you could also use <code>out_features</code>. These parameters can be used interchangeably, but if you use both, make sure they refer to the same layer.",y,c,U="When <code>out_indices</code> or <code>out_features</code> isn’t used, the backbone returns the feature map from the last layer. The example code below uses <code>out_indices=(1,)</code> to get the feature map from the first layer.",j,u,N='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/Swin%20Stage%201.png"/>',T,$,C;return $=new Y({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9JbWFnZVByb2Nlc3NvciUyQyUyMEF1dG9CYWNrYm9uZSUwQSUwQW1vZGVsJTIwJTNEJTIwQXV0b0JhY2tib25lLmZyb21fcHJldHJhaW5lZCglMjJtaWNyb3NvZnQlMkZzd2luLXRpbnktcGF0Y2g0LXdpbmRvdzctMjI0JTIyJTJDJTIwb3V0X2luZGljZXMlM0QoMSUyQykp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoImageProcessor, AutoBackbone

model = AutoBackbone.from_pretrained(<span class="hljs-string">&quot;microsoft/swin-tiny-patch4-window7-224&quot;</span>, out_indices=(<span class="hljs-number">1</span>,))`,wrap:!1}}),{c(){i=p("p"),i.innerHTML=_,d=l(),f=p("p"),f.innerHTML=m,y=l(),c=p("p"),c.innerHTML=U,j=l(),u=p("div"),u.innerHTML=N,T=l(),g($.$$.fragment),this.h()},l(a){i=b(a,"P",{"data-svelte-h":!0}),h(i)!=="svelte-8ao7rm"&&(i.innerHTML=_),d=o(a),f=b(a,"P",{"data-svelte-h":!0}),h(f)!=="svelte-1m6vcny"&&(f.innerHTML=m),y=o(a),c=b(a,"P",{"data-svelte-h":!0}),h(c)!=="svelte-l05r60"&&(c.innerHTML=U),j=o(a),u=b(a,"DIV",{class:!0,"data-svelte-h":!0}),h(u)!=="svelte-rcuqm"&&(u.innerHTML=N),T=o(a),w($.$$.fragment,a),this.h()},h(){ve(u,"class","flex justify-center")},m(a,M){n(a,i,M),n(a,d,M),n(a,f,M),n(a,y,M),n(a,c,M),n(a,j,M),n(a,u,M),n(a,T,M),J($,a,M),C=!0},p:Ee,i(a){C||(Z($.$$.fragment,a),C=!0)},o(a){W($.$$.fragment,a),C=!1},d(a){a&&(t(i),t(d),t(f),t(y),t(c),t(j),t(u),t(T)),v($,a)}}}function Oe(G){let i,_="When you know a model supports a backbone, you can load the backbone and neck directly into the models configuration. Pass the configuration to the model to initialize it for a task.",d,f,m='The example below loads a <a href="./model_doc/resnet">ResNet</a> backbone and neck for use in a <a href="./model_doc/maskformer">MaskFormer</a> instance segmentation head.',y,c,U="Set <code>backbone</code> to a pretrained model and  <code>use_pretrained_backbone=True</code> to use pretrained weights instead of randomly initialized weights.",j,u,N,T,$="Another option is to separately load the backbone configuration and then pass it to <code>backbone_config</code> in the model configuration.",C,a,M;return u=new Y({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyME1hc2tGb3JtZXJDb25maWclMkMlMjBNYXNrRm9ybWVyRm9ySW5zdGFuY2VTZWdtZW50YXRpb24lMEElMEFjb25maWclMjAlM0QlMjBNYXNrRm9ybWVyQ29uZmlnKGJhY2tib25lJTNEJTIybWljcm9zb2Z0JTJGcmVzbmV0LTUwJTIyJTJDJTIwdXNlX3ByZXRyYWluZWRfYmFja2JvbmUlM0RUcnVlKSUwQW1vZGVsJTIwJTNEJTIwTWFza0Zvcm1lckZvckluc3RhbmNlU2VnbWVudGF0aW9uKGNvbmZpZyk=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> MaskFormerConfig, MaskFormerForInstanceSegmentation

config = MaskFormerConfig(backbone=<span class="hljs-string">&quot;microsoft/resnet-50&quot;</span>, use_pretrained_backbone=<span class="hljs-literal">True</span>)
model = MaskFormerForInstanceSegmentation(config)`,wrap:!1}}),a=new Y({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyME1hc2tGb3JtZXJDb25maWclMkMlMjBNYXNrRm9ybWVyRm9ySW5zdGFuY2VTZWdtZW50YXRpb24lMkMlMjBSZXNOZXRDb25maWclMEElMEElMjMlMjBpbnN0YW50aWF0ZSUyMGJhY2tib25lJTIwY29uZmlndXJhdGlvbiUwQWJhY2tib25lX2NvbmZpZyUyMCUzRCUyMFJlc05ldENvbmZpZygpJTBBJTIzJTIwbG9hZCUyMGJhY2tib25lJTIwaW4lMjBtb2RlbCUwQWNvbmZpZyUyMCUzRCUyME1hc2tGb3JtZXJDb25maWcoYmFja2JvbmVfY29uZmlnJTNEYmFja2JvbmVfY29uZmlnKSUwQSUyMyUyMGF0dGFjaCUyMGJhY2tib25lJTIwdG8lMjBtb2RlbCUyMGhlYWQlMEFtb2RlbCUyMCUzRCUyME1hc2tGb3JtZXJGb3JJbnN0YW5jZVNlZ21lbnRhdGlvbihjb25maWcp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> MaskFormerConfig, MaskFormerForInstanceSegmentation, ResNetConfig

<span class="hljs-comment"># instantiate backbone configuration</span>
backbone_config = ResNetConfig()
<span class="hljs-comment"># load backbone in model</span>
config = MaskFormerConfig(backbone_config=backbone_config)
<span class="hljs-comment"># attach backbone to model head</span>
model = MaskFormerForInstanceSegmentation(config)`,wrap:!1}}),{c(){i=p("p"),i.textContent=_,d=l(),f=p("p"),f.innerHTML=m,y=l(),c=p("p"),c.innerHTML=U,j=l(),g(u.$$.fragment),N=l(),T=p("p"),T.innerHTML=$,C=l(),g(a.$$.fragment)},l(r){i=b(r,"P",{"data-svelte-h":!0}),h(i)!=="svelte-uzkk0k"&&(i.textContent=_),d=o(r),f=b(r,"P",{"data-svelte-h":!0}),h(f)!=="svelte-pe50fy"&&(f.innerHTML=m),y=o(r),c=b(r,"P",{"data-svelte-h":!0}),h(c)!=="svelte-1iiz6w5"&&(c.innerHTML=U),j=o(r),w(u.$$.fragment,r),N=o(r),T=b(r,"P",{"data-svelte-h":!0}),h(T)!=="svelte-1avs5ow"&&(T.innerHTML=$),C=o(r),w(a.$$.fragment,r)},m(r,k){n(r,i,k),n(r,d,k),n(r,f,k),n(r,y,k),n(r,c,k),n(r,j,k),J(u,r,k),n(r,N,k),n(r,T,k),n(r,C,k),J(a,r,k),M=!0},p:Ee,i(r){M||(Z(u.$$.fragment,r),Z(a.$$.fragment,r),M=!0)},o(r){W(u.$$.fragment,r),W(a.$$.fragment,r),M=!1},d(r){r&&(t(i),t(d),t(f),t(y),t(c),t(j),t(N),t(T),t(C)),v(u,r),v(a,r)}}}function et(G){let i,_,d,f;return i=new Ie({props:{id:"backbone-classes",option:"AutoBackbone",$$slots:{default:[Ke]},$$scope:{ctx:G}}}),d=new Ie({props:{id:"backbone-classes",option:"model-specific backbone",$$slots:{default:[Oe]},$$scope:{ctx:G}}}),{c(){g(i.$$.fragment),_=l(),g(d.$$.fragment)},l(m){w(i.$$.fragment,m),_=o(m),w(d.$$.fragment,m)},m(m,y){J(i,m,y),n(m,_,y),J(d,m,y),f=!0},p(m,y){const c={};y&2&&(c.$$scope={dirty:y,ctx:m}),i.$set(c);const U={};y&2&&(U.$$scope={dirty:y,ctx:m}),d.$set(U)},i(m){f||(Z(i.$$.fragment,m),Z(d.$$.fragment,m),f=!0)},o(m){W(i.$$.fragment,m),W(d.$$.fragment,m),f=!1},d(m){m&&t(_),v(i,m),v(d,m)}}}function tt(G){let i,_,d,f,m,y,c,U="Higher-level computer visions tasks, such as object detection or image segmentation, use several models together to generate a prediction. A separate model is used for the <em>backbone</em>, neck, and head. The backbone extracts useful features from an input image into a feature map, the neck combines and processes the feature maps, and the head uses them to make a prediction.",j,u,N='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/Backbone.png"/>',T,$,C='Load a backbone with <a href="/docs/transformers/main/en/main_classes/configuration#transformers.PretrainedConfig.from_pretrained">from_pretrained()</a> and use the <code>out_indices</code> parameter to determine which layer, given by the index, to extract a feature map from.',a,M,r,k,_e='This guide describes the backbone class, backbones from the <a href="https://hf.co/docs/timm/index" rel="nofollow">timm</a> library, and how to extract features with them.',ne,R,ae,B,je="There are two backbone classes.",le,H,Ce='<li><a href="/docs/transformers/main/en/main_classes/backbones#transformers.utils.BackboneMixin">BackboneMixin</a> allows you to load a backbone and includes functions for extracting the feature maps and indices.</li> <li><a href="/docs/transformers/main/en/main_classes/backbones#transformers.utils.BackboneConfigMixin">BackboneConfigMixin</a> allows you to set the feature map and indices of a backbone configuration.</li>',oe,V,Ue='Refer to the <a href="./main_classes/backbones">Backbone</a> API documentation to check which models support a backbone.',re,X,Ne='There are two ways to load a Transformers backbone, <a href="/docs/transformers/main/en/main_classes/backbones#transformers.AutoBackbone">AutoBackbone</a> and a model-specific backbone class.',ie,F,me,x,ce,I,Ye='<a href="https://hf.co/docs/timm/index" rel="nofollow">timm</a> is a collection of vision models for training and inference. Transformers supports timm models as backbones with the <a href="/docs/transformers/main/en/main_classes/backbones#transformers.TimmBackbone">TimmBackbone</a> and <a href="/docs/transformers/main/en/main_classes/backbones#transformers.TimmBackboneConfig">TimmBackboneConfig</a> classes.',pe,E,Ge="Set <code>use_timm_backbone=True</code> to load pretrained timm weights, and <code>use_pretrained_backbone</code> to use pretrained or randomly initialized weights.",be,L,fe,z,Fe='You could also explicitly call the <a href="/docs/transformers/main/en/main_classes/backbones#transformers.TimmBackboneConfig">TimmBackboneConfig</a> class to load and create a pretrained timm backbone.',ue,S,de,Q,Re='Pass the backbone configuration to the model configuration and instantiate the model head, <a href="/docs/transformers/main/en/model_doc/maskformer#transformers.MaskFormerForInstanceSegmentation">MaskFormerForInstanceSegmentation</a>, with the backbone.',ye,P,he,A,Me,q,Be="The backbone is used to extract image features. Pass an image through the backbone to get the feature maps.",ke,D,He="Load and preprocess an image and pass it to the backbone. The example below extracts the feature maps from the first layer.",$e,K,Te,O,Ve="The features are stored and accessed from the outputs <code>feature_maps</code> attribute.",ge,ee,we,te,Je,se,Ze;return m=new We({props:{title:"Backbones",local:"backbones",headingTag:"h1"}}),M=new Y({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9CYWNrYm9uZSUwQSUwQW1vZGVsJTIwJTNEJTIwQXV0b0JhY2tib25lLmZyb21fcHJldHJhaW5lZCglMjJtaWNyb3NvZnQlMkZzd2luLXRpbnktcGF0Y2g0LXdpbmRvdzctMjI0JTIyJTJDJTIwb3V0X2luZGljZXMlM0QoMSUyQykp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoBackbone

model = AutoBackbone.from_pretrained(<span class="hljs-string">&quot;microsoft/swin-tiny-patch4-window7-224&quot;</span>, out_indices=(<span class="hljs-number">1</span>,))`,wrap:!1}}),R=new We({props:{title:"Backbone classes",local:"backbone-classes",headingTag:"h2"}}),F=new qe({props:{id:"backbone-classes",options:["AutoBackbone","model-specific backbone"],$$slots:{default:[et]},$$scope:{ctx:G}}}),x=new We({props:{title:"timm backbones",local:"timm-backbones",headingTag:"h2"}}),L=new Y({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyME1hc2tGb3JtZXJDb25maWclMkMlMjBNYXNrRm9ybWVyRm9ySW5zdGFuY2VTZWdtZW50YXRpb24lMEElMEFjb25maWclMjAlM0QlMjBNYXNrRm9ybWVyQ29uZmlnKGJhY2tib25lJTNEJTIycmVzbmV0NTAlMjIlMkMlMjB1c2VfdGltbV9iYWNrYm9uZSUzRFRydWUlMkMlMjB1c2VfcHJldHJhaW5lZF9iYWNrYm9uZSUzRFRydWUpJTBBbW9kZWwlMjAlM0QlMjBNYXNrRm9ybWVyRm9ySW5zdGFuY2VTZWdtZW50YXRpb24oY29uZmlnKQ==",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> MaskFormerConfig, MaskFormerForInstanceSegmentation

config = MaskFormerConfig(backbone=<span class="hljs-string">&quot;resnet50&quot;</span>, use_timm_backbone=<span class="hljs-literal">True</span>, use_pretrained_backbone=<span class="hljs-literal">True</span>)
model = MaskFormerForInstanceSegmentation(config)`,wrap:!1}}),S=new Y({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRpbW1CYWNrYm9uZUNvbmZpZyUwQSUwQWJhY2tib25lX2NvbmZpZyUyMCUzRCUyMFRpbW1CYWNrYm9uZUNvbmZpZyglMjJyZXNuZXQ1MCUyMiUyQyUyMHVzZV9wcmV0cmFpbmVkX2JhY2tib25lJTNEVHJ1ZSk=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TimmBackboneConfig

backbone_config = TimmBackboneConfig(<span class="hljs-string">&quot;resnet50&quot;</span>, use_pretrained_backbone=<span class="hljs-literal">True</span>)`,wrap:!1}}),P=new Y({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyME1hc2tGb3JtZXJDb25maWclMkMlMjBNYXNrRm9ybWVyRm9ySW5zdGFuY2VTZWdtZW50YXRpb24lMEElMEFjb25maWclMjAlM0QlMjBNYXNrRm9ybWVyQ29uZmlnKGJhY2tib25lX2NvbmZpZyUzRGJhY2tib25lX2NvbmZpZyklMEFtb2RlbCUyMCUzRCUyME1hc2tGb3JtZXJGb3JJbnN0YW5jZVNlZ21lbnRhdGlvbihjb25maWcp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> MaskFormerConfig, MaskFormerForInstanceSegmentation

config = MaskFormerConfig(backbone_config=backbone_config)
model = MaskFormerForInstanceSegmentation(config)`,wrap:!1}}),A=new We({props:{title:"Feature extraction",local:"feature-extraction",headingTag:"h2"}}),K=new Y({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9JbWFnZVByb2Nlc3NvciUyQyUyMEF1dG9CYWNrYm9uZSUwQWltcG9ydCUyMHRvcmNoJTBBZnJvbSUyMFBJTCUyMGltcG9ydCUyMEltYWdlJTBBaW1wb3J0JTIwcmVxdWVzdHMlMEElMEFtb2RlbCUyMCUzRCUyMEF1dG9CYWNrYm9uZS5mcm9tX3ByZXRyYWluZWQoJTIybWljcm9zb2Z0JTJGc3dpbi10aW55LXBhdGNoNC13aW5kb3c3LTIyNCUyMiUyQyUyMG91dF9pbmRpY2VzJTNEKDElMkMpKSUwQXByb2Nlc3NvciUyMCUzRCUyMEF1dG9JbWFnZVByb2Nlc3Nvci5mcm9tX3ByZXRyYWluZWQoJTIybWljcm9zb2Z0JTJGc3dpbi10aW55LXBhdGNoNC13aW5kb3c3LTIyNCUyMiklMEElMEF1cmwlMjAlM0QlMjAlMjJodHRwJTNBJTJGJTJGaW1hZ2VzLmNvY29kYXRhc2V0Lm9yZyUyRnZhbDIwMTclMkYwMDAwMDAwMzk3NjkuanBnJTIyJTBBaW1hZ2UlMjAlM0QlMjBJbWFnZS5vcGVuKHJlcXVlc3RzLmdldCh1cmwlMkMlMjBzdHJlYW0lM0RUcnVlKS5yYXcpJTBBJTBBaW5wdXRzJTIwJTNEJTIwcHJvY2Vzc29yKGltYWdlJTJDJTIwcmV0dXJuX3RlbnNvcnMlM0QlMjJwdCUyMiklMEFvdXRwdXRzJTIwJTNEJTIwbW9kZWwoKippbnB1dHMp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoImageProcessor, AutoBackbone
<span class="hljs-keyword">import</span> torch
<span class="hljs-keyword">from</span> PIL <span class="hljs-keyword">import</span> Image
<span class="hljs-keyword">import</span> requests

model = AutoBackbone.from_pretrained(<span class="hljs-string">&quot;microsoft/swin-tiny-patch4-window7-224&quot;</span>, out_indices=(<span class="hljs-number">1</span>,))
processor = AutoImageProcessor.from_pretrained(<span class="hljs-string">&quot;microsoft/swin-tiny-patch4-window7-224&quot;</span>)

url = <span class="hljs-string">&quot;http://images.cocodataset.org/val2017/000000039769.jpg&quot;</span>
image = Image.<span class="hljs-built_in">open</span>(requests.get(url, stream=<span class="hljs-literal">True</span>).raw)

inputs = processor(image, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>)
outputs = model(**inputs)`,wrap:!1}}),ee=new Y({props:{code:"ZmVhdHVyZV9tYXBzJTIwJTNEJTIwb3V0cHV0cy5mZWF0dXJlX21hcHMlMEFsaXN0KGZlYXR1cmVfbWFwcyU1QjAlNUQuc2hhcGUpJTBBJTVCMSUyQyUyMDk2JTJDJTIwNTYlMkMlMjA1NiU1RA==",highlighted:`feature_maps = outputs.feature_maps
<span class="hljs-built_in">list</span>(feature_maps[<span class="hljs-number">0</span>].shape)
[<span class="hljs-number">1</span>, <span class="hljs-number">96</span>, <span class="hljs-number">56</span>, <span class="hljs-number">56</span>]`,wrap:!1}}),te=new De({props:{source:"https://github.com/huggingface/transformers/blob/main/docs/source/en/backbones.md"}}),{c(){i=p("meta"),_=l(),d=p("p"),f=l(),g(m.$$.fragment),y=l(),c=p("p"),c.innerHTML=U,j=l(),u=p("div"),u.innerHTML=N,T=l(),$=p("p"),$.innerHTML=C,a=l(),g(M.$$.fragment),r=l(),k=p("p"),k.innerHTML=_e,ne=l(),g(R.$$.fragment),ae=l(),B=p("p"),B.textContent=je,le=l(),H=p("ul"),H.innerHTML=Ce,oe=l(),V=p("p"),V.innerHTML=Ue,re=l(),X=p("p"),X.innerHTML=Ne,ie=l(),g(F.$$.fragment),me=l(),g(x.$$.fragment),ce=l(),I=p("p"),I.innerHTML=Ye,pe=l(),E=p("p"),E.innerHTML=Ge,be=l(),g(L.$$.fragment),fe=l(),z=p("p"),z.innerHTML=Fe,ue=l(),g(S.$$.fragment),de=l(),Q=p("p"),Q.innerHTML=Re,ye=l(),g(P.$$.fragment),he=l(),g(A.$$.fragment),Me=l(),q=p("p"),q.textContent=Be,ke=l(),D=p("p"),D.textContent=He,$e=l(),g(K.$$.fragment),Te=l(),O=p("p"),O.innerHTML=Ve,ge=l(),g(ee.$$.fragment),we=l(),g(te.$$.fragment),Je=l(),se=p("p"),this.h()},l(e){const s=Pe("svelte-u9bgzb",document.head);i=b(s,"META",{name:!0,content:!0}),s.forEach(t),_=o(e),d=b(e,"P",{}),xe(d).forEach(t),f=o(e),w(m.$$.fragment,e),y=o(e),c=b(e,"P",{"data-svelte-h":!0}),h(c)!=="svelte-r0z7w7"&&(c.innerHTML=U),j=o(e),u=b(e,"DIV",{class:!0,"data-svelte-h":!0}),h(u)!=="svelte-1o68fux"&&(u.innerHTML=N),T=o(e),$=b(e,"P",{"data-svelte-h":!0}),h($)!=="svelte-179nytz"&&($.innerHTML=C),a=o(e),w(M.$$.fragment,e),r=o(e),k=b(e,"P",{"data-svelte-h":!0}),h(k)!=="svelte-14t4xyc"&&(k.innerHTML=_e),ne=o(e),w(R.$$.fragment,e),ae=o(e),B=b(e,"P",{"data-svelte-h":!0}),h(B)!=="svelte-7dvju7"&&(B.textContent=je),le=o(e),H=b(e,"UL",{"data-svelte-h":!0}),h(H)!=="svelte-rvkn1t"&&(H.innerHTML=Ce),oe=o(e),V=b(e,"P",{"data-svelte-h":!0}),h(V)!=="svelte-17wiq0n"&&(V.innerHTML=Ue),re=o(e),X=b(e,"P",{"data-svelte-h":!0}),h(X)!=="svelte-1vb6o5h"&&(X.innerHTML=Ne),ie=o(e),w(F.$$.fragment,e),me=o(e),w(x.$$.fragment,e),ce=o(e),I=b(e,"P",{"data-svelte-h":!0}),h(I)!=="svelte-12fm7r8"&&(I.innerHTML=Ye),pe=o(e),E=b(e,"P",{"data-svelte-h":!0}),h(E)!=="svelte-1cty67k"&&(E.innerHTML=Ge),be=o(e),w(L.$$.fragment,e),fe=o(e),z=b(e,"P",{"data-svelte-h":!0}),h(z)!=="svelte-12h9bgb"&&(z.innerHTML=Fe),ue=o(e),w(S.$$.fragment,e),de=o(e),Q=b(e,"P",{"data-svelte-h":!0}),h(Q)!=="svelte-14lf85v"&&(Q.innerHTML=Re),ye=o(e),w(P.$$.fragment,e),he=o(e),w(A.$$.fragment,e),Me=o(e),q=b(e,"P",{"data-svelte-h":!0}),h(q)!=="svelte-1s3xmyq"&&(q.textContent=Be),ke=o(e),D=b(e,"P",{"data-svelte-h":!0}),h(D)!=="svelte-qb8og1"&&(D.textContent=He),$e=o(e),w(K.$$.fragment,e),Te=o(e),O=b(e,"P",{"data-svelte-h":!0}),h(O)!=="svelte-bk7lad"&&(O.innerHTML=Ve),ge=o(e),w(ee.$$.fragment,e),we=o(e),w(te.$$.fragment,e),Je=o(e),se=b(e,"P",{}),xe(se).forEach(t),this.h()},h(){ve(i,"name","hf:doc:metadata"),ve(i,"content",st),ve(u,"class","flex justify-center")},m(e,s){Ae(document.head,i),n(e,_,s),n(e,d,s),n(e,f,s),J(m,e,s),n(e,y,s),n(e,c,s),n(e,j,s),n(e,u,s),n(e,T,s),n(e,$,s),n(e,a,s),J(M,e,s),n(e,r,s),n(e,k,s),n(e,ne,s),J(R,e,s),n(e,ae,s),n(e,B,s),n(e,le,s),n(e,H,s),n(e,oe,s),n(e,V,s),n(e,re,s),n(e,X,s),n(e,ie,s),J(F,e,s),n(e,me,s),J(x,e,s),n(e,ce,s),n(e,I,s),n(e,pe,s),n(e,E,s),n(e,be,s),J(L,e,s),n(e,fe,s),n(e,z,s),n(e,ue,s),J(S,e,s),n(e,de,s),n(e,Q,s),n(e,ye,s),J(P,e,s),n(e,he,s),J(A,e,s),n(e,Me,s),n(e,q,s),n(e,ke,s),n(e,D,s),n(e,$e,s),J(K,e,s),n(e,Te,s),n(e,O,s),n(e,ge,s),J(ee,e,s),n(e,we,s),J(te,e,s),n(e,Je,s),n(e,se,s),Ze=!0},p(e,[s]){const Xe={};s&2&&(Xe.$$scope={dirty:s,ctx:e}),F.$set(Xe)},i(e){Ze||(Z(m.$$.fragment,e),Z(M.$$.fragment,e),Z(R.$$.fragment,e),Z(F.$$.fragment,e),Z(x.$$.fragment,e),Z(L.$$.fragment,e),Z(S.$$.fragment,e),Z(P.$$.fragment,e),Z(A.$$.fragment,e),Z(K.$$.fragment,e),Z(ee.$$.fragment,e),Z(te.$$.fragment,e),Ze=!0)},o(e){W(m.$$.fragment,e),W(M.$$.fragment,e),W(R.$$.fragment,e),W(F.$$.fragment,e),W(x.$$.fragment,e),W(L.$$.fragment,e),W(S.$$.fragment,e),W(P.$$.fragment,e),W(A.$$.fragment,e),W(K.$$.fragment,e),W(ee.$$.fragment,e),W(te.$$.fragment,e),Ze=!1},d(e){e&&(t(_),t(d),t(f),t(y),t(c),t(j),t(u),t(T),t($),t(a),t(r),t(k),t(ne),t(ae),t(B),t(le),t(H),t(oe),t(V),t(re),t(X),t(ie),t(me),t(ce),t(I),t(pe),t(E),t(be),t(fe),t(z),t(ue),t(de),t(Q),t(ye),t(he),t(Me),t(q),t(ke),t(D),t($e),t(Te),t(O),t(ge),t(we),t(Je),t(se)),t(i),v(m,e),v(M,e),v(R,e),v(F,e),v(x,e),v(L,e),v(S,e),v(P,e),v(A,e),v(K,e),v(ee,e),v(te,e)}}}const st='{"title":"Backbones","local":"backbones","sections":[{"title":"Backbone classes","local":"backbone-classes","sections":[],"depth":2},{"title":"timm backbones","local":"timm-backbones","sections":[],"depth":2},{"title":"Feature extraction","local":"feature-extraction","sections":[],"depth":2}],"depth":1}';function nt(G){return ze(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ct extends Se{constructor(i){super(),Qe(this,i,nt,tt,Le,{})}}export{ct as component};
