import{S as da,i as ha,s as $a,e as i,k as d,w as T,t as o,M as ba,c as n,d as t,m as h,a as c,x as W,h as s,b as v,G as a,g as u,y as x,q as U,o as N,B as P,v as va,L as ma}from"../chunks/vendor-hf-doc-builder.js";import{T as ya}from"../chunks/Tip-hf-doc-builder.js";import{I as Se}from"../chunks/IconCopyLink-hf-doc-builder.js";import{C as ye}from"../chunks/CodeBlock-hf-doc-builder.js";import{F as ka,M as fa}from"../chunks/Markdown-hf-doc-builder.js";import"../chunks/IconTensorflow-hf-doc-builder.js";function _a(O){let l,_,p,b,z,y,R,Z;return{c(){l=i("p"),_=o("Ricorda, con architettura ci si riferisce allo scheletro del modello e con checkpoint ai pesi di una determinata architettura. Per esempio, "),p=i("a"),b=o("BERT"),z=o(" \xE8 un\u2019architettura, mentre "),y=i("code"),R=o("bert-base-uncased"),Z=o(" \xE8 un checkpoint. Modello \xE8 un termine generale che pu\xF2 significare sia architettura che checkpoint."),this.h()},l(j){l=n(j,"P",{});var g=c(l);_=s(g,"Ricorda, con architettura ci si riferisce allo scheletro del modello e con checkpoint ai pesi di una determinata architettura. Per esempio, "),p=n(g,"A",{href:!0,rel:!0});var M=c(p);b=s(M,"BERT"),M.forEach(t),z=s(g," \xE8 un\u2019architettura, mentre "),y=n(g,"CODE",{});var V=c(y);R=s(V,"bert-base-uncased"),V.forEach(t),Z=s(g," \xE8 un checkpoint. Modello \xE8 un termine generale che pu\xF2 significare sia architettura che checkpoint."),g.forEach(t),this.h()},h(){v(p,"href","https://huggingface.co/bert-base-uncased"),v(p,"rel","nofollow")},m(j,g){u(j,l,g),a(l,_),a(l,p),a(p,b),a(l,z),a(l,y),a(y,R),a(l,Z)},d(j){j&&t(l)}}}function Ea(O){let l,_,p,b,z,y,R,Z,j,g,M,V,w,X,F,S,I,C,G,$,L,A,K,D,E,Y,ee,J,H,te,Q;return w=new ye({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbEZvclNlcXVlbmNlQ2xhc3NpZmljYXRpb24lMEElMEFtb2RlbCUyMCUzRCUyMEF1dG9Nb2RlbEZvclNlcXVlbmNlQ2xhc3NpZmljYXRpb24uZnJvbV9wcmV0cmFpbmVkKCUyMmRpc3RpbGJlcnQtYmFzZS11bmNhc2VkJTIyKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForSequenceClassification

<span class="hljs-meta">&gt;&gt;&gt; </span>model = AutoModelForSequenceClassification.from_pretrained(<span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>)`}}),C=new ye({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbEZvclRva2VuQ2xhc3NpZmljYXRpb24lMEElMEFtb2RlbCUyMCUzRCUyMEF1dG9Nb2RlbEZvclRva2VuQ2xhc3NpZmljYXRpb24uZnJvbV9wcmV0cmFpbmVkKCUyMmRpc3RpbGJlcnQtYmFzZS11bmNhc2VkJTIyKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForTokenClassification

<span class="hljs-meta">&gt;&gt;&gt; </span>model = AutoModelForTokenClassification.from_pretrained(<span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>)`}}),{c(){l=i("p"),_=o("Infine, le classi "),p=i("code"),b=o("AutoModelFor"),z=o(" ti permettono di caricare un modello pre-allenato per un determinato compito (guarda "),y=i("a"),R=o("qui"),Z=o(" per una lista completa di compiti presenti). Per esempio, carica un modello per la classificazione di sequenze con "),j=i("code"),g=o("AutoModelForSequenceClassification.from_pretrained()"),M=o(":"),V=d(),T(w.$$.fragment),X=d(),F=i("p"),S=o("Semplicemente utilizza lo stesso checkpoint per caricare un\u2019architettura per un task differente:"),I=d(),T(C.$$.fragment),G=d(),$=i("p"),L=o("Generalmente, raccomandiamo di utilizzare la classe "),A=i("code"),K=o("AutoTokenizer"),D=o(" e la classe "),E=i("code"),Y=o("AutoModelFor"),ee=o(" per caricare istanze pre-allenate dei modelli. Questo ti assicurer\xE0 di aver caricato la corretta architettura ogni volta. Nel prossimo "),J=i("a"),H=o("tutorial"),te=o(", imparerai come utilizzare il tokenizer, il feature extractor e il processore per elaborare un dataset per il fine-tuning."),this.h()},l(r){l=n(r,"P",{});var f=c(l);_=s(f,"Infine, le classi "),p=n(f,"CODE",{});var se=c(p);b=s(se,"AutoModelFor"),se.forEach(t),z=s(f," ti permettono di caricare un modello pre-allenato per un determinato compito (guarda "),y=n(f,"A",{href:!0});var ae=c(y);R=s(ae,"qui"),ae.forEach(t),Z=s(f," per una lista completa di compiti presenti). Per esempio, carica un modello per la classificazione di sequenze con "),j=n(f,"CODE",{});var le=c(j);g=s(le,"AutoModelForSequenceClassification.from_pretrained()"),le.forEach(t),M=s(f,":"),f.forEach(t),V=h(r),W(w.$$.fragment,r),X=h(r),F=n(r,"P",{});var oe=c(F);S=s(oe,"Semplicemente utilizza lo stesso checkpoint per caricare un\u2019architettura per un task differente:"),oe.forEach(t),I=h(r),W(C.$$.fragment,r),G=h(r),$=n(r,"P",{});var k=c($);L=s(k,"Generalmente, raccomandiamo di utilizzare la classe "),A=n(k,"CODE",{});var q=c(A);K=s(q,"AutoTokenizer"),q.forEach(t),D=s(k," e la classe "),E=n(k,"CODE",{});var re=c(E);Y=s(re,"AutoModelFor"),re.forEach(t),ee=s(k," per caricare istanze pre-allenate dei modelli. Questo ti assicurer\xE0 di aver caricato la corretta architettura ogni volta. Nel prossimo "),J=n(k,"A",{href:!0});var B=c(J);H=s(B,"tutorial"),B.forEach(t),te=s(k,", imparerai come utilizzare il tokenizer, il feature extractor e il processore per elaborare un dataset per il fine-tuning."),k.forEach(t),this.h()},h(){v(y,"href","model_doc/auto"),v(J,"href","preprocessing")},m(r,f){u(r,l,f),a(l,_),a(l,p),a(p,b),a(l,z),a(l,y),a(y,R),a(l,Z),a(l,j),a(j,g),a(l,M),u(r,V,f),x(w,r,f),u(r,X,f),u(r,F,f),a(F,S),u(r,I,f),x(C,r,f),u(r,G,f),u(r,$,f),a($,L),a($,A),a(A,K),a($,D),a($,E),a(E,Y),a($,ee),a($,J),a(J,H),a($,te),Q=!0},p:ma,i(r){Q||(U(w.$$.fragment,r),U(C.$$.fragment,r),Q=!0)},o(r){N(w.$$.fragment,r),N(C.$$.fragment,r),Q=!1},d(r){r&&t(l),r&&t(V),P(w,r),r&&t(X),r&&t(F),r&&t(I),P(C,r),r&&t(G),r&&t($)}}}function za(O){let l,_;return l=new fa({props:{$$slots:{default:[Ea]},$$scope:{ctx:O}}}),{c(){T(l.$$.fragment)},l(p){W(l.$$.fragment,p)},m(p,b){x(l,p,b),_=!0},p(p,b){const z={};b&2&&(z.$$scope={dirty:b,ctx:p}),l.$set(z)},i(p){_||(U(l.$$.fragment,p),_=!0)},o(p){N(l.$$.fragment,p),_=!1},d(p){P(l,p)}}}function ja(O){let l,_,p,b,z,y,R,Z,j,g,M,V,w,X,F,S,I,C,G,$,L,A,K,D,E,Y,ee,J,H,te,Q;return w=new ye({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGQXV0b01vZGVsRm9yU2VxdWVuY2VDbGFzc2lmaWNhdGlvbiUwQSUwQW1vZGVsJTIwJTNEJTIwVEZBdXRvTW9kZWxGb3JTZXF1ZW5jZUNsYXNzaWZpY2F0aW9uLmZyb21fcHJldHJhaW5lZCglMjJkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZCUyMik=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFAutoModelForSequenceClassification

<span class="hljs-meta">&gt;&gt;&gt; </span>model = TFAutoModelForSequenceClassification.from_pretrained(<span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>)`}}),C=new ye({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGQXV0b01vZGVsRm9yVG9rZW5DbGFzc2lmaWNhdGlvbiUwQSUwQW1vZGVsJTIwJTNEJTIwVEZBdXRvTW9kZWxGb3JUb2tlbkNsYXNzaWZpY2F0aW9uLmZyb21fcHJldHJhaW5lZCglMjJkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZCUyMik=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFAutoModelForTokenClassification

<span class="hljs-meta">&gt;&gt;&gt; </span>model = TFAutoModelForTokenClassification.from_pretrained(<span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>)`}}),{c(){l=i("p"),_=o("Infine, le classi "),p=i("code"),b=o("TFAutoModelFor"),z=o(" ti permettono di caricare un modello pre-allenato per un determinato compito (guarda "),y=i("a"),R=o("qui"),Z=o(" per una lista completa di compiti presenti). Per esempio, carica un modello per la classificazione di sequenze con "),j=i("code"),g=o("TFAutoModelForSequenceClassification.from_pretrained()"),M=o(":"),V=d(),T(w.$$.fragment),X=d(),F=i("p"),S=o("Semplicemente utilizza lo stesso checkpoint per caricare un\u2019architettura per un task differente:"),I=d(),T(C.$$.fragment),G=d(),$=i("p"),L=o("Generalmente, raccomandiamo di utilizzare la classe "),A=i("code"),K=o("AutoTokenizer"),D=o(" e la classe "),E=i("code"),Y=o("TFAutoModelFor"),ee=o(" per caricare istanze pre-allenate dei modelli. Questo ti assicurer\xE0 di aver caricato la corretta architettura ogni volta. Nel prossimo "),J=i("a"),H=o("tutorial"),te=o(", imparerai come utilizzare il tokenizer, il feature extractor e il processore per elaborare un dataset per il fine-tuning."),this.h()},l(r){l=n(r,"P",{});var f=c(l);_=s(f,"Infine, le classi "),p=n(f,"CODE",{});var se=c(p);b=s(se,"TFAutoModelFor"),se.forEach(t),z=s(f," ti permettono di caricare un modello pre-allenato per un determinato compito (guarda "),y=n(f,"A",{href:!0});var ae=c(y);R=s(ae,"qui"),ae.forEach(t),Z=s(f," per una lista completa di compiti presenti). Per esempio, carica un modello per la classificazione di sequenze con "),j=n(f,"CODE",{});var le=c(j);g=s(le,"TFAutoModelForSequenceClassification.from_pretrained()"),le.forEach(t),M=s(f,":"),f.forEach(t),V=h(r),W(w.$$.fragment,r),X=h(r),F=n(r,"P",{});var oe=c(F);S=s(oe,"Semplicemente utilizza lo stesso checkpoint per caricare un\u2019architettura per un task differente:"),oe.forEach(t),I=h(r),W(C.$$.fragment,r),G=h(r),$=n(r,"P",{});var k=c($);L=s(k,"Generalmente, raccomandiamo di utilizzare la classe "),A=n(k,"CODE",{});var q=c(A);K=s(q,"AutoTokenizer"),q.forEach(t),D=s(k," e la classe "),E=n(k,"CODE",{});var re=c(E);Y=s(re,"TFAutoModelFor"),re.forEach(t),ee=s(k," per caricare istanze pre-allenate dei modelli. Questo ti assicurer\xE0 di aver caricato la corretta architettura ogni volta. Nel prossimo "),J=n(k,"A",{href:!0});var B=c(J);H=s(B,"tutorial"),B.forEach(t),te=s(k,", imparerai come utilizzare il tokenizer, il feature extractor e il processore per elaborare un dataset per il fine-tuning."),k.forEach(t),this.h()},h(){v(y,"href","model_doc/auto"),v(J,"href","preprocessing")},m(r,f){u(r,l,f),a(l,_),a(l,p),a(p,b),a(l,z),a(l,y),a(y,R),a(l,Z),a(l,j),a(j,g),a(l,M),u(r,V,f),x(w,r,f),u(r,X,f),u(r,F,f),a(F,S),u(r,I,f),x(C,r,f),u(r,G,f),u(r,$,f),a($,L),a($,A),a(A,K),a($,D),a($,E),a(E,Y),a($,ee),a($,J),a(J,H),a($,te),Q=!0},p:ma,i(r){Q||(U(w.$$.fragment,r),U(C.$$.fragment,r),Q=!0)},o(r){N(w.$$.fragment,r),N(C.$$.fragment,r),Q=!1},d(r){r&&t(l),r&&t(V),P(w,r),r&&t(X),r&&t(F),r&&t(I),P(C,r),r&&t(G),r&&t($)}}}function ga(O){let l,_;return l=new fa({props:{$$slots:{default:[ja]},$$scope:{ctx:O}}}),{c(){T(l.$$.fragment)},l(p){W(l.$$.fragment,p)},m(p,b){x(l,p,b),_=!0},p(p,b){const z={};b&2&&(z.$$scope={dirty:b,ctx:p}),l.$set(z)},i(p){_||(U(l.$$.fragment,p),_=!0)},o(p){N(l.$$.fragment,p),_=!1},d(p){P(l,p)}}}function Ma(O){let l,_,p,b,z,y,R,Z,j,g,M,V,w,X,F,S,I,C,G,$,L,A,K,D,E,Y,ee,J,H,te,Q,r,f,se,ae,le,oe,k,q,re,B,ht,Te,$t,Ie,Ce,bt,Ye,pe,vt,We,yt,kt,He,ke,Qe,Ae,_t,Be,_e,Le,ie,ue,xe,Ee,Et,Ue,zt,De,Ze,jt,Oe,me,gt,Ne,Mt,wt,Ke,ze,et,ne,fe,Pe,je,Ct,Ve,At,tt,de,Zt,Fe,Ft,Jt,at,he,Tt,Re,Wt,xt,rt,ge,ot,ce,$e,Ge,Me,Ut,qe,Nt,st,be,lt;return y=new Se({}),$=new ya({props:{$$slots:{default:[_a]},$$scope:{ctx:O}}}),B=new Se({}),ke=new ye({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMEElMEF0b2tlbml6ZXIlMjAlM0QlMjBBdXRvVG9rZW5pemVyLmZyb21fcHJldHJhaW5lZCglMjJ4bG0tcm9iZXJ0YS1iYXNlJTIyKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;xlm-roberta-base&quot;</span>)`}}),_e=new ye({props:{code:"c2VxdWVuemElMjAlM0QlMjAlMjJJbiUyMHVuJTIwYnVjbyUyMG5lbCUyMHRlcnJlbm8lMjB2aXZldmElMjB1bm8lMjBIb2JiaXQuJTIyJTBBcHJpbnQodG9rZW5pemVyKHNlcXVlbnphKSk=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>sequenza = <span class="hljs-string">&quot;In un buco nel terreno viveva uno Hobbit.&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-built_in">print</span>(tokenizer(sequenza))
{<span class="hljs-string">&#x27;input_ids&#x27;</span>: [<span class="hljs-number">0</span>, <span class="hljs-number">360</span>, <span class="hljs-number">51</span>, <span class="hljs-number">373</span>, <span class="hljs-number">587</span>, <span class="hljs-number">1718</span>, <span class="hljs-number">54644</span>, <span class="hljs-number">22597</span>, <span class="hljs-number">330</span>, <span class="hljs-number">3269</span>, <span class="hljs-number">2291</span>, <span class="hljs-number">22155</span>, <span class="hljs-number">18</span>, <span class="hljs-number">5</span>, <span class="hljs-number">2</span>],
 <span class="hljs-string">&#x27;attention_mask&#x27;</span>: [<span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>]}`}}),Ee=new Se({}),ze=new ye({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9GZWF0dXJlRXh0cmFjdG9yJTBBJTBBZmVhdHVyZV9leHRyYWN0b3IlMjAlM0QlMjBBdXRvRmVhdHVyZUV4dHJhY3Rvci5mcm9tX3ByZXRyYWluZWQoJTBBJTIwJTIwJTIwJTIwJTIyZWhjYWxhYnJlcyUyRndhdjJ2ZWMyLWxnLXhsc3ItZW4tc3BlZWNoLWVtb3Rpb24tcmVjb2duaXRpb24lMjIlMEEp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoFeatureExtractor

<span class="hljs-meta">&gt;&gt;&gt; </span>feature_extractor = AutoFeatureExtractor.from_pretrained(
<span class="hljs-meta">... </span>    <span class="hljs-string">&quot;ehcalabres/wav2vec2-lg-xlsr-en-speech-emotion-recognition&quot;</span>
<span class="hljs-meta">... </span>)`}}),je=new Se({}),ge=new ye({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Qcm9jZXNzb3IlMEElMEFwcm9jZXNzb3IlMjAlM0QlMjBBdXRvUHJvY2Vzc29yLmZyb21fcHJldHJhaW5lZCglMjJtaWNyb3NvZnQlMkZsYXlvdXRsbXYyLWJhc2UtdW5jYXNlZCUyMik=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoProcessor

<span class="hljs-meta">&gt;&gt;&gt; </span>processor = AutoProcessor.from_pretrained(<span class="hljs-string">&quot;microsoft/layoutlmv2-base-uncased&quot;</span>)`}}),Me=new Se({}),be=new ka({props:{pytorch:!0,tensorflow:!0,jax:!1,$$slots:{tensorflow:[ga],pytorch:[za]},$$scope:{ctx:O}}}),{c(){l=i("meta"),_=d(),p=i("h1"),b=i("a"),z=i("span"),T(y.$$.fragment),R=d(),Z=i("span"),j=o("Carica istanze pre-allenate con AutoClass"),g=d(),M=i("p"),V=o("Con cos\xEC tante architetture Transformer differenti, pu\xF2 essere sfidante crearne una per il tuo checkpoint. Come parte della filosofia centrale di \u{1F917} Transformers per rendere la libreria facile, semplice e flessibile da utilizzare, una "),w=i("code"),X=o("AutoClass"),F=o(" inferisce e carica automaticamente l\u2019architettura corretta da un dato checkpoint. Il metodo "),S=i("code"),I=o("from_pretrained"),C=o(" ti permette di caricare velocemente un modello pre-allenato per qualsiasi architettura, cos\xEC non devi utilizzare tempo e risorse per allenare un modello da zero. Produrre questo codice agnostico ai checkpoint significa che se il tuo codice funziona per un checkpoint, funzioner\xE0 anche per un altro checkpoint, purch\xE9 sia stato allenato per un compito simile, anche se l\u2019architettura \xE8 differente."),G=d(),T($.$$.fragment),L=d(),A=i("p"),K=o("In questo tutorial, imparerai a:"),D=d(),E=i("ul"),Y=i("li"),ee=o("Caricare un tokenizer pre-allenato."),J=d(),H=i("li"),te=o("Caricare un estrattore di caratteristiche (feature extractor, in inglese) pre-allenato."),Q=d(),r=i("li"),f=o("Caricare un processore pre-allenato."),se=d(),ae=i("li"),le=o("Caricare un modello pre-allenato."),oe=d(),k=i("h2"),q=i("a"),re=i("span"),T(B.$$.fragment),ht=d(),Te=i("span"),$t=o("AutoTokenizer"),Ie=d(),Ce=i("p"),bt=o("Quasi tutti i compiti di NLP iniziano con un tokenizer. Un tokenizer converte il tuo input in un formato che possa essere elaborato dal modello."),Ye=d(),pe=i("p"),vt=o("Carica un tokenizer con "),We=i("code"),yt=o("AutoTokenizer.from_pretrained()"),kt=o(":"),He=d(),T(ke.$$.fragment),Qe=d(),Ae=i("p"),_t=o("Poi tokenizza il tuo input come mostrato in seguito:"),Be=d(),T(_e.$$.fragment),Le=d(),ie=i("h2"),ue=i("a"),xe=i("span"),T(Ee.$$.fragment),Et=d(),Ue=i("span"),zt=o("AutoFeatureExtractor"),De=d(),Ze=i("p"),jt=o("Per compiti inerenti a audio e video, un feature extractor processa il segnale audio o l\u2019immagine nel formato di input corretto."),Oe=d(),me=i("p"),gt=o("Carica un feature extractor con "),Ne=i("code"),Mt=o("AutoFeatureExtractor.from_pretrained()"),wt=o(":"),Ke=d(),T(ze.$$.fragment),et=d(),ne=i("h2"),fe=i("a"),Pe=i("span"),T(je.$$.fragment),Ct=d(),Ve=i("span"),At=o("AutoProcessor"),tt=d(),de=i("p"),Zt=o("Compiti multimodali richiedono un processore che combini i due tipi di strumenti di elaborazione. Per esempio, il modello "),Fe=i("a"),Ft=o("LayoutLMV2"),Jt=o(" richiede un feature extractor per gestire le immagine e un tokenizer per gestire il testo; un processore li combina entrambi."),at=d(),he=i("p"),Tt=o("Carica un processore con "),Re=i("code"),Wt=o("AutoProcessor.from_pretrained()"),xt=o(":"),rt=d(),T(ge.$$.fragment),ot=d(),ce=i("h2"),$e=i("a"),Ge=i("span"),T(Me.$$.fragment),Ut=d(),qe=i("span"),Nt=o("AutoModel"),st=d(),T(be.$$.fragment),this.h()},l(e){const m=ba('[data-svelte="svelte-1phssyn"]',document.head);l=n(m,"META",{name:!0,content:!0}),m.forEach(t),_=h(e),p=n(e,"H1",{class:!0});var we=c(p);b=n(we,"A",{id:!0,class:!0,href:!0});var Xe=c(b);z=n(Xe,"SPAN",{});var Pt=c(z);W(y.$$.fragment,Pt),Pt.forEach(t),Xe.forEach(t),R=h(we),Z=n(we,"SPAN",{});var Vt=c(Z);j=s(Vt,"Carica istanze pre-allenate con AutoClass"),Vt.forEach(t),we.forEach(t),g=h(e),M=n(e,"P",{});var Je=c(M);V=s(Je,"Con cos\xEC tante architetture Transformer differenti, pu\xF2 essere sfidante crearne una per il tuo checkpoint. Come parte della filosofia centrale di \u{1F917} Transformers per rendere la libreria facile, semplice e flessibile da utilizzare, una "),w=n(Je,"CODE",{});var Rt=c(w);X=s(Rt,"AutoClass"),Rt.forEach(t),F=s(Je," inferisce e carica automaticamente l\u2019architettura corretta da un dato checkpoint. Il metodo "),S=n(Je,"CODE",{});var Gt=c(S);I=s(Gt,"from_pretrained"),Gt.forEach(t),C=s(Je," ti permette di caricare velocemente un modello pre-allenato per qualsiasi architettura, cos\xEC non devi utilizzare tempo e risorse per allenare un modello da zero. Produrre questo codice agnostico ai checkpoint significa che se il tuo codice funziona per un checkpoint, funzioner\xE0 anche per un altro checkpoint, purch\xE9 sia stato allenato per un compito simile, anche se l\u2019architettura \xE8 differente."),Je.forEach(t),G=h(e),W($.$$.fragment,e),L=h(e),A=n(e,"P",{});var qt=c(A);K=s(qt,"In questo tutorial, imparerai a:"),qt.forEach(t),D=h(e),E=n(e,"UL",{});var ve=c(E);Y=n(ve,"LI",{});var Xt=c(Y);ee=s(Xt,"Caricare un tokenizer pre-allenato."),Xt.forEach(t),J=h(ve),H=n(ve,"LI",{});var St=c(H);te=s(St,"Caricare un estrattore di caratteristiche (feature extractor, in inglese) pre-allenato."),St.forEach(t),Q=h(ve),r=n(ve,"LI",{});var It=c(r);f=s(It,"Caricare un processore pre-allenato."),It.forEach(t),se=h(ve),ae=n(ve,"LI",{});var Yt=c(ae);le=s(Yt,"Caricare un modello pre-allenato."),Yt.forEach(t),ve.forEach(t),oe=h(e),k=n(e,"H2",{class:!0});var it=c(k);q=n(it,"A",{id:!0,class:!0,href:!0});var Ht=c(q);re=n(Ht,"SPAN",{});var Qt=c(re);W(B.$$.fragment,Qt),Qt.forEach(t),Ht.forEach(t),ht=h(it),Te=n(it,"SPAN",{});var Bt=c(Te);$t=s(Bt,"AutoTokenizer"),Bt.forEach(t),it.forEach(t),Ie=h(e),Ce=n(e,"P",{});var Lt=c(Ce);bt=s(Lt,"Quasi tutti i compiti di NLP iniziano con un tokenizer. Un tokenizer converte il tuo input in un formato che possa essere elaborato dal modello."),Lt.forEach(t),Ye=h(e),pe=n(e,"P",{});var nt=c(pe);vt=s(nt,"Carica un tokenizer con "),We=n(nt,"CODE",{});var Dt=c(We);yt=s(Dt,"AutoTokenizer.from_pretrained()"),Dt.forEach(t),kt=s(nt,":"),nt.forEach(t),He=h(e),W(ke.$$.fragment,e),Qe=h(e),Ae=n(e,"P",{});var Ot=c(Ae);_t=s(Ot,"Poi tokenizza il tuo input come mostrato in seguito:"),Ot.forEach(t),Be=h(e),W(_e.$$.fragment,e),Le=h(e),ie=n(e,"H2",{class:!0});var ct=c(ie);ue=n(ct,"A",{id:!0,class:!0,href:!0});var Kt=c(ue);xe=n(Kt,"SPAN",{});var ea=c(xe);W(Ee.$$.fragment,ea),ea.forEach(t),Kt.forEach(t),Et=h(ct),Ue=n(ct,"SPAN",{});var ta=c(Ue);zt=s(ta,"AutoFeatureExtractor"),ta.forEach(t),ct.forEach(t),De=h(e),Ze=n(e,"P",{});var aa=c(Ze);jt=s(aa,"Per compiti inerenti a audio e video, un feature extractor processa il segnale audio o l\u2019immagine nel formato di input corretto."),aa.forEach(t),Oe=h(e),me=n(e,"P",{});var pt=c(me);gt=s(pt,"Carica un feature extractor con "),Ne=n(pt,"CODE",{});var ra=c(Ne);Mt=s(ra,"AutoFeatureExtractor.from_pretrained()"),ra.forEach(t),wt=s(pt,":"),pt.forEach(t),Ke=h(e),W(ze.$$.fragment,e),et=h(e),ne=n(e,"H2",{class:!0});var ut=c(ne);fe=n(ut,"A",{id:!0,class:!0,href:!0});var oa=c(fe);Pe=n(oa,"SPAN",{});var sa=c(Pe);W(je.$$.fragment,sa),sa.forEach(t),oa.forEach(t),Ct=h(ut),Ve=n(ut,"SPAN",{});var la=c(Ve);At=s(la,"AutoProcessor"),la.forEach(t),ut.forEach(t),tt=h(e),de=n(e,"P",{});var mt=c(de);Zt=s(mt,"Compiti multimodali richiedono un processore che combini i due tipi di strumenti di elaborazione. Per esempio, il modello "),Fe=n(mt,"A",{href:!0});var ia=c(Fe);Ft=s(ia,"LayoutLMV2"),ia.forEach(t),Jt=s(mt," richiede un feature extractor per gestire le immagine e un tokenizer per gestire il testo; un processore li combina entrambi."),mt.forEach(t),at=h(e),he=n(e,"P",{});var ft=c(he);Tt=s(ft,"Carica un processore con "),Re=n(ft,"CODE",{});var na=c(Re);Wt=s(na,"AutoProcessor.from_pretrained()"),na.forEach(t),xt=s(ft,":"),ft.forEach(t),rt=h(e),W(ge.$$.fragment,e),ot=h(e),ce=n(e,"H2",{class:!0});var dt=c(ce);$e=n(dt,"A",{id:!0,class:!0,href:!0});var ca=c($e);Ge=n(ca,"SPAN",{});var pa=c(Ge);W(Me.$$.fragment,pa),pa.forEach(t),ca.forEach(t),Ut=h(dt),qe=n(dt,"SPAN",{});var ua=c(qe);Nt=s(ua,"AutoModel"),ua.forEach(t),dt.forEach(t),st=h(e),W(be.$$.fragment,e),this.h()},h(){v(l,"name","hf:doc:metadata"),v(l,"content",JSON.stringify(wa)),v(b,"id","carica-istanze-preallenate-con-autoclass"),v(b,"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"),v(b,"href","#carica-istanze-preallenate-con-autoclass"),v(p,"class","relative group"),v(q,"id","autotokenizer"),v(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"),v(q,"href","#autotokenizer"),v(k,"class","relative group"),v(ue,"id","autofeatureextractor"),v(ue,"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"),v(ue,"href","#autofeatureextractor"),v(ie,"class","relative group"),v(fe,"id","autoprocessor"),v(fe,"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"),v(fe,"href","#autoprocessor"),v(ne,"class","relative group"),v(Fe,"href","model_doc/layoutlmv2"),v($e,"id","automodel"),v($e,"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"),v($e,"href","#automodel"),v(ce,"class","relative group")},m(e,m){a(document.head,l),u(e,_,m),u(e,p,m),a(p,b),a(b,z),x(y,z,null),a(p,R),a(p,Z),a(Z,j),u(e,g,m),u(e,M,m),a(M,V),a(M,w),a(w,X),a(M,F),a(M,S),a(S,I),a(M,C),u(e,G,m),x($,e,m),u(e,L,m),u(e,A,m),a(A,K),u(e,D,m),u(e,E,m),a(E,Y),a(Y,ee),a(E,J),a(E,H),a(H,te),a(E,Q),a(E,r),a(r,f),a(E,se),a(E,ae),a(ae,le),u(e,oe,m),u(e,k,m),a(k,q),a(q,re),x(B,re,null),a(k,ht),a(k,Te),a(Te,$t),u(e,Ie,m),u(e,Ce,m),a(Ce,bt),u(e,Ye,m),u(e,pe,m),a(pe,vt),a(pe,We),a(We,yt),a(pe,kt),u(e,He,m),x(ke,e,m),u(e,Qe,m),u(e,Ae,m),a(Ae,_t),u(e,Be,m),x(_e,e,m),u(e,Le,m),u(e,ie,m),a(ie,ue),a(ue,xe),x(Ee,xe,null),a(ie,Et),a(ie,Ue),a(Ue,zt),u(e,De,m),u(e,Ze,m),a(Ze,jt),u(e,Oe,m),u(e,me,m),a(me,gt),a(me,Ne),a(Ne,Mt),a(me,wt),u(e,Ke,m),x(ze,e,m),u(e,et,m),u(e,ne,m),a(ne,fe),a(fe,Pe),x(je,Pe,null),a(ne,Ct),a(ne,Ve),a(Ve,At),u(e,tt,m),u(e,de,m),a(de,Zt),a(de,Fe),a(Fe,Ft),a(de,Jt),u(e,at,m),u(e,he,m),a(he,Tt),a(he,Re),a(Re,Wt),a(he,xt),u(e,rt,m),x(ge,e,m),u(e,ot,m),u(e,ce,m),a(ce,$e),a($e,Ge),x(Me,Ge,null),a(ce,Ut),a(ce,qe),a(qe,Nt),u(e,st,m),x(be,e,m),lt=!0},p(e,[m]){const we={};m&2&&(we.$$scope={dirty:m,ctx:e}),$.$set(we);const Xe={};m&2&&(Xe.$$scope={dirty:m,ctx:e}),be.$set(Xe)},i(e){lt||(U(y.$$.fragment,e),U($.$$.fragment,e),U(B.$$.fragment,e),U(ke.$$.fragment,e),U(_e.$$.fragment,e),U(Ee.$$.fragment,e),U(ze.$$.fragment,e),U(je.$$.fragment,e),U(ge.$$.fragment,e),U(Me.$$.fragment,e),U(be.$$.fragment,e),lt=!0)},o(e){N(y.$$.fragment,e),N($.$$.fragment,e),N(B.$$.fragment,e),N(ke.$$.fragment,e),N(_e.$$.fragment,e),N(Ee.$$.fragment,e),N(ze.$$.fragment,e),N(je.$$.fragment,e),N(ge.$$.fragment,e),N(Me.$$.fragment,e),N(be.$$.fragment,e),lt=!1},d(e){t(l),e&&t(_),e&&t(p),P(y),e&&t(g),e&&t(M),e&&t(G),P($,e),e&&t(L),e&&t(A),e&&t(D),e&&t(E),e&&t(oe),e&&t(k),P(B),e&&t(Ie),e&&t(Ce),e&&t(Ye),e&&t(pe),e&&t(He),P(ke,e),e&&t(Qe),e&&t(Ae),e&&t(Be),P(_e,e),e&&t(Le),e&&t(ie),P(Ee),e&&t(De),e&&t(Ze),e&&t(Oe),e&&t(me),e&&t(Ke),P(ze,e),e&&t(et),e&&t(ne),P(je),e&&t(tt),e&&t(de),e&&t(at),e&&t(he),e&&t(rt),P(ge,e),e&&t(ot),e&&t(ce),P(Me),e&&t(st),P(be,e)}}}const wa={local:"carica-istanze-preallenate-con-autoclass",sections:[{local:"autotokenizer",title:"AutoTokenizer"},{local:"autofeatureextractor",title:"AutoFeatureExtractor"},{local:"autoprocessor",title:"AutoProcessor"},{local:"automodel",title:"AutoModel"}],title:"Carica istanze pre-allenate con AutoClass"};function Ca(O){return va(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class xa extends da{constructor(l){super();ha(this,l,Ca,Ma,$a,{})}}export{xa as default,wa as metadata};
