import{s as te,o as ie,n as ae}from"../chunks/scheduler.893fe8c9.js";import{S as ne,i as re,e as u,s as o,c as P,h as le,a as c,d as i,b as s,f as Y,g as L,j as C,k as O,l as oe,m as a,n as w,t as H,o as A,p as k,q as Z,r as ee}from"../chunks/index.6ee278c6.js";import{T as se}from"../chunks/Tip.eab0255c.js";import{C as ue,H as ce,E as me}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.ea3ad860.js";import{C as pe}from"../chunks/CourseFloatingBanner.c25cfa5e.js";function fe(y){let r,l,p="să vă creați un cont",m;return{c(){r=Z(`⚠️  
Pentru a beneficia de toate funcțiile disponibile cu Model Hub și 🤗 Transformers, vă recomandăm `),l=u("a"),l.textContent=p,m=Z("."),this.h()},l(n){r=ee(n,`⚠️  
Pentru a beneficia de toate funcțiile disponibile cu Model Hub și 🤗 Transformers, vă recomandăm `),l=c(n,"A",{href:!0,"data-svelte-h":!0}),C(l)!=="svelte-1xx9b2d"&&(l.textContent=p),m=ee(n,"."),this.h()},h(){O(l,"href","https://huggingface.co/join")},m(n,f){a(n,r,f),a(n,l,f),a(n,m,f)},p:ae,d(n){n&&(i(r),i(l),i(m))}}}function de(y){let r,l,p,m,n,f,$,S,v,E,b,R='După cum ați văzut în <a href="/course/chapter1">Capitolul 1</a>, modelele Transformer sunt de obicei foarte voluminoase. Fiind alcătuite din milioane până la zeci de <em>miliarde</em> de parametri, instruirea și implementarea acestor modele este o sarcină complicată. În plus, cu noi modele lansate aproape zilnic și fiecare având propria sa implementare, testarea tuturor acestora nu este o sarcină ușoară.',I,x,J="Biblioteca 🤗 Transformers a fost creată pentru a rezolva această problemă. Scopul său este de a oferi un singur API prin care orice model Transformer poate fi încărcat, antrenat și salvat. Principalele caracteristici ale bibliotecii sunt:",j,h,K="<li><strong>Simplitate în utilizare</strong>: Descărcarea, încărcarea și utilizarea unui model NLP de ultimă generație pentru inferență pot fi realizate în doar două linii de cod.</li> <li><strong>Flexibilitate</strong>: În esența lor, toate modelele sunt simple clase PyTorch <code>nn.Module</code> sau TensorFlow <code>tf.keras.Model</code> și pot fi manipulate ca orice alte modele în framework-urile lor respective de învățare automată (ML).</li> <li><strong>Simplitate</strong>: Aproape că nu se fac abstractizări în întreaga bibliotecă. “All in one file” este un concept de bază: trecerea înainte a unui model este definită în întregime într-un singur fișier, astfel încât codul în sine să fie ușor de înțeles și de modificat.</li>",F,g,Q=`Această ultimă caracteristică face ”🤗 Transformers” destul de diferită de alte biblioteci ML. Modelele nu sunt construite pe module
care sunt partajate între fișiere; în schimb, fiecare model are propriile sale straturi. În plus, pe lângă faptul că modelele sunt mai ușor de abordat și de înțeles, acest lucru vă permite să experimentați cu ușurință pe un model fără a le afecta pe celelalte.`,q,_,V='Acest capitol va începe cu un exemplu end-to-end în care folosim împreună un model și un tokenizer pentru a replica funcția <code>pipeline()</code> introdusă în <a href="/course/chapter1">Capitolul 1</a>. În continuare, vom discuta despre API-ul modelului: vom analiza clasele de model și de configurare și vă vom arăta cum să încărcați un model și cum acesta procesează intrările numerice pentru a genera predicții.',B,T,W="Apoi vom analiza API-ul tokenizer, care este cealaltă componentă principală a funcției <code>pipeline()</code>. Tokenizerii se ocupă de prima și ultima etapă de procesare, gestionând conversia de la text la intrări numerice pentru rețeaua neuronală și conversia înapoi la text atunci când este necesar. În cele din urmă, vă vom arăta cum să vă ocupați de trimiterea mai multor propoziții printr-un model în cadrul unui batch pregătit, apoi vom încheia totul cu o examinare mai atentă a funcției  <code>tokenizer()</code>.",D,d,N,z,U,M,G;return n=new ue({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),$=new ce({props:{title:"Introducere",local:"introducere",headingTag:"h1"}}),v=new pe({props:{chapter:2,classNames:"absolute z-10 right-0 top-0"}}),d=new se({props:{$$slots:{default:[fe]},$$scope:{ctx:y}}}),z=new me({props:{source:"https://github.com/huggingface/course/blob/main/chapters/ro/chapter2/1.mdx"}}),{c(){r=u("meta"),l=o(),p=u("p"),m=o(),P(n.$$.fragment),f=o(),P($.$$.fragment),S=o(),P(v.$$.fragment),E=o(),b=u("p"),b.innerHTML=R,I=o(),x=u("p"),x.textContent=J,j=o(),h=u("ul"),h.innerHTML=K,F=o(),g=u("p"),g.textContent=Q,q=o(),_=u("p"),_.innerHTML=V,B=o(),T=u("p"),T.innerHTML=W,D=o(),P(d.$$.fragment),N=o(),P(z.$$.fragment),U=o(),M=u("p"),this.h()},l(e){const t=le("svelte-u9bgzb",document.head);r=c(t,"META",{name:!0,content:!0}),t.forEach(i),l=s(e),p=c(e,"P",{}),Y(p).forEach(i),m=s(e),L(n.$$.fragment,e),f=s(e),L($.$$.fragment,e),S=s(e),L(v.$$.fragment,e),E=s(e),b=c(e,"P",{"data-svelte-h":!0}),C(b)!=="svelte-1lg1vi7"&&(b.innerHTML=R),I=s(e),x=c(e,"P",{"data-svelte-h":!0}),C(x)!=="svelte-1jwh8dv"&&(x.textContent=J),j=s(e),h=c(e,"UL",{"data-svelte-h":!0}),C(h)!=="svelte-bk8dke"&&(h.innerHTML=K),F=s(e),g=c(e,"P",{"data-svelte-h":!0}),C(g)!=="svelte-t9h5y0"&&(g.textContent=Q),q=s(e),_=c(e,"P",{"data-svelte-h":!0}),C(_)!=="svelte-t7c0qd"&&(_.innerHTML=V),B=s(e),T=c(e,"P",{"data-svelte-h":!0}),C(T)!=="svelte-7r5er"&&(T.innerHTML=W),D=s(e),L(d.$$.fragment,e),N=s(e),L(z.$$.fragment,e),U=s(e),M=c(e,"P",{}),Y(M).forEach(i),this.h()},h(){O(r,"name","hf:doc:metadata"),O(r,"content",$e)},m(e,t){oe(document.head,r),a(e,l,t),a(e,p,t),a(e,m,t),w(n,e,t),a(e,f,t),w($,e,t),a(e,S,t),w(v,e,t),a(e,E,t),a(e,b,t),a(e,I,t),a(e,x,t),a(e,j,t),a(e,h,t),a(e,F,t),a(e,g,t),a(e,q,t),a(e,_,t),a(e,B,t),a(e,T,t),a(e,D,t),w(d,e,t),a(e,N,t),w(z,e,t),a(e,U,t),a(e,M,t),G=!0},p(e,[t]){const X={};t&2&&(X.$$scope={dirty:t,ctx:e}),d.$set(X)},i(e){G||(H(n.$$.fragment,e),H($.$$.fragment,e),H(v.$$.fragment,e),H(d.$$.fragment,e),H(z.$$.fragment,e),G=!0)},o(e){A(n.$$.fragment,e),A($.$$.fragment,e),A(v.$$.fragment,e),A(d.$$.fragment,e),A(z.$$.fragment,e),G=!1},d(e){e&&(i(l),i(p),i(m),i(f),i(S),i(E),i(b),i(I),i(x),i(j),i(h),i(F),i(g),i(q),i(_),i(B),i(T),i(D),i(N),i(U),i(M)),i(r),k(n,e),k($,e),k(v,e),k(d,e),k(z,e)}}}const $e='{"title":"Introducere","local":"introducere","sections":[],"depth":1}';function ve(y){return ie(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Te extends ne{constructor(r){super(),re(this,r,ve,de,te,{})}}export{Te as component};
