import{S as mt,i as dt,s as ft,e as n,k as l,w as d,t as c,M as vt,c as a,d as r,m as p,a as o,x as f,h as m,b as i,G as t,g as u,y as v,L as ht,q as h,o as q,B as $,v as qt}from"../../chunks/vendor-hf-doc-builder.js";import{I as C}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{C as $t}from"../../chunks/CodeBlock-hf-doc-builder.js";import{Q as D}from"../../chunks/Question-hf-doc-builder.js";function gt(Lr){let g,Se,x,A,pe,H,ir,ce,ur,Ce,ie,lr,Ae,b,T,me,F,pr,B,cr,de,mr,dr,Te,M,Ue,y,U,fe,O,fr,ve,vr,je,R,Le,_,j,he,J,hr,qe,qr,Ge,V,Ne,ue,$r,Ie,W,Qe,w,L,$e,K,gr,X,xr,ge,br,yr,De,Y,He,z,G,xe,Z,_r,be,wr,Fe,ee,Be,E,N,ye,re,zr,_e,Er,Me,te,Oe,P,I,we,se,Pr,ze,kr,Re,ne,Je,k,Q,Ee,ae,Sr,S,Cr,Pe,Ar,Tr,ke,Ur,jr,Ve,oe,We;return H=new C({}),F=new C({}),M=new D({props:{choices:[{text:"De haut en bas",explain:"Essayez \xE0 nouveau. Bien que la plupart des autres langages de programmation impriment l'exception en haut de la page, Python est sp\xE9cial \xE0 cet \xE9gard."},{text:"De bas en haut",explain:"L'avantage d'un <i>traceback</i> de Python montrant l'exception en bas est qu'il est plus facile de d\xE9boguer lorsque vous travaillez dans le terminal et que c'est la derni\xE8re ligne que vous voyez.",correct:!0}]}}),O=new C({}),R=new D({props:{choices:[{text:"Une impl\xE9mentation simmple d'un <i>transformer</i> \xE0 partir d'un article de recherche.",explain:"Bien qu'il soit tr\xE8s \xE9ducatif d'impl\xE9menter vos propres mod\xE8les de <i>transformers</i> \xE0 partir de z\xE9ro, ce n'est pas ce dont nous parlons ici."},{text:"Un bloc de code compact et autonome qui peut \xEAtre ex\xE9cut\xE9 sans aucune d\xE9pendance externe sur des fichiers ou des donn\xE9es priv\xE9es.",explain:"Des exemples minimaux reproductibles aident les mainteneurs de la biblioth\xE8que \xE0 reproduire le probl\xE8me que vous rencontrez, afin qu'ils puissent trouver des solutions plus rapidement.",correct:!0},{text:"Une capture d'\xE9cran de la traceback Python",explain:"Essayez \xE0 nouveau. Bien qu'il soit tentant d'inclure une capture d'\xE9cran de l'erreur \xE0 laquelle vous \xEAtes confront\xE9 lorsque vous soumettez un probl\xE8me, cela rend tr\xE8s difficile pour les autres de reproduire l'erreur."},{text:"Un <i>notebook</i> qui contient toute votre analyse, y compris les parties sans rapport avec l'erreur.",explain:"Pas tout \xE0 fait. Bien qu'il puisse \xEAtre utile de partager un <i>notebook</i> Google Colab qui montre l'erreur, assurez-vous qu'il est court et ne contient que le code pertinent."}]}}),J=new C({}),V=new $t({props:{code:`from transformers import GPT3ForSequenceClassification

# ImportError: cannot import name 'GPT3ForSequenceClassification' from 'transformers' (/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/__init__.py)
# ---------------------------------------------------------------------------
# ImportError                               Traceback (most recent call last)
# /var/folders/28/k4cy5q7s2hs92xq7_h89_vgm0000gn/T/ipykernel_30848/333858878.py in <module>
# ----> 1 from transformers import GPT3ForSequenceClassification

# ImportError: cannot import name 'GPT3ForSequenceClassification' from 'transformers' (/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/__init__.py)`,highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> GPT3ForSequenceClassification

<span class="hljs-comment"># ImportError: cannot import name &#x27;GPT3ForSequenceClassification&#x27; from &#x27;transformers&#x27; (/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/__init__.py)</span>
<span class="hljs-comment"># ---------------------------------------------------------------------------</span>
<span class="hljs-comment"># ImportError                               Traceback (most recent call last)</span>
<span class="hljs-comment"># /var/folders/28/k4cy5q7s2hs92xq7_h89_vgm0000gn/T/ipykernel_30848/333858878.py in &lt;module&gt;</span>
<span class="hljs-comment"># ----&gt; 1 from transformers import GPT3ForSequenceClassification</span>

<span class="hljs-comment"># ImportError: cannot import name &#x27;GPT3ForSequenceClassification&#x27; from &#x27;transformers&#x27; (/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/__init__.py)</span>`}}),W=new D({props:{choices:[{text:"<code>ImportError: cannot import name 'GPT3ForSequenceClassification' from 'transformers' (/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/__init__.py)</code>",explain:"Inclure la derni\xE8re ligne de la <i>traceback</i> peut \xEAtre descriptif, mais il est pr\xE9f\xE9rable de le r\xE9server au corps principal du sujet. Essayez \xE0 nouveau !"},{text:"Probl\xE8me avec <code>from transformers import GPT3ForSequenceClassification</code>",explain:"Essayez \xE0 nouveau. Bien que cette information soit utile, il est probablement pr\xE9f\xE9rable de la r\xE9server au corps du texte."},{text:"Pourquoi je ne peux pas importer <code>GPT3ForSequenceClassification</code>?",explain:"Ce titre est concis et donne au lecteur un indice sur ce qui pourrait \xEAtre erron\xE9 (par exemple, que GPT-3 n'est pas pris en charge dans \u{1F917} <i>Transformers</i>).",correct:!0},{text:"Le GPT-3 est-il pris en charge dans \u{1F917} <i>Transformers</i> ?",explain:"Utiliser des questions comme titres de sujets est un excellent moyen de communiquer le probl\xE8me \xE0 la communaut\xE9.",correct:!0}]}}),K=new C({}),Y=new D({props:{choices:[{text:"L'\xE9tape d'optimisation o\xF9 nous calculons les gradients et effectuons la r\xE9tropropagation.",explain:"Bien qu'il puisse y avoir des <i>bugs</i> dans votre optimiseur, cela se produit g\xE9n\xE9ralement \xE0 plusieurs \xE9tapes du pipeline d'entra\xEEnement, il y a donc d'autres choses \xE0 v\xE9rifier d'abord. Essayez \xE0 nouveau !"},{text:"L'\xE9tape d'\xE9valuation o\xF9 nous calculons les m\xE9triques",explain:"L'\xE9valuation est g\xE9n\xE9ralement ce que vous faites apr\xE8s l'entra\xEEnement pour une \xE9poque compl\xE8te, donc vous devriez d'abord v\xE9rifier quelque part plus t\xF4t dans le pipeline d'entra\xEEnement."},{text:"Les jeux de donn\xE9es",explain:"C'est exact ! L'examen de vos donn\xE9es est presque toujours la premi\xE8re chose \xE0 faire, pour vous assurer que le texte est cod\xE9 de mani\xE8re appropri\xE9e, qu'il pr\xE9sente les caract\xE9ristiques attendues, etc.",correct:!0},{text:"Les chargeurs de donn\xE9es",explain:"Essayez \xE0 nouveau. C'est tr\xE8s proche de la premi\xE8re chose que vous devriez v\xE9rifier. Vous souvenez-vous de l'objet que nous passons aux <i>dataloaders</i> ?"}]}}),Z=new C({}),ee=new D({props:{choices:[{text:"Postez le message d'erreur sur les forums ou sur GitHub.",explain:"Cela n'aidera personne car les messages d'erreur CUDA sont g\xE9n\xE9ralement tr\xE8s peu informatifs."},{text:"Ex\xE9cutez le m\xEAme code sur le CPU.",explain:"Exactement, cela devrait vous donner un meilleur message d'erreur !",correct:!0},{text:"Lisez la <i>traceback</i> pour d\xE9couvrir ce qui a caus\xE9 l'erreur.",explain:"C'est ce que vous feriez pour toute autre erreur, mais les erreurs CUDA ne sont g\xE9n\xE9ralement pas signal\xE9es l\xE0 o\xF9 elles se sont produites, car la plupart des op\xE9rations CUDA sont asynchrones."},{text:"R\xE9duisez la taille du <i>batch</i>.",explain:"La r\xE9duction de la taille du batch est g\xE9n\xE9ralement une bonne strat\xE9gie pour g\xE9rer les erreurs CUDA hors m\xE9moire, mais pas pour ce probl\xE8me particulier. Essayez \xE0 nouveau !"},{text:"Red\xE9marrez le noyau Jupyter.",explain:"Essayez \xE0 nouveau. Le red\xE9marrage du noyau ne fera pas dispara\xEEtre l'erreur comme par magie !"}]}}),re=new C({}),te=new D({props:{choices:[{text:"Postez un exemple complet et reproductible du <i>bug</i>.",explain:"C'est la meilleure fa\xE7on d'aider les mainteneurs \xE0 trouver votre bogue. Que devez-vous faire d'autre ?",correct:!0},{text:"Demandez chaque jour une mise \xE0 jour.",explain:"Il est peu probable que cela vous apporte de l'aide. Les gens vous ignoreront probablement davantage."},{text:"Inspectez le code source autour du bogue et essayez de trouver la raison pour laquelle il se produit. Postez les r\xE9sultats dans le probl\xE8me.",explain:"Cela aidera certainement les mainteneurs ! Et si vous trouvez la source du bogue et un correctif, vous pouvez m\xEAme ouvrir une demande de modification. Que devez-vous faire d'autre ?",correct:!0}]}}),se=new C({}),ne=new D({props:{choices:[{text:"Ce n'est pas le cas. Le surapprentissage est toujours mauvais et doit \xEAtre \xE9vit\xE9.",explain:"Lors de l'entra\xEEnement sur le jeu de donn\xE9es, le surapprentissage peut en effet \xEAtre un signe que votre mod\xE8le ne g\xE9n\xE9ralisera pas bien aux nouveaux exemples. Pour le d\xE9bogage, cependant, nous n'avons pas l'habitude de nous entra\xEEner sur l'ensemble des donn\xE9es. Essayez \xE0 nouveau !"},{text:"Elle nous permet de v\xE9rifier que le mod\xE8le est capable de r\xE9duire la perte \xE0 z\xE9ro.",explain:"Avec un petit batch d'\xE0 peine deux exemples, nous pouvons rapidement v\xE9rifier si le mod\xE8le est capable d'apprendre.",correct:!0},{text:"Il nous permet de v\xE9rifier que les formes tensorielles de nos entr\xE9es et de nos \xE9tiquettes sont correctes.",explain:"Essayez \xE0 nouveau. Si vos formes tensorielles sont mal align\xE9es, vous ne pourrez certainement pas vous entra\xEEner, m\xEAme sur un seul batch."}]}}),ae=new C({}),oe=new D({props:{choices:[{text:"Cela permet aux mainteneurs de comprendre quelle version de la biblioth\xE8que vous utilisez.",explain:"Comme chaque version majeure de la biblioth\xE8que peut comporter des modifications de l'API, le fait de conna\xEEtre la version sp\xE9cifique que vous utilisez peut vous aider \xE0 circonscrire le probl\xE8me. Quels sont les autres avantages ?",correct:!0},{text:"Il permet aux mainteneurs de savoir si vous ex\xE9cutez le code sous Windows, macOS ou Linux.",explain:"Les erreurs peuvent parfois \xEAtre caus\xE9es par le syst\xE8me d'exploitation sp\xE9cifique que vous utilisez, et le fait de le savoir aide les mainteneurs \xE0 les reproduire localement. Mais ce n'est pas la seule raison.",correct:!0},{text:"Il permet aux mainteneurs de savoir si le code est ex\xE9cut\xE9 sur un GPU ou un CPU.",explain:"Comme nous l'avons vu dans ce chapitre, les erreurs sur les GPU et les CPU peuvent avoir une saveur tr\xE8s diff\xE9rente, et savoir quel mat\xE9riel vous utilisez peut aider \xE0 focaliser l'attention des mainteneurs. Mais ce n'est pas le seul avantage...",correct:!0}]}}),{c(){g=n("meta"),Se=l(),x=n("h1"),A=n("a"),pe=n("span"),d(H.$$.fragment),ir=l(),ce=n("span"),ur=c("Quiz de fin de chapitre"),Ce=l(),ie=n("p"),lr=c("Testons ce que vous avez appris dans ce chapitre !"),Ae=l(),b=n("h3"),T=n("a"),me=n("span"),d(F.$$.fragment),pr=l(),B=n("span"),cr=c("1. Dans quel ordre devez-vous lire un "),de=n("i"),mr=c("traceback"),dr=c(" Python ?"),Te=l(),d(M.$$.fragment),Ue=l(),y=n("h3"),U=n("a"),fe=n("span"),d(O.$$.fragment),fr=l(),ve=n("span"),vr=c("2. Qu\u2019est-ce qu\u2019un exemple minimal reproductible ?"),je=l(),d(R.$$.fragment),Le=l(),_=n("h3"),j=n("a"),he=n("span"),d(J.$$.fragment),hr=l(),qe=n("span"),qr=c("3. Supposons que vous essayez d\u2019ex\xE9cuter le code suivant, qui g\xE9n\xE8re une erreur :"),Ge=l(),d(V.$$.fragment),Ne=l(),ue=n("p"),$r=c("Lequel des \xE9l\xE9ments suivants pourrait \xEAtre un bon choix pour le titre d\u2019un sujet de forum pour demander de l\u2019aide ?"),Ie=l(),d(W.$$.fragment),Qe=l(),w=n("h3"),L=n("a"),$e=n("span"),d(K.$$.fragment),gr=l(),X=n("span"),xr=c("4. Supposons que vous ayez essay\xE9 d\u2019ex\xE9cuter "),ge=n("code"),br=c("trainer.train()"),yr=c(" et que vous soyez confront\xE9 \xE0 une erreur \xE9nigmatique qui ne vous dit pas exactement d\u2019o\xF9 vient l\u2019erreur. Quel est le premier endroit o\xF9 vous devez chercher les erreurs dans votre pipeline d\u2019entra\xEEnement ?"),De=l(),d(Y.$$.fragment),He=l(),z=n("h3"),G=n("a"),xe=n("span"),d(Z.$$.fragment),_r=l(),be=n("span"),wr=c("5. Quelle est la meilleure fa\xE7on de d\xE9boguer une erreur CUDA ?"),Fe=l(),d(ee.$$.fragment),Be=l(),E=n("h3"),N=n("a"),ye=n("span"),d(re.$$.fragment),zr=l(),_e=n("span"),Er=c("6. Quelle est la meilleure fa\xE7on de faire corriger un probl\xE8me sur GitHub ?"),Me=l(),d(te.$$.fragment),Oe=l(),P=n("h3"),I=n("a"),we=n("span"),d(se.$$.fragment),Pr=l(),ze=n("span"),kr=c("7. Pourquoi le surapprentissage \xE0 un batch est-il g\xE9n\xE9ralement une bonne technique de d\xE9bogage ?"),Re=l(),d(ne.$$.fragment),Je=l(),k=n("h3"),Q=n("a"),Ee=n("span"),d(ae.$$.fragment),Sr=l(),S=n("span"),Cr=c("8. Pourquoi est-ce une bonne id\xE9e d\u2019inclure des d\xE9tails sur votre environnement de calcul avec "),Pe=n("code"),Ar=c("transformers-cli env"),Tr=c(" lorsque vous cr\xE9ez une nouvelle question dans le d\xE9p\xF4t \u{1F917} "),ke=n("em"),Ur=c("Transformers"),jr=c(" ?"),Ve=l(),d(oe.$$.fragment),this.h()},l(e){const s=vt('[data-svelte="svelte-1phssyn"]',document.head);g=a(s,"META",{name:!0,content:!0}),s.forEach(r),Se=p(e),x=a(e,"H1",{class:!0});var Ke=o(x);A=a(Ke,"A",{id:!0,class:!0,href:!0});var Gr=o(A);pe=a(Gr,"SPAN",{});var Nr=o(pe);f(H.$$.fragment,Nr),Nr.forEach(r),Gr.forEach(r),ir=p(Ke),ce=a(Ke,"SPAN",{});var Ir=o(ce);ur=m(Ir,"Quiz de fin de chapitre"),Ir.forEach(r),Ke.forEach(r),Ce=p(e),ie=a(e,"P",{});var Qr=o(ie);lr=m(Qr,"Testons ce que vous avez appris dans ce chapitre !"),Qr.forEach(r),Ae=p(e),b=a(e,"H3",{class:!0});var Xe=o(b);T=a(Xe,"A",{id:!0,class:!0,href:!0});var Dr=o(T);me=a(Dr,"SPAN",{});var Hr=o(me);f(F.$$.fragment,Hr),Hr.forEach(r),Dr.forEach(r),pr=p(Xe),B=a(Xe,"SPAN",{});var Ye=o(B);cr=m(Ye,"1. Dans quel ordre devez-vous lire un "),de=a(Ye,"I",{});var Fr=o(de);mr=m(Fr,"traceback"),Fr.forEach(r),dr=m(Ye," Python ?"),Ye.forEach(r),Xe.forEach(r),Te=p(e),f(M.$$.fragment,e),Ue=p(e),y=a(e,"H3",{class:!0});var Ze=o(y);U=a(Ze,"A",{id:!0,class:!0,href:!0});var Br=o(U);fe=a(Br,"SPAN",{});var Mr=o(fe);f(O.$$.fragment,Mr),Mr.forEach(r),Br.forEach(r),fr=p(Ze),ve=a(Ze,"SPAN",{});var Or=o(ve);vr=m(Or,"2. Qu\u2019est-ce qu\u2019un exemple minimal reproductible ?"),Or.forEach(r),Ze.forEach(r),je=p(e),f(R.$$.fragment,e),Le=p(e),_=a(e,"H3",{class:!0});var er=o(_);j=a(er,"A",{id:!0,class:!0,href:!0});var Rr=o(j);he=a(Rr,"SPAN",{});var Jr=o(he);f(J.$$.fragment,Jr),Jr.forEach(r),Rr.forEach(r),hr=p(er),qe=a(er,"SPAN",{});var Vr=o(qe);qr=m(Vr,"3. Supposons que vous essayez d\u2019ex\xE9cuter le code suivant, qui g\xE9n\xE8re une erreur :"),Vr.forEach(r),er.forEach(r),Ge=p(e),f(V.$$.fragment,e),Ne=p(e),ue=a(e,"P",{});var Wr=o(ue);$r=m(Wr,"Lequel des \xE9l\xE9ments suivants pourrait \xEAtre un bon choix pour le titre d\u2019un sujet de forum pour demander de l\u2019aide ?"),Wr.forEach(r),Ie=p(e),f(W.$$.fragment,e),Qe=p(e),w=a(e,"H3",{class:!0});var rr=o(w);L=a(rr,"A",{id:!0,class:!0,href:!0});var Kr=o(L);$e=a(Kr,"SPAN",{});var Xr=o($e);f(K.$$.fragment,Xr),Xr.forEach(r),Kr.forEach(r),gr=p(rr),X=a(rr,"SPAN",{});var tr=o(X);xr=m(tr,"4. Supposons que vous ayez essay\xE9 d\u2019ex\xE9cuter "),ge=a(tr,"CODE",{});var Yr=o(ge);br=m(Yr,"trainer.train()"),Yr.forEach(r),yr=m(tr," et que vous soyez confront\xE9 \xE0 une erreur \xE9nigmatique qui ne vous dit pas exactement d\u2019o\xF9 vient l\u2019erreur. Quel est le premier endroit o\xF9 vous devez chercher les erreurs dans votre pipeline d\u2019entra\xEEnement ?"),tr.forEach(r),rr.forEach(r),De=p(e),f(Y.$$.fragment,e),He=p(e),z=a(e,"H3",{class:!0});var sr=o(z);G=a(sr,"A",{id:!0,class:!0,href:!0});var Zr=o(G);xe=a(Zr,"SPAN",{});var et=o(xe);f(Z.$$.fragment,et),et.forEach(r),Zr.forEach(r),_r=p(sr),be=a(sr,"SPAN",{});var rt=o(be);wr=m(rt,"5. Quelle est la meilleure fa\xE7on de d\xE9boguer une erreur CUDA ?"),rt.forEach(r),sr.forEach(r),Fe=p(e),f(ee.$$.fragment,e),Be=p(e),E=a(e,"H3",{class:!0});var nr=o(E);N=a(nr,"A",{id:!0,class:!0,href:!0});var tt=o(N);ye=a(tt,"SPAN",{});var st=o(ye);f(re.$$.fragment,st),st.forEach(r),tt.forEach(r),zr=p(nr),_e=a(nr,"SPAN",{});var nt=o(_e);Er=m(nt,"6. Quelle est la meilleure fa\xE7on de faire corriger un probl\xE8me sur GitHub ?"),nt.forEach(r),nr.forEach(r),Me=p(e),f(te.$$.fragment,e),Oe=p(e),P=a(e,"H3",{class:!0});var ar=o(P);I=a(ar,"A",{id:!0,class:!0,href:!0});var at=o(I);we=a(at,"SPAN",{});var ot=o(we);f(se.$$.fragment,ot),ot.forEach(r),at.forEach(r),Pr=p(ar),ze=a(ar,"SPAN",{});var it=o(ze);kr=m(it,"7. Pourquoi le surapprentissage \xE0 un batch est-il g\xE9n\xE9ralement une bonne technique de d\xE9bogage ?"),it.forEach(r),ar.forEach(r),Re=p(e),f(ne.$$.fragment,e),Je=p(e),k=a(e,"H3",{class:!0});var or=o(k);Q=a(or,"A",{id:!0,class:!0,href:!0});var ut=o(Q);Ee=a(ut,"SPAN",{});var lt=o(Ee);f(ae.$$.fragment,lt),lt.forEach(r),ut.forEach(r),Sr=p(or),S=a(or,"SPAN",{});var le=o(S);Cr=m(le,"8. Pourquoi est-ce une bonne id\xE9e d\u2019inclure des d\xE9tails sur votre environnement de calcul avec "),Pe=a(le,"CODE",{});var pt=o(Pe);Ar=m(pt,"transformers-cli env"),pt.forEach(r),Tr=m(le," lorsque vous cr\xE9ez une nouvelle question dans le d\xE9p\xF4t \u{1F917} "),ke=a(le,"EM",{});var ct=o(ke);Ur=m(ct,"Transformers"),ct.forEach(r),jr=m(le," ?"),le.forEach(r),or.forEach(r),Ve=p(e),f(oe.$$.fragment,e),this.h()},h(){i(g,"name","hf:doc:metadata"),i(g,"content",JSON.stringify(xt)),i(A,"id","quiz-de-fin-de-chapitre"),i(A,"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"),i(A,"href","#quiz-de-fin-de-chapitre"),i(x,"class","relative group"),i(T,"id","1.-dans-quel-ordre-devez-vous-lire-un-<i>traceback</i>-python-?"),i(T,"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"),i(T,"href","#1.-dans-quel-ordre-devez-vous-lire-un-<i>traceback</i>-python-?"),i(b,"class","relative group"),i(U,"id","2.-qu\u2019est-ce-qu\u2019un-exemple-minimal-reproductible-?"),i(U,"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"),i(U,"href","#2.-qu\u2019est-ce-qu\u2019un-exemple-minimal-reproductible-?"),i(y,"class","relative group"),i(j,"id","3.-supposons-que-vous-essayez-d\u2019ex\xE9cuter-le-code-suivant,-qui-g\xE9n\xE8re-une-erreur-:"),i(j,"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"),i(j,"href","#3.-supposons-que-vous-essayez-d\u2019ex\xE9cuter-le-code-suivant,-qui-g\xE9n\xE8re-une-erreur-:"),i(_,"class","relative group"),i(L,"id","4.-supposons-que-vous-ayez-essay\xE9-d\u2019ex\xE9cuter-<code>trainer.train()</code>-et-que-vous-soyez-confront\xE9-\xE0-une-erreur-\xE9nigmatique-qui-ne-vous-dit-pas-exactement-d\u2019o\xF9-vient-l\u2019erreur.-quel-est-le-premier-endroit-o\xF9-vous-devez-chercher-les-erreurs-dans-votre-pipeline-d\u2019entra\xEEnement-?"),i(L,"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"),i(L,"href","#4.-supposons-que-vous-ayez-essay\xE9-d\u2019ex\xE9cuter-<code>trainer.train()</code>-et-que-vous-soyez-confront\xE9-\xE0-une-erreur-\xE9nigmatique-qui-ne-vous-dit-pas-exactement-d\u2019o\xF9-vient-l\u2019erreur.-quel-est-le-premier-endroit-o\xF9-vous-devez-chercher-les-erreurs-dans-votre-pipeline-d\u2019entra\xEEnement-?"),i(w,"class","relative group"),i(G,"id","5.-quelle-est-la-meilleure-fa\xE7on-de-d\xE9boguer-une-erreur-cuda-?"),i(G,"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"),i(G,"href","#5.-quelle-est-la-meilleure-fa\xE7on-de-d\xE9boguer-une-erreur-cuda-?"),i(z,"class","relative group"),i(N,"id","6.-quelle-est-la-meilleure-fa\xE7on-de-faire-corriger-un-probl\xE8me-sur-github-?"),i(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"),i(N,"href","#6.-quelle-est-la-meilleure-fa\xE7on-de-faire-corriger-un-probl\xE8me-sur-github-?"),i(E,"class","relative group"),i(I,"id","7.-pourquoi-le-surapprentissage-\xE0-un-batch-est-il-g\xE9n\xE9ralement-une-bonne-technique-de-d\xE9bogage-?"),i(I,"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"),i(I,"href","#7.-pourquoi-le-surapprentissage-\xE0-un-batch-est-il-g\xE9n\xE9ralement-une-bonne-technique-de-d\xE9bogage-?"),i(P,"class","relative group"),i(Q,"id","8.-pourquoi-est-ce-une-bonne-id\xE9e-d\u2019inclure-des-d\xE9tails-sur-votre-environnement-de-calcul-avec-<code>transformers-cli-env</code>-lorsque-vous-cr\xE9ez-une-nouvelle-question-dans-le-d\xE9p\xF4t-\u{1F917}-<em>transformers</em>-?"),i(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"),i(Q,"href","#8.-pourquoi-est-ce-une-bonne-id\xE9e-d\u2019inclure-des-d\xE9tails-sur-votre-environnement-de-calcul-avec-<code>transformers-cli-env</code>-lorsque-vous-cr\xE9ez-une-nouvelle-question-dans-le-d\xE9p\xF4t-\u{1F917}-<em>transformers</em>-?"),i(k,"class","relative group")},m(e,s){t(document.head,g),u(e,Se,s),u(e,x,s),t(x,A),t(A,pe),v(H,pe,null),t(x,ir),t(x,ce),t(ce,ur),u(e,Ce,s),u(e,ie,s),t(ie,lr),u(e,Ae,s),u(e,b,s),t(b,T),t(T,me),v(F,me,null),t(b,pr),t(b,B),t(B,cr),t(B,de),t(de,mr),t(B,dr),u(e,Te,s),v(M,e,s),u(e,Ue,s),u(e,y,s),t(y,U),t(U,fe),v(O,fe,null),t(y,fr),t(y,ve),t(ve,vr),u(e,je,s),v(R,e,s),u(e,Le,s),u(e,_,s),t(_,j),t(j,he),v(J,he,null),t(_,hr),t(_,qe),t(qe,qr),u(e,Ge,s),v(V,e,s),u(e,Ne,s),u(e,ue,s),t(ue,$r),u(e,Ie,s),v(W,e,s),u(e,Qe,s),u(e,w,s),t(w,L),t(L,$e),v(K,$e,null),t(w,gr),t(w,X),t(X,xr),t(X,ge),t(ge,br),t(X,yr),u(e,De,s),v(Y,e,s),u(e,He,s),u(e,z,s),t(z,G),t(G,xe),v(Z,xe,null),t(z,_r),t(z,be),t(be,wr),u(e,Fe,s),v(ee,e,s),u(e,Be,s),u(e,E,s),t(E,N),t(N,ye),v(re,ye,null),t(E,zr),t(E,_e),t(_e,Er),u(e,Me,s),v(te,e,s),u(e,Oe,s),u(e,P,s),t(P,I),t(I,we),v(se,we,null),t(P,Pr),t(P,ze),t(ze,kr),u(e,Re,s),v(ne,e,s),u(e,Je,s),u(e,k,s),t(k,Q),t(Q,Ee),v(ae,Ee,null),t(k,Sr),t(k,S),t(S,Cr),t(S,Pe),t(Pe,Ar),t(S,Tr),t(S,ke),t(ke,Ur),t(S,jr),u(e,Ve,s),v(oe,e,s),We=!0},p:ht,i(e){We||(h(H.$$.fragment,e),h(F.$$.fragment,e),h(M.$$.fragment,e),h(O.$$.fragment,e),h(R.$$.fragment,e),h(J.$$.fragment,e),h(V.$$.fragment,e),h(W.$$.fragment,e),h(K.$$.fragment,e),h(Y.$$.fragment,e),h(Z.$$.fragment,e),h(ee.$$.fragment,e),h(re.$$.fragment,e),h(te.$$.fragment,e),h(se.$$.fragment,e),h(ne.$$.fragment,e),h(ae.$$.fragment,e),h(oe.$$.fragment,e),We=!0)},o(e){q(H.$$.fragment,e),q(F.$$.fragment,e),q(M.$$.fragment,e),q(O.$$.fragment,e),q(R.$$.fragment,e),q(J.$$.fragment,e),q(V.$$.fragment,e),q(W.$$.fragment,e),q(K.$$.fragment,e),q(Y.$$.fragment,e),q(Z.$$.fragment,e),q(ee.$$.fragment,e),q(re.$$.fragment,e),q(te.$$.fragment,e),q(se.$$.fragment,e),q(ne.$$.fragment,e),q(ae.$$.fragment,e),q(oe.$$.fragment,e),We=!1},d(e){r(g),e&&r(Se),e&&r(x),$(H),e&&r(Ce),e&&r(ie),e&&r(Ae),e&&r(b),$(F),e&&r(Te),$(M,e),e&&r(Ue),e&&r(y),$(O),e&&r(je),$(R,e),e&&r(Le),e&&r(_),$(J),e&&r(Ge),$(V,e),e&&r(Ne),e&&r(ue),e&&r(Ie),$(W,e),e&&r(Qe),e&&r(w),$(K),e&&r(De),$(Y,e),e&&r(He),e&&r(z),$(Z),e&&r(Fe),$(ee,e),e&&r(Be),e&&r(E),$(re),e&&r(Me),$(te,e),e&&r(Oe),e&&r(P),$(se),e&&r(Re),$(ne,e),e&&r(Je),e&&r(k),$(ae),e&&r(Ve),$(oe,e)}}}const xt={local:"quiz-de-fin-de-chapitre",title:"Quiz de fin de chapitre"};function bt(Lr){return qt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Et extends mt{constructor(g){super();dt(this,g,bt,gt,ft,{})}}export{Et as default,xt as metadata};
