Buckets:
| import{s as te,o as ie}from"../chunks/scheduler.505acc25.js";import{S as oe,i as ne,e as W,s,c as u,h as re,a as j,d as i,b as l,f as ee,g as m,j as se,k as ae,l as le,m as r,n as p,o as c,q as ce,t as d,p as f,r as de}from"../chunks/index.1238bded.js";import{C as ue,H as P,E as me}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.c090ff83.js";import{Q as D}from"../chunks/Question.83df7c18.js";import{F as pe}from"../chunks/FrameworkSwitchCourse.23952889.js";function fe(H){let $,h,g,_,b,w,v,C,z,T,q,S;return $=new P({props:{title:"4. Cosa succede quando una classe di tipo TFAutoModelForXxx viene istanziata con un modello di linguaggio pre-addestrato (come bert-base-uncased ) che corrisponde ad un compito differente rispetto a quello per cui era stato addestrato?",local:"4-cosa-succede-quando-una-classe-di-tipo-tfautomodelforxxx-viene-istanziata-con-un-modello-di-linguaggio-pre-addestrato-come-bert-base-uncased--che-corrisponde-ad-un-compito-differente-rispetto-a-quello-per-cui-era-stato-addestrato",headingTag:"h3"}}),g=new D({props:{choices:[{text:"Nulla, ma viene mostrato un avvertimento",explain:"L'avvertimento non è l'unica cosa!"},{text:"La testa del modello pre-addestrato viene scartata e una nuova testa, appropriata per il compito, viene inserita al suo posto",explain:"Corretto. Ad esempio, quando abbiamo usato <code>TFAutoModelForSequenceClassification</code> con <code>bert-base-uncased</code>, abbiamo ottenuto un avvertimento mentre il modello veniva istanziato. La testa pre-addestrata non viene usata per il compito di classificazione delle sequenze, ma viene scartata e una nuova testa viene istanziata con pesi casuali.",correct:!0},{text:"La testa del modello pre-addestrato viene scartata",explain:"Deve succedere anche qualcos'altro. Prova ancora!"},{text:"Nulla, dato che il modello può comunque essere affinato per un compito differente.",explain:"La testa del modello pre-addestrato non era stata addestrata per risolvere questo compito, quindi dovremmo scartarla!"}]}}),b=new P({props:{title:"5. I modelli Tensorflow da transformers sono già dei modelli Keras. Quali benefici offre ciò?",local:"5-i-modelli-tensorflow-da-transformers-sono-già-dei-modelli-keras-quali-benefici-offre-ciò",headingTag:"h3"}}),v=new D({props:{choices:[{text:"I modelli funzionano automaticamente su una TPU.",explain:"Quasi! Sono richiesti alcuni cambiamenti. Ad esempio, bisogna eseguire tutto all'interno di uno scope <code>TPUStrategy</code>, incluso l'inizializzazione del modello"},{text:"Si possono sfruttare metodi già esistenti quali <code>compile()</code>, <code>fit()</code>, e <code>predict()</code>.",explain:"Correto! Una volta ottenuti i dati, l'addestramento richiede molto poco sforzo.",correct:!0},{text:"Puoi imparare Keras in aggiunta ai transformers.",explain:"Corretto, anche se cercavamo qualcosa in pù :)",correct:!0},{text:"Si possono calcolare facilmente delle metriche relative al dataset",explain:"Keras è d'aiuto nell'addestramento e valutazione del modello, non nel calcolare metriche relative al dataset."}]}}),z=new P({props:{title:"6. Come si definisce una metrica personalizzata (custom metric)?",local:"6-come-si-definisce-una-metrica-personalizzata-custom-metric",headingTag:"h3"}}),q=new D({props:{choices:[{text:"Creando una sottoclasse di <code>tf.keras.metrics.Metric</code>.",explain:"Ottimo!",correct:!0},{text:"Usando l'API funzionale di Keras",explain:"Prova ancora!"},{text:"Utilizzando una funzione con segnatura <code>metric_fn(y_true, y_pred)</code>.",explain:"Corretto!",correct:!0},{text:"Chiedendo a Google",explain:"Non è la risposta che cercavamo, ma dovrebbe comunque aiutarvi a risolvere il problema.",correct:!0}]}}),{c(){u($.$$.fragment),h=s(),u(g.$$.fragment),_=s(),u(b.$$.fragment),w=s(),u(v.$$.fragment),C=s(),u(z.$$.fragment),T=s(),u(q.$$.fragment)},l(t){m($.$$.fragment,t),h=l(t),m(g.$$.fragment,t),_=l(t),m(b.$$.fragment,t),w=l(t),m(v.$$.fragment,t),C=l(t),m(z.$$.fragment,t),T=l(t),m(q.$$.fragment,t)},m(t,x){p($,t,x),r(t,h,x),p(g,t,x),r(t,_,x),p(b,t,x),r(t,w,x),p(v,t,x),r(t,C,x),p(z,t,x),r(t,T,x),p(q,t,x),S=!0},i(t){S||(d($.$$.fragment,t),d(g.$$.fragment,t),d(b.$$.fragment,t),d(v.$$.fragment,t),d(z.$$.fragment,t),d(q.$$.fragment,t),S=!0)},o(t){c($.$$.fragment,t),c(g.$$.fragment,t),c(b.$$.fragment,t),c(v.$$.fragment,t),c(z.$$.fragment,t),c(q.$$.fragment,t),S=!1},d(t){t&&(i(h),i(_),i(w),i(C),i(T)),f($,t),f(g,t),f(b,t),f(v,t),f(z,t),f(q,t)}}}function $e(H){let $,h,g,_,b,w,v,C,z,T,q,S,t,x,k,Q,y,A,L,M,E,F,N,U;return $=new P({props:{title:"4. Quali sono i benefici del metodo Dataset.map() ?",local:"4-quali-sono-i-benefici-del-metodo-datasetmap-",headingTag:"h3"}}),g=new D({props:{choices:[{text:"I risultati della funzione vengono conservati, così la ri-esecuzione del codice sarà rapidissima",explain:"Questo è sicuramente uno dei benefici di questo metodo! Ma non è l'unico...",correct:!0},{text:"È possibile applicare multiprocessing per un'esecuzione più rapida rispetto all'applicazione seriale ad ogni elemento del dataset",explain:"Questo è sicuramente uno dei benefici di questo metodo! Ma non è l'unico...",correct:!0},{text:"Non carica l'intero dataset in memoria, salvando i risultati appena ogni elemento è stato processato.",explain:"Questo è sicuramente uno dei benefici di questo metodo! Ma non è l'unico...",correct:!0}]}}),b=new P({props:{title:"5. Qual è il significato di padding dinamico (dynamic padding)?",local:"5-qual-è-il-significato-di-padding-dinamico-dynamic-padding",headingTag:"h3"}}),v=new D({props:{choices:[{text:"È quando si applica in ogni batch il padding fino alla lunghezza massima dell'intero dataset",explain:"Riguarda il padding per ogni batch, ma non fino alla lunghezza massima dell'intero dataset."},{text:"È quando si applica in ogni batch il padding fino alla lunghezza massima delle frasi in quella batch",explain:'Corretto! la parte "dinamica" viene dal fatto che la dimensione per ogni batch viene determinata al momento della creazione, e quindi le batch potrebbero avere dimensioni differenti.',correct:!0},{text:"È quando si applica il padding agli input in modo che ogni frase abbia lo stesso numero di token della frase precedente nel dataset.",explain:"Sbagliato. In più non avrebbe senso considerare l'ordine del dataset dato che lo rimischiamo durante l'apprendimento."}]}}),z=new P({props:{title:"6. Qual è lo scopo di una funzione di raccolta (collate function)?",local:"6-qual-è-lo-scopo-di-una-funzione-di-raccolta-collate-function",headingTag:"h3"}}),q=new D({props:{choices:[{text:"Di assicurarsi che tutte le sequenze nel dataset abbiano la stessa lunghezza.",explain:"Una funzione di raccolta gestisce solo batch individuali, non l'intero dataset. In più, si sta parlando di funzioni di raccolta in generale, e non specificatamente di <code>DataCollatorWithPadding</code>."},{text:"Di raccogliere tutti i campioni in una batch.",explain:"Corretto! Puoi passare la funzione di raccolta come argomento di un <code>DataLoader</code>. Noi abbiamo usato la funzione <code>DataCollatorWithPadding</code>, che applica padding a tutti gli elementi di una batch affinché abbiano la stessa lunghezza.",correct:!0},{text:"Di preprocessare l'intero dataset",explain:"Quella sarebbe una funzione di preprocessing, non di raccolta."},{text:"Di troncare le sequenze nel dataset.",explain:"Una funzione di raccolta gestisce solo batch individuali, non l'intero dataset. Se siete interessati al troncamento, potete usare l'argomento <code>truncate</code> del <code>tokenizer</code>."}]}}),t=new P({props:{title:"7. Cosa succede quando una classe di tipo AutoModelForXxx viene istanziata con un modello di linguaggio pre-addestrato (come bert-base-uncased ) che corrisponde ad un compito differente rispetto a quello per cui era stato addestrato?",local:"7-cosa-succede-quando-una-classe-di-tipo-automodelforxxx-viene-istanziata-con-un-modello-di-linguaggio-pre-addestrato-come-bert-base-uncased--che-corrisponde-ad-un-compito-differente-rispetto-a-quello-per-cui-era-stato-addestrato",headingTag:"h3"}}),k=new D({props:{choices:[{text:"Nulla, ma viene mostrato un avvertimento",explain:"L'avvertimento non è 'l'unica cosa!"},{text:"La testa del modello pre-addestrato viene scartata e una nuova testa, appropriata per il compito, viene inserita al suo posto",explain:"Corretto. Ad esempio, quando abbiamo usato <code>AutoModelForSequenceClassification</code> con <code>bert-base-uncased</code>, abbiamo ottenuto un avvertimento mentre il modello veniva istanziato. La testa pre-addestrata non viene usata per il compito di classificazione delle sequenze, ma viene scartata e una nuova testa viene istanziata con pesi casuali.",correct:!0},{text:"La testa del modello pre-addestrato viene scartata",explain:"Deve succedere anche qualcos'altro. Prova ancora!"},{text:"Nulla, dato che il modello può comunque essere affinato per un compito differente.",explain:"La testa del modello pre-addestrato non era stata addestrata per risolvere questo compito, quindi dovremmo scartarla!"}]}}),y=new P({props:{title:"8. Qual è lo scopo di TrainingArguments ?",local:"8-qual-è-lo-scopo-di-trainingarguments-",headingTag:"h3"}}),L=new D({props:{choices:[{text:"Contiene tutti gli iperparametri usati per l'addestramento e la valutazione con il <code>Trainer</code>.",explain:"Corretto!",correct:!0},{text:"Specifica le dimensioni del modello.",explain:"Le dimensioni del modello sono definite dalla configurazione del modello, non dalla classe <code>TrainingArguments</code>."},{text:"Contiene soltanto gli iperparametri usati per la valutazione.",explain:"Nell'esempio, abbiamo specificato anche dove salvare il modello e i suoi checkpoint. Prova ancora!"},{text:"Contiene soltanto gli iperparametri usati per l'addestramento.",explain:"Nell'esempio, abbiamo usato anche una <code>evaluation_strategy</code> (stragia di valutazione). Prova ancora!"}]}}),E=new P({props:{title:"9. Perché si dovrebbe usare la libreria 🤗 Accelerate?",local:"9-perché-si-dovrebbe-usare-la-libreria--accelerate",headingTag:"h3"}}),N=new D({props:{choices:[{text:"Fornisce l'accesso a modelli più veloci.",explain:"No, la libreria 🤗 Accelerate non fornisce l'accesso ad alcun modello"},{text:"Fornisce una API di alto livello, così non devo implementare il mio ciclo di addestramento.",explain:"Questa è la funzionalità del <code>Trainer</code>, non della libreria 🤗 Accelerate. Prova ancora!"},{text:"Permette ai nostri cicli di addestramento di venire eseguiti con strategie distribuite.",explain:"Corretto! Con 🤗 Accelerate, i tuoi cicli di addestramento funzioneranno con svariate GPU e TPU.",correct:!0},{text:"Fornisce altre funzioni di ottimizzazione.",explain:"No, la libreria 🤗 Accelerate library non fornisce alcuna funzione di ottimizzazione."}]}}),{c(){u($.$$.fragment),h=s(),u(g.$$.fragment),_=s(),u(b.$$.fragment),w=s(),u(v.$$.fragment),C=s(),u(z.$$.fragment),T=s(),u(q.$$.fragment),S=s(),u(t.$$.fragment),x=s(),u(k.$$.fragment),Q=s(),u(y.$$.fragment),A=s(),u(L.$$.fragment),M=s(),u(E.$$.fragment),F=s(),u(N.$$.fragment)},l(a){m($.$$.fragment,a),h=l(a),m(g.$$.fragment,a),_=l(a),m(b.$$.fragment,a),w=l(a),m(v.$$.fragment,a),C=l(a),m(z.$$.fragment,a),T=l(a),m(q.$$.fragment,a),S=l(a),m(t.$$.fragment,a),x=l(a),m(k.$$.fragment,a),Q=l(a),m(y.$$.fragment,a),A=l(a),m(L.$$.fragment,a),M=l(a),m(E.$$.fragment,a),F=l(a),m(N.$$.fragment,a)},m(a,o){p($,a,o),r(a,h,o),p(g,a,o),r(a,_,o),p(b,a,o),r(a,w,o),p(v,a,o),r(a,C,o),p(z,a,o),r(a,T,o),p(q,a,o),r(a,S,o),p(t,a,o),r(a,x,o),p(k,a,o),r(a,Q,o),p(y,a,o),r(a,A,o),p(L,a,o),r(a,M,o),p(E,a,o),r(a,F,o),p(N,a,o),U=!0},i(a){U||(d($.$$.fragment,a),d(g.$$.fragment,a),d(b.$$.fragment,a),d(v.$$.fragment,a),d(z.$$.fragment,a),d(q.$$.fragment,a),d(t.$$.fragment,a),d(k.$$.fragment,a),d(y.$$.fragment,a),d(L.$$.fragment,a),d(E.$$.fragment,a),d(N.$$.fragment,a),U=!0)},o(a){c($.$$.fragment,a),c(g.$$.fragment,a),c(b.$$.fragment,a),c(v.$$.fragment,a),c(z.$$.fragment,a),c(q.$$.fragment,a),c(t.$$.fragment,a),c(k.$$.fragment,a),c(y.$$.fragment,a),c(L.$$.fragment,a),c(E.$$.fragment,a),c(N.$$.fragment,a),U=!1},d(a){a&&(i(h),i(_),i(w),i(C),i(T),i(S),i(x),i(Q),i(A),i(M),i(F)),f($,a),f(g,a),f(b,a),f(v,a),f(z,a),f(q,a),f(t,a),f(k,a),f(y,a),f(L,a),f(E,a),f(N,a)}}}function ge(H){let $,h,g,_,b,w,v,C,z,T,q,S="Testiamo cosa avete imparato in questo capitolo!",t,x,k,Q,y,A,L,M,E,F,N,U,a,o,I,G,R,B,X,O;b=new pe({props:{fw:H[0]}}),v=new ue({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),z=new P({props:{title:"Quiz di fine capitolo",local:"quiz-di-fine-capitolo",headingTag:"h1"}}),x=new P({props:{title:"1. Il dataset emotion contiene messaggi Twitter etichettati con emozioni. Cercalo nel Hub e leggi la carta del dataset. Quale di queste non fa parte delle sue emozioni di base?",local:"1-il-dataset-emotion-contiene-messaggi-twitter-etichettati-con-emozioni-cercalo-nel-hub-e-leggi-la-carta-del-dataset-quale-di-queste-non-fa-parte-delle-sue-emozioni-di-base",headingTag:"h3"}}),Q=new D({props:{choices:[{text:"Joy (Gioia)",explain:"Prova ancora — questa emozione è contenuta nel dataset!"},{text:"Love (Amore)",explain:"Prova ancora — questa emozione è contenuta nel dataset!"},{text:"Confusion (Confusione)",explain:"Corretto! Confusion non è una della sei emozioni di base.",correct:!0},{text:"Surprise (Sorpresa)",explain:"Sorpresa! Prova ancora!"}]}}),A=new P({props:{title:"2. Cerca il dataset ar_sarcasm nel Hub . Quali compiti supporta?",local:"2-cerca-il-dataset-arsarcasm-nel-hub--quali-compiti-supporta",headingTag:"h3"}}),M=new D({props:{choices:[{text:"Sentiment classification (Classificazione dei sentimenti)",explain:"Corretto! Si capisce dai tag.",correct:!0},{text:"Machine translation (Traduzione automatica)",explain:"Sbagliato — dai un'altra occhiata alla <a href='https://huggingface.co/datasets/ar_sarcasm'>dataset card</a>!"},{text:"Named entity recognition (Riconoscimento di entità con un nome)",explain:"Sbagliato — dai un'altra occhiata alla <a href='https://huggingface.co/datasets/ar_sarcasm'>dataset card</a>!"},{text:"Question answering (Risposte a domande)",explain:"Purtroppo non hai risposto correttamente. Prova ancora!"}]}}),F=new P({props:{title:"3. Come deve essere preparata una coppia di frasi per essere processata dal modello BERT?",local:"3-come-deve-essere-preparata-una-coppia-di-frasi-per-essere-processata-dal-modello-bert",headingTag:"h3"}}),U=new D({props:{choices:[{text:"Tokens_della_frase_1 [SEP] Tokens_della_frase_2",explain:"Un token speciale <code>[SEP]</code> è necessario per separare le due frasi, ma non è l'unica cosa!"},{text:"[CLS] Tokens_della_frase_1 Tokens_della_frase_2",explain:"Un token speciale <code>[CLS]</code> è necessario all'inizio, ma non è l'unica cosa!"},{text:"[CLS] Tokens_della_frase_1 [SEP] Tokens_della_frase_2 [SEP]",explain:"Corretto!",correct:!0},{text:"[CLS] Tokens_della_frase_1 [SEP] Tokens_della_frase_2",explain:"Un token speciale <code>[CLS]</code> è necessario all'inizio e un token speciale <code>[SEP]</code> è necessario per separare le due frasi, ma non è l'unica cosa!"}]}});const V=[$e,fe],K=[];function Y(e,n){return e[0]==="pt"?0:1}return o=Y(H),I=K[o]=V[o](H),R=new me({props:{source:"https://github.com/huggingface/course/blob/main/chapters/it/chapter3/6.mdx"}}),{c(){$=W("meta"),h=s(),g=W("p"),_=s(),u(b.$$.fragment),w=s(),u(v.$$.fragment),C=s(),u(z.$$.fragment),T=s(),q=W("p"),q.textContent=S,t=s(),u(x.$$.fragment),k=s(),u(Q.$$.fragment),y=s(),u(A.$$.fragment),L=s(),u(M.$$.fragment),E=s(),u(F.$$.fragment),N=s(),u(U.$$.fragment),a=s(),I.c(),G=s(),u(R.$$.fragment),B=s(),X=W("p"),this.h()},l(e){const n=re("svelte-u9bgzb",document.head);$=j(n,"META",{name:!0,content:!0}),n.forEach(i),h=l(e),g=j(e,"P",{}),ee(g).forEach(i),_=l(e),m(b.$$.fragment,e),w=l(e),m(v.$$.fragment,e),C=l(e),m(z.$$.fragment,e),T=l(e),q=j(e,"P",{"data-svelte-h":!0}),se(q)!=="svelte-1wyxm6q"&&(q.textContent=S),t=l(e),m(x.$$.fragment,e),k=l(e),m(Q.$$.fragment,e),y=l(e),m(A.$$.fragment,e),L=l(e),m(M.$$.fragment,e),E=l(e),m(F.$$.fragment,e),N=l(e),m(U.$$.fragment,e),a=l(e),I.l(e),G=l(e),m(R.$$.fragment,e),B=l(e),X=j(e,"P",{}),ee(X).forEach(i),this.h()},h(){ae($,"name","hf:doc:metadata"),ae($,"content",be)},m(e,n){le(document.head,$),r(e,h,n),r(e,g,n),r(e,_,n),p(b,e,n),r(e,w,n),p(v,e,n),r(e,C,n),p(z,e,n),r(e,T,n),r(e,q,n),r(e,t,n),p(x,e,n),r(e,k,n),p(Q,e,n),r(e,y,n),p(A,e,n),r(e,L,n),p(M,e,n),r(e,E,n),p(F,e,n),r(e,N,n),p(U,e,n),r(e,a,n),K[o].m(e,n),r(e,G,n),p(R,e,n),r(e,B,n),r(e,X,n),O=!0},p(e,[n]){const Z={};n&1&&(Z.fw=e[0]),b.$set(Z);let J=o;o=Y(e),o!==J&&(de(),c(K[J],1,1,()=>{K[J]=null}),ce(),I=K[o],I||(I=K[o]=V[o](e),I.c()),d(I,1),I.m(G.parentNode,G))},i(e){O||(d(b.$$.fragment,e),d(v.$$.fragment,e),d(z.$$.fragment,e),d(x.$$.fragment,e),d(Q.$$.fragment,e),d(A.$$.fragment,e),d(M.$$.fragment,e),d(F.$$.fragment,e),d(U.$$.fragment,e),d(I),d(R.$$.fragment,e),O=!0)},o(e){c(b.$$.fragment,e),c(v.$$.fragment,e),c(z.$$.fragment,e),c(x.$$.fragment,e),c(Q.$$.fragment,e),c(A.$$.fragment,e),c(M.$$.fragment,e),c(F.$$.fragment,e),c(U.$$.fragment,e),c(I),c(R.$$.fragment,e),O=!1},d(e){e&&(i(h),i(g),i(_),i(w),i(C),i(T),i(q),i(t),i(k),i(y),i(L),i(E),i(N),i(a),i(G),i(B),i(X)),i($),f(b,e),f(v,e),f(z,e),f(x,e),f(Q,e),f(A,e),f(M,e),f(F,e),f(U,e),K[o].d(e),f(R,e)}}}const be='{"title":"Quiz di fine capitolo","local":"quiz-di-fine-capitolo","sections":[{"title":"1. Il dataset emotion contiene messaggi Twitter etichettati con emozioni. Cercalo nel Hub e leggi la carta del dataset. Quale di queste non fa parte delle sue emozioni di base?","local":"1-il-dataset-emotion-contiene-messaggi-twitter-etichettati-con-emozioni-cercalo-nel-hub-e-leggi-la-carta-del-dataset-quale-di-queste-non-fa-parte-delle-sue-emozioni-di-base","sections":[],"depth":3},{"title":"2. Cerca il dataset ar_sarcasm nel Hub . Quali compiti supporta?","local":"2-cerca-il-dataset-arsarcasm-nel-hub--quali-compiti-supporta","sections":[],"depth":3},{"title":"3. Come deve essere preparata una coppia di frasi per essere processata dal modello BERT?","local":"3-come-deve-essere-preparata-una-coppia-di-frasi-per-essere-processata-dal-modello-bert","sections":[],"depth":3},{"title":"4. Quali sono i benefici del metodo Dataset.map() ?","local":"4-quali-sono-i-benefici-del-metodo-datasetmap-","sections":[],"depth":3},{"title":"5. Qual è il significato di padding dinamico (dynamic padding)?","local":"5-qual-è-il-significato-di-padding-dinamico-dynamic-padding","sections":[],"depth":3},{"title":"6. Qual è lo scopo di una funzione di raccolta (collate function)?","local":"6-qual-è-lo-scopo-di-una-funzione-di-raccolta-collate-function","sections":[],"depth":3},{"title":"7. Cosa succede quando una classe di tipo AutoModelForXxx viene istanziata con un modello di linguaggio pre-addestrato (come bert-base-uncased ) che corrisponde ad un compito differente rispetto a quello per cui era stato addestrato?","local":"7-cosa-succede-quando-una-classe-di-tipo-automodelforxxx-viene-istanziata-con-un-modello-di-linguaggio-pre-addestrato-come-bert-base-uncased--che-corrisponde-ad-un-compito-differente-rispetto-a-quello-per-cui-era-stato-addestrato","sections":[],"depth":3},{"title":"8. Qual è lo scopo di TrainingArguments ?","local":"8-qual-è-lo-scopo-di-trainingarguments-","sections":[],"depth":3},{"title":"9. Perché si dovrebbe usare la libreria 🤗 Accelerate?","local":"9-perché-si-dovrebbe-usare-la-libreria--accelerate","sections":[],"depth":3},{"title":"4. Cosa succede quando una classe di tipo TFAutoModelForXxx viene istanziata con un modello di linguaggio pre-addestrato (come bert-base-uncased ) che corrisponde ad un compito differente rispetto a quello per cui era stato addestrato?","local":"4-cosa-succede-quando-una-classe-di-tipo-tfautomodelforxxx-viene-istanziata-con-un-modello-di-linguaggio-pre-addestrato-come-bert-base-uncased--che-corrisponde-ad-un-compito-differente-rispetto-a-quello-per-cui-era-stato-addestrato","sections":[],"depth":3},{"title":"5. I modelli Tensorflow da transformers sono già dei modelli Keras. Quali benefici offre ciò?","local":"5-i-modelli-tensorflow-da-transformers-sono-già-dei-modelli-keras-quali-benefici-offre-ciò","sections":[],"depth":3},{"title":"6. Come si definisce una metrica personalizzata (custom metric)?","local":"6-come-si-definisce-una-metrica-personalizzata-custom-metric","sections":[],"depth":3}],"depth":1}';function xe(H,$,h){let g="pt";return ie(()=>{const _=new URLSearchParams(window.location.search);h(0,g=_.get("fw")||"pt")}),[g]}class we extends oe{constructor($){super(),ne(this,$,xe,ge,te,{})}}export{we as component}; | |
Xet Storage Details
- Size:
- 20.7 kB
- Xet hash:
- b33ffc91dc77c1f549140323996e0bbf06279deac44a50220ce10561a78cd254
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.