import{S as cs,i as ls,s as ds,e as o,k as l,w as b,t as n,M as ms,c as a,d as s,m as d,a as t,x as $,h as i,b as c,G as e,g,y as x,q as P,o as w,B as I,v as ps,L as gs}from"../../chunks/vendor-hf-doc-builder.js";import{D as ae}from"../../chunks/Docstring-hf-doc-builder.js";import{C as fs}from"../../chunks/CodeBlock-hf-doc-builder.js";import{I as Ue}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{E as hs}from"../../chunks/ExampleCodeBlock-hf-doc-builder.js";function us(Te){let f,A,_,h,k;return h=new fs({props:{code:`# We can't instantiate directly the base class *ImageProcessingMixin* so let's show the examples on a
# derived class: *CLIPImageProcessor*
image_processor = CLIPImageProcessor.from_pretrained(
    "openai/clip-vit-base-patch32"
)  # Download image_processing_config from huggingface.co and cache.
image_processor = CLIPImageProcessor.from_pretrained(
    "./test/saved_model/"
)  # E.g. image processor (or model) was saved using *save_pretrained('./test/saved_model/')*
image_processor = CLIPImageProcessor.from_pretrained("./test/saved_model/preprocessor_config.json")
image_processor = CLIPImageProcessor.from_pretrained(
    "openai/clip-vit-base-patch32", do_normalize=False, foo=False
)
assert image_processor.do_normalize is False
image_processor, unused_kwargs = CLIPImageProcessor.from_pretrained(
    "openai/clip-vit-base-patch32", do_normalize=False, foo=False, return_unused_kwargs=True
)
assert image_processor.do_normalize is False
assert unused_kwargs == {"foo": False}`,highlighted:`<span class="hljs-comment"># We can&#x27;t instantiate directly the base class *ImageProcessingMixin* so let&#x27;s show the examples on a</span>
<span class="hljs-comment"># derived class: *CLIPImageProcessor*</span>
image_processor = CLIPImageProcessor.from_pretrained(
    <span class="hljs-string">&quot;openai/clip-vit-base-patch32&quot;</span>
)  <span class="hljs-comment"># Download image_processing_config from huggingface.co and cache.</span>
image_processor = CLIPImageProcessor.from_pretrained(
    <span class="hljs-string">&quot;./test/saved_model/&quot;</span>
)  <span class="hljs-comment"># E.g. image processor (or model) was saved using *save_pretrained(&#x27;./test/saved_model/&#x27;)*</span>
image_processor = CLIPImageProcessor.from_pretrained(<span class="hljs-string">&quot;./test/saved_model/preprocessor_config.json&quot;</span>)
image_processor = CLIPImageProcessor.from_pretrained(
    <span class="hljs-string">&quot;openai/clip-vit-base-patch32&quot;</span>, do_normalize=<span class="hljs-literal">False</span>, foo=<span class="hljs-literal">False</span>
)
<span class="hljs-keyword">assert</span> image_processor.do_normalize <span class="hljs-keyword">is</span> <span class="hljs-literal">False</span>
image_processor, unused_kwargs = CLIPImageProcessor.from_pretrained(
    <span class="hljs-string">&quot;openai/clip-vit-base-patch32&quot;</span>, do_normalize=<span class="hljs-literal">False</span>, foo=<span class="hljs-literal">False</span>, return_unused_kwargs=<span class="hljs-literal">True</span>
)
<span class="hljs-keyword">assert</span> image_processor.do_normalize <span class="hljs-keyword">is</span> <span class="hljs-literal">False</span>
<span class="hljs-keyword">assert</span> unused_kwargs == {<span class="hljs-string">&quot;foo&quot;</span>: <span class="hljs-literal">False</span>}`}}),{c(){f=o("p"),A=n("Examples:"),_=l(),b(h.$$.fragment)},l(m){f=a(m,"P",{});var E=t(f);A=i(E,"Examples:"),E.forEach(s),_=d(m),$(h.$$.fragment,m)},m(m,E){g(m,f,E),e(f,A),g(m,_,E),x(h,m,E),k=!0},p:gs,i(m){k||(P(h.$$.fragment,m),k=!0)},o(m){w(h.$$.fragment,m),k=!1},d(m){m&&s(f),m&&s(_),I(h,m)}}}function _s(Te){let f,A,_,h,k,m,E,pe,We,Fe,te,Je,Me,B,N,ge,W,Ye,fe,Ge,Be,v,J,Re,he,Ke,Qe,T,Y,Xe,G,Ze,ne,er,rr,sr,q,or,S,R,ar,D,tr,ue,nr,ir,ie,cr,lr,De,j,z,_e,K,dr,ve,mr,je,u,Q,pr,L,gr,ce,fr,hr,ye,ur,_r,vr,be,yr,br,O,X,$r,$e,xr,Pr,H,Z,wr,y,Ir,xe,kr,Er,Pe,Tr,Fr,we,Mr,Br,Ie,Dr,jr,Le,C,V,ke,ee,Lr,Ee,Cr,Ce,re,se,Ae;return m=new Ue({}),W=new Ue({}),J=new ae({props:{name:"class transformers.ImageProcessingMixin",anchor:"transformers.ImageProcessingMixin",parameters:[{name:"**kwargs",val:""}],source:"https://github.com/huggingface/transformers/blob/v4.29.0/src/transformers/image_processing_utils.py#L59"}}),Y=new ae({props:{name:"from_pretrained",anchor:"transformers.ImageProcessingMixin.from_pretrained",parameters:[{name:"pretrained_model_name_or_path",val:": typing.Union[str, os.PathLike]"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.ImageProcessingMixin.from_pretrained.pretrained_model_name_or_path",description:`<strong>pretrained_model_name_or_path</strong> (<code>str</code> or <code>os.PathLike</code>) &#x2014;
This can be either:</p>
<ul>
<li>a string, the <em>model id</em> of a pretrained image_processor hosted inside a model repo on
huggingface.co. Valid model ids can be located at the root-level, like <code>bert-base-uncased</code>, or
namespaced under a user or organization name, like <code>dbmdz/bert-base-german-cased</code>.</li>
<li>a path to a <em>directory</em> containing a image processor file saved using the
<a href="/docs/transformers/v4.29.0/en/main_classes/image_processor#transformers.ImageProcessingMixin.save_pretrained">save_pretrained()</a> method, e.g.,
<code>./my_model_directory/</code>.</li>
<li>a path or url to a saved image processor JSON <em>file</em>, e.g.,
<code>./my_model_directory/preprocessor_config.json</code>.</li>
</ul>`,name:"pretrained_model_name_or_path"},{anchor:"transformers.ImageProcessingMixin.from_pretrained.cache_dir",description:`<strong>cache_dir</strong> (<code>str</code> or <code>os.PathLike</code>, <em>optional</em>) &#x2014;
Path to a directory in which a downloaded pretrained model image processor should be cached if the
standard cache should not be used.`,name:"cache_dir"},{anchor:"transformers.ImageProcessingMixin.from_pretrained.force_download",description:`<strong>force_download</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to force to (re-)download the image processor files and override the cached versions if
they exist.`,name:"force_download"},{anchor:"transformers.ImageProcessingMixin.from_pretrained.resume_download",description:`<strong>resume_download</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to delete incompletely received file. Attempts to resume the download if such a file
exists.`,name:"resume_download"},{anchor:"transformers.ImageProcessingMixin.from_pretrained.proxies",description:`<strong>proxies</strong> (<code>Dict[str, str]</code>, <em>optional</em>) &#x2014;
A dictionary of proxy servers to use by protocol or endpoint, e.g., <code>{&apos;http&apos;: &apos;foo.bar:3128&apos;, &apos;http://hostname&apos;: &apos;foo.bar:4012&apos;}.</code> The proxies are used on each request.`,name:"proxies"},{anchor:"transformers.ImageProcessingMixin.from_pretrained.use_auth_token",description:`<strong>use_auth_token</strong> (<code>str</code> or <code>bool</code>, <em>optional</em>) &#x2014;
The token to use as HTTP bearer authorization for remote files. If <code>True</code>, or not specified, will use
the token generated when running <code>huggingface-cli login</code> (stored in <code>~/.huggingface</code>).`,name:"use_auth_token"},{anchor:"transformers.ImageProcessingMixin.from_pretrained.revision",description:`<strong>revision</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;main&quot;</code>) &#x2014;
The specific model version to use. It can be a branch name, a tag name, or a commit id, since we use a
git-based system for storing models and other artifacts on huggingface.co, so <code>revision</code> can be any
identifier allowed by git.`,name:"revision"}],source:"https://github.com/huggingface/transformers/blob/v4.29.0/src/transformers/image_processing_utils.py#L83",returnDescription:`
<p>A image processor of type <a
  href="/docs/transformers/v4.29.0/en/main_classes/image_processor#transformers.ImageProcessingMixin"
>ImageProcessingMixin</a>.</p>
`}}),q=new hs({props:{anchor:"transformers.ImageProcessingMixin.from_pretrained.example",$$slots:{default:[us]},$$scope:{ctx:Te}}}),R=new ae({props:{name:"save_pretrained",anchor:"transformers.ImageProcessingMixin.save_pretrained",parameters:[{name:"save_directory",val:": typing.Union[str, os.PathLike]"},{name:"push_to_hub",val:": bool = False"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.ImageProcessingMixin.save_pretrained.save_directory",description:`<strong>save_directory</strong> (<code>str</code> or <code>os.PathLike</code>) &#x2014;
Directory where the image processor JSON file will be saved (will be created if it does not exist).`,name:"save_directory"},{anchor:"transformers.ImageProcessingMixin.save_pretrained.push_to_hub",description:`<strong>push_to_hub</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to push your model to the Hugging Face model hub after saving it. You can specify the
repository you want to push to with <code>repo_id</code> (will default to the name of <code>save_directory</code> in your
namespace).
kwargs &#x2014;
Additional key word arguments passed along to the <a href="/docs/transformers/v4.29.0/en/main_classes/tokenizer#transformers.PreTrainedTokenizerFast.push_to_hub">push_to_hub()</a> method.`,name:"push_to_hub"}],source:"https://github.com/huggingface/transformers/blob/v4.29.0/src/transformers/image_processing_utils.py#L169"}}),K=new Ue({}),Q=new ae({props:{name:"class transformers.BatchFeature",anchor:"transformers.BatchFeature",parameters:[{name:"data",val:": typing.Union[typing.Dict[str, typing.Any], NoneType] = None"},{name:"tensor_type",val:": typing.Union[NoneType, str, transformers.utils.generic.TensorType] = None"}],parametersDescription:[{anchor:"transformers.BatchFeature.data",description:`<strong>data</strong> (<code>dict</code>) &#x2014;
Dictionary of lists/arrays/tensors returned by the <strong>call</strong>/pad methods (&#x2018;input_values&#x2019;, &#x2018;attention_mask&#x2019;,
etc.).`,name:"data"},{anchor:"transformers.BatchFeature.tensor_type",description:`<strong>tensor_type</strong> (<code>Union[None, str, TensorType]</code>, <em>optional</em>) &#x2014;
You can give a tensor_type here to convert the lists of integers in PyTorch/TensorFlow/Numpy Tensors at
initialization.`,name:"tensor_type"}],source:"https://github.com/huggingface/transformers/blob/v4.29.0/src/transformers/feature_extraction_utils.py#L60"}}),X=new ae({props:{name:"convert_to_tensors",anchor:"transformers.BatchFeature.convert_to_tensors",parameters:[{name:"tensor_type",val:": typing.Union[str, transformers.utils.generic.TensorType, NoneType] = None"}],parametersDescription:[{anchor:"transformers.BatchFeature.convert_to_tensors.tensor_type",description:`<strong>tensor_type</strong> (<code>str</code> or <a href="/docs/transformers/v4.29.0/en/internal/file_utils#transformers.TensorType">TensorType</a>, <em>optional</em>) &#x2014;
The type of tensors to use. If <code>str</code>, should be one of the values of the enum <a href="/docs/transformers/v4.29.0/en/internal/file_utils#transformers.TensorType">TensorType</a>. If
<code>None</code>, no modification is done.`,name:"tensor_type"}],source:"https://github.com/huggingface/transformers/blob/v4.29.0/src/transformers/feature_extraction_utils.py#L114"}}),Z=new ae({props:{name:"to",anchor:"transformers.BatchFeature.to",parameters:[{name:"*args",val:""},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"transformers.BatchFeature.to.args",description:`<strong>args</strong> (<code>Tuple</code>) &#x2014;
Will be passed to the <code>to(...)</code> function of the tensors.`,name:"args"},{anchor:"transformers.BatchFeature.to.kwargs",description:`<strong>kwargs</strong> (<code>Dict</code>, <em>optional</em>) &#x2014;
Will be passed to the <code>to(...)</code> function of the tensors.`,name:"kwargs"}],source:"https://github.com/huggingface/transformers/blob/v4.29.0/src/transformers/feature_extraction_utils.py#L179",returnDescription:`
<p>The same instance after modification.</p>
`,returnType:`
<p><a
  href="/docs/transformers/v4.29.0/en/main_classes/feature_extractor#transformers.BatchFeature"
>BatchFeature</a></p>
`}}),ee=new Ue({}),se=new ae({props:{name:"class transformers.image_processing_utils.BaseImageProcessor",anchor:"transformers.image_processing_utils.BaseImageProcessor",parameters:[{name:"**kwargs",val:""}],source:"https://github.com/huggingface/transformers/blob/v4.29.0/src/transformers/image_processing_utils.py#L458"}}),{c(){f=o("meta"),A=l(),_=o("h1"),h=o("a"),k=o("span"),b(m.$$.fragment),E=l(),pe=o("span"),We=n("Image Processor"),Fe=l(),te=o("p"),Je=n("An image processor is in charge of preparing input features for vision models and post processing their outputs. This includes transformations such as resizing, normalization, and conversion to PyTorch, TensorFlow, Flax and Numpy tensors. It may also include model specific post-processing such as converting logits to segmentation masks."),Me=l(),B=o("h2"),N=o("a"),ge=o("span"),b(W.$$.fragment),Ye=l(),fe=o("span"),Ge=n("ImageProcessingMixin"),Be=l(),v=o("div"),b(J.$$.fragment),Re=l(),he=o("p"),Ke=n(`This is an image processor mixin used to provide saving/loading functionality for sequential and image feature
extractors.`),Qe=l(),T=o("div"),b(Y.$$.fragment),Xe=l(),G=o("p"),Ze=n("Instantiate a type of "),ne=o("a"),er=n("ImageProcessingMixin"),rr=n(" from an image processor."),sr=l(),b(q.$$.fragment),or=l(),S=o("div"),b(R.$$.fragment),ar=l(),D=o("p"),tr=n("Save an image processor object to the directory "),ue=o("code"),nr=n("save_directory"),ir=n(`, so that it can be re-loaded using the
`),ie=o("a"),cr=n("from_pretrained()"),lr=n(" class method."),De=l(),j=o("h2"),z=o("a"),_e=o("span"),b(K.$$.fragment),dr=l(),ve=o("span"),mr=n("BatchFeature"),je=l(),u=o("div"),b(Q.$$.fragment),pr=l(),L=o("p"),gr=n("Holds the output of the "),ce=o("a"),fr=n("pad()"),hr=n(" and feature extractor specific "),ye=o("code"),ur=n("__call__"),_r=n(" methods."),vr=l(),be=o("p"),yr=n("This class is derived from a python dictionary and can be used as a dictionary."),br=l(),O=o("div"),b(X.$$.fragment),$r=l(),$e=o("p"),xr=n("Convert the inner content to tensors."),Pr=l(),H=o("div"),b(Z.$$.fragment),wr=l(),y=o("p"),Ir=n("Send all values to device by calling "),xe=o("code"),kr=n("v.to(*args, **kwargs)"),Er=n(` (PyTorch only). This should support casting in
different `),Pe=o("code"),Tr=n("dtypes"),Fr=n(" and sending the "),we=o("code"),Mr=n("BatchFeature"),Br=n(" to a different "),Ie=o("code"),Dr=n("device"),jr=n("."),Le=l(),C=o("h2"),V=o("a"),ke=o("span"),b(ee.$$.fragment),Lr=l(),Ee=o("span"),Cr=n("BaseImageProcessor"),Ce=l(),re=o("div"),b(se.$$.fragment),this.h()},l(r){const p=ms('[data-svelte="svelte-1phssyn"]',document.head);f=a(p,"META",{name:!0,content:!0}),p.forEach(s),A=d(r),_=a(r,"H1",{class:!0});var oe=t(_);h=a(oe,"A",{id:!0,class:!0,href:!0});var Ar=t(h);k=a(Ar,"SPAN",{});var Nr=t(k);$(m.$$.fragment,Nr),Nr.forEach(s),Ar.forEach(s),E=d(oe),pe=a(oe,"SPAN",{});var qr=t(pe);We=i(qr,"Image Processor"),qr.forEach(s),oe.forEach(s),Fe=d(r),te=a(r,"P",{});var Sr=t(te);Je=i(Sr,"An image processor is in charge of preparing input features for vision models and post processing their outputs. This includes transformations such as resizing, normalization, and conversion to PyTorch, TensorFlow, Flax and Numpy tensors. It may also include model specific post-processing such as converting logits to segmentation masks."),Sr.forEach(s),Me=d(r),B=a(r,"H2",{class:!0});var Ne=t(B);N=a(Ne,"A",{id:!0,class:!0,href:!0});var zr=t(N);ge=a(zr,"SPAN",{});var Or=t(ge);$(W.$$.fragment,Or),Or.forEach(s),zr.forEach(s),Ye=d(Ne),fe=a(Ne,"SPAN",{});var Hr=t(fe);Ge=i(Hr,"ImageProcessingMixin"),Hr.forEach(s),Ne.forEach(s),Be=d(r),v=a(r,"DIV",{class:!0});var U=t(v);$(J.$$.fragment,U),Re=d(U),he=a(U,"P",{});var Vr=t(he);Ke=i(Vr,`This is an image processor mixin used to provide saving/loading functionality for sequential and image feature
extractors.`),Vr.forEach(s),Qe=d(U),T=a(U,"DIV",{class:!0});var le=t(T);$(Y.$$.fragment,le),Xe=d(le),G=a(le,"P",{});var qe=t(G);Ze=i(qe,"Instantiate a type of "),ne=a(qe,"A",{href:!0});var Ur=t(ne);er=i(Ur,"ImageProcessingMixin"),Ur.forEach(s),rr=i(qe," from an image processor."),qe.forEach(s),sr=d(le),$(q.$$.fragment,le),le.forEach(s),or=d(U),S=a(U,"DIV",{class:!0});var Se=t(S);$(R.$$.fragment,Se),ar=d(Se),D=a(Se,"P",{});var de=t(D);tr=i(de,"Save an image processor object to the directory "),ue=a(de,"CODE",{});var Wr=t(ue);nr=i(Wr,"save_directory"),Wr.forEach(s),ir=i(de,`, so that it can be re-loaded using the
`),ie=a(de,"A",{href:!0});var Jr=t(ie);cr=i(Jr,"from_pretrained()"),Jr.forEach(s),lr=i(de," class method."),de.forEach(s),Se.forEach(s),U.forEach(s),De=d(r),j=a(r,"H2",{class:!0});var ze=t(j);z=a(ze,"A",{id:!0,class:!0,href:!0});var Yr=t(z);_e=a(Yr,"SPAN",{});var Gr=t(_e);$(K.$$.fragment,Gr),Gr.forEach(s),Yr.forEach(s),dr=d(ze),ve=a(ze,"SPAN",{});var Rr=t(ve);mr=i(Rr,"BatchFeature"),Rr.forEach(s),ze.forEach(s),je=d(r),u=a(r,"DIV",{class:!0});var F=t(u);$(Q.$$.fragment,F),pr=d(F),L=a(F,"P",{});var me=t(L);gr=i(me,"Holds the output of the "),ce=a(me,"A",{href:!0});var Kr=t(ce);fr=i(Kr,"pad()"),Kr.forEach(s),hr=i(me," and feature extractor specific "),ye=a(me,"CODE",{});var Qr=t(ye);ur=i(Qr,"__call__"),Qr.forEach(s),_r=i(me," methods."),me.forEach(s),vr=d(F),be=a(F,"P",{});var Xr=t(be);yr=i(Xr,"This class is derived from a python dictionary and can be used as a dictionary."),Xr.forEach(s),br=d(F),O=a(F,"DIV",{class:!0});var Oe=t(O);$(X.$$.fragment,Oe),$r=d(Oe),$e=a(Oe,"P",{});var Zr=t($e);xr=i(Zr,"Convert the inner content to tensors."),Zr.forEach(s),Oe.forEach(s),Pr=d(F),H=a(F,"DIV",{class:!0});var He=t(H);$(Z.$$.fragment,He),wr=d(He),y=a(He,"P",{});var M=t(y);Ir=i(M,"Send all values to device by calling "),xe=a(M,"CODE",{});var es=t(xe);kr=i(es,"v.to(*args, **kwargs)"),es.forEach(s),Er=i(M,` (PyTorch only). This should support casting in
different `),Pe=a(M,"CODE",{});var rs=t(Pe);Tr=i(rs,"dtypes"),rs.forEach(s),Fr=i(M," and sending the "),we=a(M,"CODE",{});var ss=t(we);Mr=i(ss,"BatchFeature"),ss.forEach(s),Br=i(M," to a different "),Ie=a(M,"CODE",{});var os=t(Ie);Dr=i(os,"device"),os.forEach(s),jr=i(M,"."),M.forEach(s),He.forEach(s),F.forEach(s),Le=d(r),C=a(r,"H2",{class:!0});var Ve=t(C);V=a(Ve,"A",{id:!0,class:!0,href:!0});var as=t(V);ke=a(as,"SPAN",{});var ts=t(ke);$(ee.$$.fragment,ts),ts.forEach(s),as.forEach(s),Lr=d(Ve),Ee=a(Ve,"SPAN",{});var ns=t(Ee);Cr=i(ns,"BaseImageProcessor"),ns.forEach(s),Ve.forEach(s),Ce=d(r),re=a(r,"DIV",{class:!0});var is=t(re);$(se.$$.fragment,is),is.forEach(s),this.h()},h(){c(f,"name","hf:doc:metadata"),c(f,"content",JSON.stringify(vs)),c(h,"id","image-processor"),c(h,"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"),c(h,"href","#image-processor"),c(_,"class","relative group"),c(N,"id","transformers.ImageProcessingMixin"),c(N,"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"),c(N,"href","#transformers.ImageProcessingMixin"),c(B,"class","relative group"),c(ne,"href","/docs/transformers/v4.29.0/en/main_classes/image_processor#transformers.ImageProcessingMixin"),c(T,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),c(ie,"href","/docs/transformers/v4.29.0/en/main_classes/image_processor#transformers.ImageProcessingMixin.from_pretrained"),c(S,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),c(v,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),c(z,"id","transformers.BatchFeature"),c(z,"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"),c(z,"href","#transformers.BatchFeature"),c(j,"class","relative group"),c(ce,"href","/docs/transformers/v4.29.0/en/main_classes/feature_extractor#transformers.SequenceFeatureExtractor.pad"),c(O,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),c(H,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),c(u,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),c(V,"id","transformers.image_processing_utils.BaseImageProcessor"),c(V,"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"),c(V,"href","#transformers.image_processing_utils.BaseImageProcessor"),c(C,"class","relative group"),c(re,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8")},m(r,p){e(document.head,f),g(r,A,p),g(r,_,p),e(_,h),e(h,k),x(m,k,null),e(_,E),e(_,pe),e(pe,We),g(r,Fe,p),g(r,te,p),e(te,Je),g(r,Me,p),g(r,B,p),e(B,N),e(N,ge),x(W,ge,null),e(B,Ye),e(B,fe),e(fe,Ge),g(r,Be,p),g(r,v,p),x(J,v,null),e(v,Re),e(v,he),e(he,Ke),e(v,Qe),e(v,T),x(Y,T,null),e(T,Xe),e(T,G),e(G,Ze),e(G,ne),e(ne,er),e(G,rr),e(T,sr),x(q,T,null),e(v,or),e(v,S),x(R,S,null),e(S,ar),e(S,D),e(D,tr),e(D,ue),e(ue,nr),e(D,ir),e(D,ie),e(ie,cr),e(D,lr),g(r,De,p),g(r,j,p),e(j,z),e(z,_e),x(K,_e,null),e(j,dr),e(j,ve),e(ve,mr),g(r,je,p),g(r,u,p),x(Q,u,null),e(u,pr),e(u,L),e(L,gr),e(L,ce),e(ce,fr),e(L,hr),e(L,ye),e(ye,ur),e(L,_r),e(u,vr),e(u,be),e(be,yr),e(u,br),e(u,O),x(X,O,null),e(O,$r),e(O,$e),e($e,xr),e(u,Pr),e(u,H),x(Z,H,null),e(H,wr),e(H,y),e(y,Ir),e(y,xe),e(xe,kr),e(y,Er),e(y,Pe),e(Pe,Tr),e(y,Fr),e(y,we),e(we,Mr),e(y,Br),e(y,Ie),e(Ie,Dr),e(y,jr),g(r,Le,p),g(r,C,p),e(C,V),e(V,ke),x(ee,ke,null),e(C,Lr),e(C,Ee),e(Ee,Cr),g(r,Ce,p),g(r,re,p),x(se,re,null),Ae=!0},p(r,[p]){const oe={};p&2&&(oe.$$scope={dirty:p,ctx:r}),q.$set(oe)},i(r){Ae||(P(m.$$.fragment,r),P(W.$$.fragment,r),P(J.$$.fragment,r),P(Y.$$.fragment,r),P(q.$$.fragment,r),P(R.$$.fragment,r),P(K.$$.fragment,r),P(Q.$$.fragment,r),P(X.$$.fragment,r),P(Z.$$.fragment,r),P(ee.$$.fragment,r),P(se.$$.fragment,r),Ae=!0)},o(r){w(m.$$.fragment,r),w(W.$$.fragment,r),w(J.$$.fragment,r),w(Y.$$.fragment,r),w(q.$$.fragment,r),w(R.$$.fragment,r),w(K.$$.fragment,r),w(Q.$$.fragment,r),w(X.$$.fragment,r),w(Z.$$.fragment,r),w(ee.$$.fragment,r),w(se.$$.fragment,r),Ae=!1},d(r){s(f),r&&s(A),r&&s(_),I(m),r&&s(Fe),r&&s(te),r&&s(Me),r&&s(B),I(W),r&&s(Be),r&&s(v),I(J),I(Y),I(q),I(R),r&&s(De),r&&s(j),I(K),r&&s(je),r&&s(u),I(Q),I(X),I(Z),r&&s(Le),r&&s(C),I(ee),r&&s(Ce),r&&s(re),I(se)}}}const vs={local:"image-processor",sections:[{local:"transformers.ImageProcessingMixin",title:"ImageProcessingMixin"},{local:"transformers.BatchFeature",title:"BatchFeature"},{local:"transformers.image_processing_utils.BaseImageProcessor",title:"BaseImageProcessor"}],title:"Image Processor"};function ys(Te){return ps(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Is extends cs{constructor(f){super();ls(this,f,ys,_s,ds,{})}}export{Is as default,vs as metadata};
