import{s as Ar,o as Nr,n as Vr}from"../chunks/scheduler.37c15a92.js";import{S as Lr,i as Ir,g as o,s as r,r as y,A as Rr,h as c,f as l,c as u,j as zr,u as g,x as m,k as x,y as Yr,a as i,v as _,t as d,b as ee,d as M,w as v,m as Xr,n as Sr,p as te}from"../chunks/index.2bf4358c.js";import{T as Br}from"../chunks/Tip.363c041f.js";import{Y as Xa}from"../chunks/Youtube.1e50a667.js";import{C as w}from"../chunks/CodeBlock.4e987730.js";import{C as Hr}from"../chunks/CourseFloatingBanner.6add7356.js";import{F as Qr}from"../chunks/FrameworkSwitchCourse.8d4d4ab6.js";import{H as se,E as Er}from"../chunks/getInferenceSnippets.648f38f6.js";function Fr($){let a,s;return a=new Hr({props:{chapter:4,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/en/chapter4/section3_tf.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/en/chapter4/section3_tf.ipynb"}]}}),{c(){y(a.$$.fragment)},l(n){g(a.$$.fragment,n)},m(n,f){_(a,n,f),s=!0},i(n){s||(M(a.$$.fragment,n),s=!0)},o(n){d(a.$$.fragment,n),s=!1},d(n){v(a,n)}}}function Pr($){let a,s;return a=new Hr({props:{chapter:4,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/en/chapter4/section3_pt.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/en/chapter4/section3_pt.ipynb"}]}}),{c(){y(a.$$.fragment)},l(n){g(a.$$.fragment,n)},m(n,f){_(a,n,f),s=!0},i(n){s||(M(a.$$.fragment,n),s=!0)},o(n){d(a.$$.fragment,n),s=!1},d(n){v(a,n)}}}function Dr($){let a,s;return a=new Xa({props:{id:"pUh5cGmNV8Y"}}),{c(){y(a.$$.fragment)},l(n){g(a.$$.fragment,n)},m(n,f){_(a,n,f),s=!0},i(n){s||(M(a.$$.fragment,n),s=!0)},o(n){d(a.$$.fragment,n),s=!1},d(n){v(a,n)}}}function qr($){let a,s;return a=new Xa({props:{id:"Zh0FfmVrKX0"}}),{c(){y(a.$$.fragment)},l(n){g(a.$$.fragment,n)},m(n,f){_(a,n,f),s=!0},i(n){s||(M(a.$$.fragment,n),s=!0)},o(n){d(a.$$.fragment,n),s=!1},d(n){v(a,n)}}}function Or($){let a,s="Dacă utilizați Keras pentru a antrena modelul dumneavoastră, cea mai ușoară modalitate de a încărca-o pe Hub este să transmiteți un <code>PushToHubCallback</code> când chemați <code>model.fit()</code>:",n,f,U,p,h="Apoi, adăugați <code>callbacks=[callback]</code> în apelul la <code>model.fit()</code>. Callback-ul va încărca apoi modelul pe Hub de fiecare dată când se salvează (aici, la fiecare epocă) într-un repository din namespace-ul tău. Acest repository va fi numit după output directory ales (aici <code>bert-finetuned-mrpc</code>), dar puteți alege un alt nume cu <code>hub_model_id = &quot;un_nume_diferit&quot;</code>.",C,j,T="Pentru a încărca modelul într-o organizație din care faceți parte, este suficient să introduceți aceasta în <code>hub_model_id = &quot;organizația_mea/numele_repositoriului&quot;</code>.",J;return f=new w({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFB1c2hUb0h1YkNhbGxiYWNrJTBBJTBBY2FsbGJhY2slMjAlM0QlMjBQdXNoVG9IdWJDYWxsYmFjayglMEElMjAlMjAlMjAlMjAlMjJiZXJ0LWZpbmV0dW5lZC1tcnBjJTIyJTJDJTIwc2F2ZV9zdHJhdGVneSUzRCUyMmVwb2NoJTIyJTJDJTIwdG9rZW5pemVyJTNEdG9rZW5pemVyJTBBKQ==",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> PushToHubCallback

callback = PushToHubCallback(
    <span class="hljs-string">&quot;bert-finetuned-mrpc&quot;</span>, save_strategy=<span class="hljs-string">&quot;epoch&quot;</span>, tokenizer=tokenizer
)`,wrap:!1}}),{c(){a=o("p"),a.innerHTML=s,n=r(),y(f.$$.fragment),U=r(),p=o("p"),p.innerHTML=h,C=r(),j=o("p"),j.innerHTML=T},l(b){a=c(b,"P",{"data-svelte-h":!0}),m(a)!=="svelte-13emwuc"&&(a.innerHTML=s),n=u(b),g(f.$$.fragment,b),U=u(b),p=c(b,"P",{"data-svelte-h":!0}),m(p)!=="svelte-t5mqny"&&(p.innerHTML=h),C=u(b),j=c(b,"P",{"data-svelte-h":!0}),m(j)!=="svelte-1pb5ury"&&(j.innerHTML=T)},m(b,Z){i(b,a,Z),i(b,n,Z),_(f,b,Z),i(b,U,Z),i(b,p,Z),i(b,C,Z),i(b,j,Z),J=!0},i(b){J||(M(f.$$.fragment,b),J=!0)},o(b){d(f.$$.fragment,b),J=!1},d(b){b&&(l(a),l(n),l(U),l(p),l(C),l(j)),v(f,b)}}}function Kr($){let a,s="Dacă ați lucrat cu API-ul <code>Trainer</code> pentru a antrena un model, cea mai ușoară modalitate de a o încărca pe Hub este să setați <code>push_to_hub=True</code> când definiți <code>TrainingArguments</code>:",n,f,U,p,h="Când chemați <code>trainer.train()</code>, <code>Trainer</code> va încărca modelul pe Hub de fiecare dată când este salvat (aici, la fiecare epocă) într-un repository namespace-ul tău. Acest repository va fi numit după output directory-ul ales (aici <code>bert-finetuned-mrpc</code>), dar puteți alege un alt nume cu <code>hub_model_id = &quot;un_nume_diferit&quot;</code>.",C,j,T="Pentru a încărca modelul într-o organizație din care faceți parte, este suficient să introduceți aceasta în <code>hub_model_id = &quot;organizația_mea/numele_repositoriului&quot;</code>.",J,b,Z="Odată ce antrenarea s-a terminat, trebuie să faceți <code>trainer.push_to_hub()</code> pentru a încărca ultima versiune a modelului. Acesta va genera apoi un model card cu toate informațiile relevante, inclusiv metadatele despre hyperparametrii utilizați și rezultatele evaluării! Aici este exemplul unui astfel de model card:",q,G,oe='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/model_card.png" alt="Un exemplu de un card auto-generat." width="100%"/>',z;return f=new w({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRyYWluaW5nQXJndW1lbnRzJTBBJTBBdHJhaW5pbmdfYXJncyUyMCUzRCUyMFRyYWluaW5nQXJndW1lbnRzKCUwQSUyMCUyMCUyMCUyMCUyMmJlcnQtZmluZXR1bmVkLW1ycGMlMjIlMkMlMjBzYXZlX3N0cmF0ZWd5JTNEJTIyZXBvY2glMjIlMkMlMjBwdXNoX3RvX2h1YiUzRFRydWUlMEEp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TrainingArguments

training_args = TrainingArguments(
    <span class="hljs-string">&quot;bert-finetuned-mrpc&quot;</span>, save_strategy=<span class="hljs-string">&quot;epoch&quot;</span>, push_to_hub=<span class="hljs-literal">True</span>
)`,wrap:!1}}),{c(){a=o("p"),a.innerHTML=s,n=r(),y(f.$$.fragment),U=r(),p=o("p"),p.innerHTML=h,C=r(),j=o("p"),j.innerHTML=T,J=r(),b=o("p"),b.innerHTML=Z,q=r(),G=o("div"),G.innerHTML=oe,this.h()},l(k){a=c(k,"P",{"data-svelte-h":!0}),m(a)!=="svelte-1sm9iam"&&(a.innerHTML=s),n=u(k),g(f.$$.fragment,k),U=u(k),p=c(k,"P",{"data-svelte-h":!0}),m(p)!=="svelte-prqaud"&&(p.innerHTML=h),C=u(k),j=c(k,"P",{"data-svelte-h":!0}),m(j)!=="svelte-1pb5ury"&&(j.innerHTML=T),J=u(k),b=c(k,"P",{"data-svelte-h":!0}),m(b)!=="svelte-b4vpdz"&&(b.innerHTML=Z),q=u(k),G=c(k,"DIV",{class:!0,"data-svelte-h":!0}),m(G)!=="svelte-yrauot"&&(G.innerHTML=oe),this.h()},h(){x(G,"class","flex justify-center")},m(k,W){i(k,a,W),i(k,n,W),_(f,k,W),i(k,U,W),i(k,p,W),i(k,C,W),i(k,j,W),i(k,J,W),i(k,b,W),i(k,q,W),i(k,G,W),z=!0},i(k){z||(M(f.$$.fragment,k),z=!0)},o(k){d(f.$$.fragment,k),z=!1},d(k){k&&(l(a),l(n),l(U),l(p),l(C),l(j),l(J),l(b),l(q),l(G)),v(f,k)}}}function eu($){let a,s;return a=new w({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGQXV0b01vZGVsRm9yTWFza2VkTE0lMkMlMjBBdXRvVG9rZW5pemVyJTBBJTBBY2hlY2twb2ludCUyMCUzRCUyMCUyMmNhbWVtYmVydC1iYXNlJTIyJTBBJTBBbW9kZWwlMjAlM0QlMjBURkF1dG9Nb2RlbEZvck1hc2tlZExNLmZyb21fcHJldHJhaW5lZChjaGVja3BvaW50KSUwQXRva2VuaXplciUyMCUzRCUyMEF1dG9Ub2tlbml6ZXIuZnJvbV9wcmV0cmFpbmVkKGNoZWNrcG9pbnQp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFAutoModelForMaskedLM, AutoTokenizer

checkpoint = <span class="hljs-string">&quot;camembert-base&quot;</span>

model = TFAutoModelForMaskedLM.from_pretrained(checkpoint)
tokenizer = AutoTokenizer.from_pretrained(checkpoint)`,wrap:!1}}),{c(){y(a.$$.fragment)},l(n){g(a.$$.fragment,n)},m(n,f){_(a,n,f),s=!0},i(n){s||(M(a.$$.fragment,n),s=!0)},o(n){d(a.$$.fragment,n),s=!1},d(n){v(a,n)}}}function tu($){let a,s;return a=new w({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbEZvck1hc2tlZExNJTJDJTIwQXV0b1Rva2VuaXplciUwQSUwQWNoZWNrcG9pbnQlMjAlM0QlMjAlMjJjYW1lbWJlcnQtYmFzZSUyMiUwQSUwQW1vZGVsJTIwJTNEJTIwQXV0b01vZGVsRm9yTWFza2VkTE0uZnJvbV9wcmV0cmFpbmVkKGNoZWNrcG9pbnQpJTBBdG9rZW5pemVyJTIwJTNEJTIwQXV0b1Rva2VuaXplci5mcm9tX3ByZXRyYWluZWQoY2hlY2twb2ludCk=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForMaskedLM, AutoTokenizer

checkpoint = <span class="hljs-string">&quot;camembert-base&quot;</span>

model = AutoModelForMaskedLM.from_pretrained(checkpoint)
tokenizer = AutoTokenizer.from_pretrained(checkpoint)`,wrap:!1}}),{c(){y(a.$$.fragment)},l(n){g(a.$$.fragment,n)},m(n,f){_(a,n,f),s=!0},i(n){s||(M(a.$$.fragment,n),s=!0)},o(n){d(a.$$.fragment,n),s=!1},d(n){v(a,n)}}}function lu($){let a,s='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/push_to_hub_dummy_model_tf.png" alt="Dummy model containing both the tokenizer and model files." width="80%"/>';return{c(){a=o("div"),a.innerHTML=s,this.h()},l(n){a=c(n,"DIV",{class:!0,"data-svelte-h":!0}),m(a)!=="svelte-5a3kk0"&&(a.innerHTML=s),this.h()},h(){x(a,"class","flex justify-center")},m(n,f){i(n,a,f)},d(n){n&&l(a)}}}function iu($){let a,s='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/push_to_hub_dummy_model.png" alt="Dummy model containing both the tokenizer and model files." width="80%"/>';return{c(){a=o("div"),a.innerHTML=s,this.h()},l(n){a=c(n,"DIV",{class:!0,"data-svelte-h":!0}),m(a)!=="svelte-19u1vyv"&&(a.innerHTML=s),this.h()},h(){x(a,"class","flex justify-center")},m(n,f){i(n,a,f)},d(n){n&&l(a)}}}function au($){let a,s="✏️ <strong>Încercați!</strong> Luați modelul și tokenizerul asociat cu checkpointul <code>bert-base-cased</code> și încărcați-l pe un repo în namespace-ul tău folosind metoda <code>push_to_hub()</code>. Verificați că repo-ul apare  în pagina dumneavoastră înainte de a-l șterge.";return{c(){a=o("p"),a.innerHTML=s},l(n){a=c(n,"P",{"data-svelte-h":!0}),m(a)!=="svelte-mz0hs"&&(a.innerHTML=s)},m(n,f){i(n,a,f)},p:Vr,d(n){n&&l(a)}}}function nu($){let a,s;return a=new w({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGQXV0b01vZGVsRm9yTWFza2VkTE0lMkMlMjBBdXRvVG9rZW5pemVyJTBBJTBBY2hlY2twb2ludCUyMCUzRCUyMCUyMmNhbWVtYmVydC1iYXNlJTIyJTBBJTBBbW9kZWwlMjAlM0QlMjBURkF1dG9Nb2RlbEZvck1hc2tlZExNLmZyb21fcHJldHJhaW5lZChjaGVja3BvaW50KSUwQXRva2VuaXplciUyMCUzRCUyMEF1dG9Ub2tlbml6ZXIuZnJvbV9wcmV0cmFpbmVkKGNoZWNrcG9pbnQpJTBBJTBBJTIzJTIwRmFjZSVDOCU5QmklMjBvcmljZSUyMGN1JTIwbW9kZWx1bCUyQyUyMGFudHJlbmElQzglOUJpLWwlMkMlMjBhcGxpY2ElQzglOUJpJTIwZmluZS10dW5pbmcuLi4lMEElMEFtb2RlbC5zYXZlX3ByZXRyYWluZWQoJTIyJTNDcGF0aF90b19kdW1teV9mb2xkZXIlM0UlMjIpJTBBdG9rZW5pemVyLnNhdmVfcHJldHJhaW5lZCglMjIlM0NwYXRoX3RvX2R1bW15X2ZvbGRlciUzRSUyMik=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFAutoModelForMaskedLM, AutoTokenizer

checkpoint = <span class="hljs-string">&quot;camembert-base&quot;</span>

model = TFAutoModelForMaskedLM.from_pretrained(checkpoint)
tokenizer = AutoTokenizer.from_pretrained(checkpoint)

<span class="hljs-comment"># Faceți orice cu modelul, antrenați-l, aplicați fine-tuning...</span>

model.save_pretrained(<span class="hljs-string">&quot;&lt;path_to_dummy_folder&gt;&quot;</span>)
tokenizer.save_pretrained(<span class="hljs-string">&quot;&lt;path_to_dummy_folder&gt;&quot;</span>)`,wrap:!1}}),{c(){y(a.$$.fragment)},l(n){g(a.$$.fragment,n)},m(n,f){_(a,n,f),s=!0},i(n){s||(M(a.$$.fragment,n),s=!0)},o(n){d(a.$$.fragment,n),s=!1},d(n){v(a,n)}}}function ru($){let a,s;return a=new w({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbEZvck1hc2tlZExNJTJDJTIwQXV0b1Rva2VuaXplciUwQSUwQWNoZWNrcG9pbnQlMjAlM0QlMjAlMjJjYW1lbWJlcnQtYmFzZSUyMiUwQSUwQW1vZGVsJTIwJTNEJTIwQXV0b01vZGVsRm9yTWFza2VkTE0uZnJvbV9wcmV0cmFpbmVkKGNoZWNrcG9pbnQpJTBBdG9rZW5pemVyJTIwJTNEJTIwQXV0b1Rva2VuaXplci5mcm9tX3ByZXRyYWluZWQoY2hlY2twb2ludCklMEElMEElMjMlMjBGYWNlJUM4JTlCaSUyMG9yaWNlJTIwY3UlMjBtb2RlbHVsJTJDJTIwYW50cmVuYSVDOCU5QmktbCUyQyUyMGFwbGljYSVDOCU5QmklMjBmaW5lLXR1bmluZy4uLiUwQSUwQW1vZGVsLnNhdmVfcHJldHJhaW5lZCglMjIlM0NwYXRoX3RvX2R1bW15X2ZvbGRlciUzRSUyMiklMEF0b2tlbml6ZXIuc2F2ZV9wcmV0cmFpbmVkKCUyMiUzQ3BhdGhfdG9fZHVtbXlfZm9sZGVyJTNFJTIyKQ==",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForMaskedLM, AutoTokenizer

checkpoint = <span class="hljs-string">&quot;camembert-base&quot;</span>

model = AutoModelForMaskedLM.from_pretrained(checkpoint)
tokenizer = AutoTokenizer.from_pretrained(checkpoint)

<span class="hljs-comment"># Faceți orice cu modelul, antrenați-l, aplicați fine-tuning...</span>

model.save_pretrained(<span class="hljs-string">&quot;&lt;path_to_dummy_folder&gt;&quot;</span>)
tokenizer.save_pretrained(<span class="hljs-string">&quot;&lt;path_to_dummy_folder&gt;&quot;</span>)`,wrap:!1}}),{c(){y(a.$$.fragment)},l(n){g(a.$$.fragment,n)},m(n,f){_(a,n,f),s=!0},i(n){s||(M(a.$$.fragment,n),s=!0)},o(n){d(a.$$.fragment,n),s=!1},d(n){v(a,n)}}}function uu($){let a,s,n,f="Dacă priviți la dimensiunile fișierelor (de exemplu, folosind <code>ls -lh</code>), ar trebui să vedeți că singurul outlier este model state dict file (<em>tf_model.h5</em>), care are mai mult de 400 MB.",U;return a=new w({props:{code:"Y29uZmlnLmpzb24lMjAlMjBSRUFETUUubWQlMjAlMjBzZW50ZW5jZXBpZWNlLmJwZS5tb2RlbCUyMCUyMHNwZWNpYWxfdG9rZW5zX21hcC5qc29uJTIwJTIwdGZfbW9kZWwuaDUlMjAlMjB0b2tlbml6ZXJfY29uZmlnLmpzb24lMjAlMjB0b2tlbml6ZXIuanNvbg==",highlighted:"config.json  README.md  sentencepiece.bpe.model  special_tokens_map.json  tf_model.h5  tokenizer_config.json  tokenizer.json",wrap:!1}}),{c(){y(a.$$.fragment),s=r(),n=o("p"),n.innerHTML=f},l(p){g(a.$$.fragment,p),s=u(p),n=c(p,"P",{"data-svelte-h":!0}),m(n)!=="svelte-16lgmeg"&&(n.innerHTML=f)},m(p,h){_(a,p,h),i(p,s,h),i(p,n,h),U=!0},i(p){U||(M(a.$$.fragment,p),U=!0)},o(p){d(a.$$.fragment,p),U=!1},d(p){p&&(l(s),l(n)),v(a,p)}}}function su($){let a,s,n,f="Dacă priviți la dimensiunile fișierelor (de exemplu, folosind <code>ls -lh</code>), ar trebui să vedeți că singurul outlier este model state dict file (<em>pytorch_model.bin</em>), care are mai mult de 400 MB.",U;return a=new w({props:{code:"Y29uZmlnLmpzb24lMjAlMjBweXRvcmNoX21vZGVsLmJpbiUyMCUyMFJFQURNRS5tZCUyMCUyMHNlbnRlbmNlcGllY2UuYnBlLm1vZGVsJTIwJTIwc3BlY2lhbF90b2tlbnNfbWFwLmpzb24lMjB0b2tlbml6ZXJfY29uZmlnLmpzb24lMjAlMjB0b2tlbml6ZXIuanNvbg==",highlighted:"config.json  pytorch_model.bin  README.md  sentencepiece.bpe.model  special_tokens_map.json tokenizer_config.json  tokenizer.json",wrap:!1}}),{c(){y(a.$$.fragment),s=r(),n=o("p"),n.innerHTML=f},l(p){g(a.$$.fragment,p),s=u(p),n=c(p,"P",{"data-svelte-h":!0}),m(n)!=="svelte-1w9zk77"&&(n.innerHTML=f)},m(p,h){_(a,p,h),i(p,s,h),i(p,n,h),U=!0},i(p){U||(M(a.$$.fragment,p),U=!0)},o(p){d(a.$$.fragment,p),U=!1},d(p){p&&(l(s),l(n)),v(a,p)}}}function ou($){let a;return{c(){a=Xr("✏️ Dacă creați repositoriul folosind interfața web, fișierul *.gitattributes* va fi automat configurat pentru a considera anumite extensii de fișiere, precum *.bin* și *.h5*, ca fiind fișiere mari. În acest caz nu este necesară nici o setare suplimentară din partea ta, pentru că git-lfs le va urmări automat.")},l(s){a=Sr(s,"✏️ Dacă creați repositoriul folosind interfața web, fișierul *.gitattributes* va fi automat configurat pentru a considera anumite extensii de fișiere, precum *.bin* și *.h5*, ca fiind fișiere mari. În acest caz nu este necesară nici o setare suplimentară din partea ta, pentru că git-lfs le va urmări automat.")},m(s,n){i(s,a,n)},d(s){s&&l(a)}}}function cu($){let a,s;return a=new w({props:{code:"T24lMjBicmFuY2glMjBtYWluJTBBWW91ciUyMGJyYW5jaCUyMGlzJTIwdXAlMjB0byUyMGRhdGUlMjB3aXRoJTIwJ29yaWdpbiUyRm1haW4nLiUwQSUwQUNoYW5nZXMlMjB0byUyMGJlJTIwY29tbWl0dGVkJTNBJTBBJTIwJTIwKHVzZSUyMCUyMmdpdCUyMHJlc3RvcmUlMjAtLXN0YWdlZCUyMCUzQ2ZpbGUlM0UuLi4lMjIlMjB0byUyMHVuc3RhZ2UpJTBBJTIwJTIwbW9kaWZpZWQlM0ElMjAlMjAlMjAuZ2l0YXR0cmlidXRlcyUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjBjb25maWcuanNvbiUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjBzZW50ZW5jZXBpZWNlLmJwZS5tb2RlbCUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjBzcGVjaWFsX3Rva2Vuc19tYXAuanNvbiUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjB0Zl9tb2RlbC5oNSUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjB0b2tlbml6ZXIuanNvbiUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjB0b2tlbml6ZXJfY29uZmlnLmpzb24=",highlighted:`On branch main
Your branch is up to <span class="hljs-built_in">date</span> with <span class="hljs-string">&#x27;origin/main&#x27;</span>.

Changes to be committed:
  (use <span class="hljs-string">&quot;git restore --staged &lt;file&gt;...&quot;</span> to unstage)
  modified:   .gitattributes
	new file:   config.json
	new file:   sentencepiece.bpe.model
	new file:   special_tokens_map.json
	new file:   tf_model.h5
	new file:   tokenizer.json
	new file:   tokenizer_config.json`,wrap:!1}}),{c(){y(a.$$.fragment)},l(n){g(a.$$.fragment,n)},m(n,f){_(a,n,f),s=!0},i(n){s||(M(a.$$.fragment,n),s=!0)},o(n){d(a.$$.fragment,n),s=!1},d(n){v(a,n)}}}function mu($){let a,s;return a=new w({props:{code:"T24lMjBicmFuY2glMjBtYWluJTBBWW91ciUyMGJyYW5jaCUyMGlzJTIwdXAlMjB0byUyMGRhdGUlMjB3aXRoJTIwJ29yaWdpbiUyRm1haW4nLiUwQSUwQUNoYW5nZXMlMjB0byUyMGJlJTIwY29tbWl0dGVkJTNBJTBBJTIwJTIwKHVzZSUyMCUyMmdpdCUyMHJlc3RvcmUlMjAtLXN0YWdlZCUyMCUzQ2ZpbGUlM0UuLi4lMjIlMjB0byUyMHVuc3RhZ2UpJTBBJTIwJTIwbW9kaWZpZWQlM0ElMjAlMjAlMjAuZ2l0YXR0cmlidXRlcyUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjBjb25maWcuanNvbiUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjBweXRvcmNoX21vZGVsLmJpbiUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjBzZW50ZW5jZXBpZWNlLmJwZS5tb2RlbCUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjBzcGVjaWFsX3Rva2Vuc19tYXAuanNvbiUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjB0b2tlbml6ZXIuanNvbiUwQSUwOW5ldyUyMGZpbGUlM0ElMjAlMjAlMjB0b2tlbml6ZXJfY29uZmlnLmpzb24=",highlighted:`On branch main
Your branch is up to <span class="hljs-built_in">date</span> with <span class="hljs-string">&#x27;origin/main&#x27;</span>.

Changes to be committed:
  (use <span class="hljs-string">&quot;git restore --staged &lt;file&gt;...&quot;</span> to unstage)
  modified:   .gitattributes
	new file:   config.json
	new file:   pytorch_model.bin
	new file:   sentencepiece.bpe.model
	new file:   special_tokens_map.json
	new file:   tokenizer.json
	new file:   tokenizer_config.json`,wrap:!1}}),{c(){y(a.$$.fragment)},l(n){g(a.$$.fragment,n)},m(n,f){_(a,n,f),s=!0},i(n){s||(M(a.$$.fragment,n),s=!0)},o(n){d(a.$$.fragment,n),s=!1},d(n){v(a,n)}}}function pu($){let a,s,n,f="Observăm că toate fișierele au <code>Git</code> ca handler, cu excepția <em>tf_model.h5</em>, care are <code>LFS</code>. Excelent!",U;return a=new w({props:{code:"T24lMjBicmFuY2glMjBtYWluJTBBT2JqZWN0cyUyMHRvJTIwYmUlMjBwdXNoZWQlMjB0byUyMG9yaWdpbiUyRm1haW4lM0ElMEElMEElMEFPYmplY3RzJTIwdG8lMjBiZSUyMGNvbW1pdHRlZCUzQSUwQSUwQSUwOWNvbmZpZy5qc29uJTIwKEdpdCUzQSUyMGJjMjBmZjIpJTBBJTA5c2VudGVuY2VwaWVjZS5icGUubW9kZWwlMjAoTEZTJTNBJTIwOTg4YmM1YSklMEElMDlzcGVjaWFsX3Rva2Vuc19tYXAuanNvbiUyMChHaXQlM0ElMjBjYjIzOTMxKSUwQSUwOXRmX21vZGVsLmg1JTIwKExGUyUzQSUyMDg2ZmNlMjkpJTBBJTA5dG9rZW5pemVyLmpzb24lMjAoR2l0JTNBJTIwODUxZmYzZSklMEElMDl0b2tlbml6ZXJfY29uZmlnLmpzb24lMjAoR2l0JTNBJTIwZjBmNzc4MyklMEElMEFPYmplY3RzJTIwbm90JTIwc3RhZ2VkJTIwZm9yJTIwY29tbWl0JTNBJTBBJTBB",highlighted:`On branch main
Objects to be pushed to origin/main:


Objects to be committed:

	config.json (Git: bc20ff2)
	sentencepiece.bpe.model (LFS: 988bc5a)
	special_tokens_map.json (Git: cb23931)
	tf_model.h5 (LFS: 86fce29)
	tokenizer.json (Git: 851ff3e)
	tokenizer_config.json (Git: f0f7783)

Objects not staged <span class="hljs-keyword">for</span> commit:

`,wrap:!1}}),{c(){y(a.$$.fragment),s=r(),n=o("p"),n.innerHTML=f},l(p){g(a.$$.fragment,p),s=u(p),n=c(p,"P",{"data-svelte-h":!0}),m(n)!=="svelte-nukmk9"&&(n.innerHTML=f)},m(p,h){_(a,p,h),i(p,s,h),i(p,n,h),U=!0},i(p){U||(M(a.$$.fragment,p),U=!0)},o(p){d(a.$$.fragment,p),U=!1},d(p){p&&(l(s),l(n)),v(a,p)}}}function fu($){let a,s,n,f="Vom observa că toate fișierele au <code>Git</code> ca handler, cu excepția <em>pytorch_model.bin</em> și <em>sentencepiece.bpe.model</em>, care au <code>LFS</code>. Excelent!",U;return a=new w({props:{code:"T24lMjBicmFuY2glMjBtYWluJTBBT2JqZWN0cyUyMHRvJTIwYmUlMjBwdXNoZWQlMjB0byUyMG9yaWdpbiUyRm1haW4lM0ElMEElMEElMEFPYmplY3RzJTIwdG8lMjBiZSUyMGNvbW1pdHRlZCUzQSUwQSUwQSUwOWNvbmZpZy5qc29uJTIwKEdpdCUzQSUyMGJjMjBmZjIpJTBBJTA5cHl0b3JjaF9tb2RlbC5iaW4lMjAoTEZTJTNBJTIwMzU2ODZjMiklMEElMDlzZW50ZW5jZXBpZWNlLmJwZS5tb2RlbCUyMChMRlMlM0ElMjA5ODhiYzVhKSUwQSUwOXNwZWNpYWxfdG9rZW5zX21hcC5qc29uJTIwKEdpdCUzQSUyMGNiMjM5MzEpJTBBJTA5dG9rZW5pemVyLmpzb24lMjAoR2l0JTNBJTIwODUxZmYzZSklMEElMDl0b2tlbml6ZXJfY29uZmlnLmpzb24lMjAoR2l0JTNBJTIwZjBmNzc4MyklMEElMEFPYmplY3RzJTIwbm90JTIwc3RhZ2VkJTIwZm9yJTIwY29tbWl0JTNBJTBBJTBB",highlighted:`On branch main
Objects to be pushed to origin/main:


Objects to be committed:

	config.json (Git: bc20ff2)
	pytorch_model.bin (LFS: 35686c2)
	sentencepiece.bpe.model (LFS: 988bc5a)
	special_tokens_map.json (Git: cb23931)
	tokenizer.json (Git: 851ff3e)
	tokenizer_config.json (Git: f0f7783)

Objects not staged <span class="hljs-keyword">for</span> commit:

`,wrap:!1}}),{c(){y(a.$$.fragment),s=r(),n=o("p"),n.innerHTML=f},l(p){g(a.$$.fragment,p),s=u(p),n=c(p,"P",{"data-svelte-h":!0}),m(n)!=="svelte-hcc5nh"&&(n.innerHTML=f)},m(p,h){_(a,p,h),i(p,s,h),i(p,n,h),U=!0},i(p){U||(M(a.$$.fragment,p),U=!0)},o(p){d(a.$$.fragment,p),U=!1},d(p){p&&(l(s),l(n)),v(a,p)}}}function du($){let a,s;return a=new w({props:{code:"JTVCbWFpbiUyMGIwOGFhYjElNUQlMjBQcmltYSUyMHZlcnNpdW5lJTIwYSUyMG1vZGVsdWx1aSUwQSUyMDYlMjBmaWxlcyUyMGNoYW5nZWQlMkMlMjAzNiUyMGluc2VydGlvbnMoJTJCKSUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjBjb25maWcuanNvbiUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjBzZW50ZW5jZXBpZWNlLmJwZS5tb2RlbCUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjBzcGVjaWFsX3Rva2Vuc19tYXAuanNvbiUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjB0Zl9tb2RlbC5oNSUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjB0b2tlbml6ZXIuanNvbiUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjB0b2tlbml6ZXJfY29uZmlnLmpzb24=",highlighted:`[main b08aab1] Prima versiune a modelului
 6 files changed, 36 insertions(+)
 create mode 100644 config.json
 create mode 100644 sentencepiece.bpe.model
 create mode 100644 special_tokens_map.json
 create mode 100644 tf_model.h5
 create mode 100644 tokenizer.json
 create mode 100644 tokenizer_config.json`,wrap:!1}}),{c(){y(a.$$.fragment)},l(n){g(a.$$.fragment,n)},m(n,f){_(a,n,f),s=!0},i(n){s||(M(a.$$.fragment,n),s=!0)},o(n){d(a.$$.fragment,n),s=!1},d(n){v(a,n)}}}function Mu($){let a,s;return a=new w({props:{code:"JTVCbWFpbiUyMGIwOGFhYjElNUQlMjBQcmltYSUyMHZlcnNpdW5lJTIwYSUyMG1vZGVsdWx1aSUwQSUyMDclMjBmaWxlcyUyMGNoYW5nZWQlMkMlMjAyOTAyNyUyMGluc2VydGlvbnMoJTJCKSUwQSUyMCUyMDYlMjBmaWxlcyUyMGNoYW5nZWQlMkMlMjAzNiUyMGluc2VydGlvbnMoJTJCKSUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjBjb25maWcuanNvbiUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjBweXRvcmNoX21vZGVsLmJpbiUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjBzZW50ZW5jZXBpZWNlLmJwZS5tb2RlbCUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjBzcGVjaWFsX3Rva2Vuc19tYXAuanNvbiUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjB0b2tlbml6ZXIuanNvbiUwQSUyMGNyZWF0ZSUyMG1vZGUlMjAxMDA2NDQlMjB0b2tlbml6ZXJfY29uZmlnLmpzb24=",highlighted:`[main b08aab1] Prima versiune a modelului
 7 files changed, 29027 insertions(+)
  6 files changed, 36 insertions(+)
 create mode 100644 config.json
 create mode 100644 pytorch_model.bin
 create mode 100644 sentencepiece.bpe.model
 create mode 100644 special_tokens_map.json
 create mode 100644 tokenizer.json
 create mode 100644 tokenizer_config.json`,wrap:!1}}),{c(){y(a.$$.fragment)},l(n){g(a.$$.fragment,n)},m(n,f){_(a,n,f),s=!0},i(n){s||(M(a.$$.fragment,n),s=!0)},o(n){d(a.$$.fragment,n),s=!1},d(n){v(a,n)}}}function bu($){let a,s="Dacă ne uităm la repositoriul modelului când acest lucru este finalizat, putem vedea toate fișierele recent adăugate:",n,f,U='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/full_model_tf.png" alt="Tabul &#39;Files and versions&#39; conține acum toate fișierele recente adăugate." width="80%"/>',p,h,C="Interfața permite explorarea fișierelor modelului și a commiturilor și vizualizarea diferenței introduse de fiecare commit:",j,T,J='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/diffstf.gif" alt="Diferența introdusă de ultimul commit." width="80%"/>';return{c(){a=o("p"),a.textContent=s,n=r(),f=o("div"),f.innerHTML=U,p=r(),h=o("p"),h.textContent=C,j=r(),T=o("div"),T.innerHTML=J,this.h()},l(b){a=c(b,"P",{"data-svelte-h":!0}),m(a)!=="svelte-18565yp"&&(a.textContent=s),n=u(b),f=c(b,"DIV",{class:!0,"data-svelte-h":!0}),m(f)!=="svelte-1mbe628"&&(f.innerHTML=U),p=u(b),h=c(b,"P",{"data-svelte-h":!0}),m(h)!=="svelte-ia9m3m"&&(h.textContent=C),j=u(b),T=c(b,"DIV",{class:!0,"data-svelte-h":!0}),m(T)!=="svelte-1whj60u"&&(T.innerHTML=J),this.h()},h(){x(f,"class","flex justify-center"),x(T,"class","flex justify-center")},m(b,Z){i(b,a,Z),i(b,n,Z),i(b,f,Z),i(b,p,Z),i(b,h,Z),i(b,j,Z),i(b,T,Z)},d(b){b&&(l(a),l(n),l(f),l(p),l(h),l(j),l(T))}}}function yu($){let a,s="Dacă ne uităm la repositoriul modelului când acest lucru este finalizat, putem vedea toate fișierele recent adăugate:",n,f,U='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/full_model.png" alt="Tabul &#39;Files and versions&#39; conține acum toate fișierele recente adăugate." width="80%"/>',p,h,C="Interfața permite explorarea fișierelor modelului și a commiturilor și vizualizarea diferenței introduse de fiecare commit:",j,T,J='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/diffs.gif" alt="Diferența introdusă de ultimul commit." width="80%"/>';return{c(){a=o("p"),a.textContent=s,n=r(),f=o("div"),f.innerHTML=U,p=r(),h=o("p"),h.textContent=C,j=r(),T=o("div"),T.innerHTML=J,this.h()},l(b){a=c(b,"P",{"data-svelte-h":!0}),m(a)!=="svelte-18565yp"&&(a.textContent=s),n=u(b),f=c(b,"DIV",{class:!0,"data-svelte-h":!0}),m(f)!=="svelte-l2dybd"&&(f.innerHTML=U),p=u(b),h=c(b,"P",{"data-svelte-h":!0}),m(h)!=="svelte-ia9m3m"&&(h.textContent=C),j=u(b),T=c(b,"DIV",{class:!0,"data-svelte-h":!0}),m(T)!=="svelte-1c6nu8"&&(T.innerHTML=J),this.h()},h(){x(f,"class","flex justify-center"),x(T,"class","flex justify-center")},m(b,Z){i(b,a,Z),i(b,n,Z),i(b,f,Z),i(b,p,Z),i(b,h,Z),i(b,j,Z),i(b,T,Z)},d(b){b&&(l(a),l(n),l(f),l(p),l(h),l(j),l(T))}}}function gu($){let a,s,n,f,U,p,h,C,j,T,J,b,Z="În următoarele etape, vom explora modalitățile cele mai ușoare de a partaja modelele preantrenate pe 🤗 Hub. Există tooluri și utilities disponibile care fac posibilă partajarea și actualizarea modelelor direct pe Hub, despre care vom vorbi mai jos.",q,G,oe,z,k="Recomandăm tuturor utilizatorilor care antrenează modele să contribuie prin partajarea lor cu comunitatea - partajarea modelelor, chiar și atunci când sunt antrenate pe dateseturi foarte specifice, va ajuta la economisind timpul altor utilizatori și resurselor și va oferi acces la artefacte antrenate folositoare. În schimb, puteți beneficia de munca altora!",W,ce,Sa="Există trei moduri de a crea noi repositorii cu modele:",Zl,me,Qa="<li>Utilizând API-ul <code>push_to_hub</code></li> <li>Utilizând biblioteca Python <code>huggingface_hub</code></li> <li>Utilizând interfața web</li>",Jl,pe,Ea="Odată ce aveți creat un repository, puteți încărca fișiere în el folosind git și git-lfs. Vom trece împreună prin crearea model repositories și încărcarea fișierelor în el în următoarele secțiuni.",Cl,fe,Gl,B,H,yl,de,Fa="Cea mai simplă modalitate de a încărca fișiere pe Hub este utilizând API-ul <code>push_to_hub</code>.",Wl,Me,Pa='Înainte de a continua, aveți nevoie să creați un token de autentificare astfel încât API-ul <code>huggingface_hub</code> să știe cine sunteți și care sunt namespaces la care aveți acces de scriere. Asigurați-vă că sunteți într-un environment unde aveți instalat <code>transformers</code> (vedeti <a href="/course/chapter0">Configurarea</a>). Dacă sunteți într-un notebook, puteți folosi următoarea funcție pentru a vă autentifica:',xl,be,zl,ye,Da="În terminal, puteți rula următoarea comandă:",Bl,ge,Hl,_e,qa='În ambele cazuri, veți fi rugați să introduceți numele utilizatorului și parola, care sunt aceleași cu cele folosite la autentificare pe Hub. Dacă nu aveți încă un profil pe Hub, vă rugăm să creați unul <a href="https://huggingface.co/join" rel="nofollow">aici</a>.',Al,ve,Oa="Excelent! Acum aveți tokenul de autentificare stocat în folder-ul cache. Vom crea acum niște repositorii!",Nl,A,N,gl,$e,Ka="La un nivel inferior, accesarea Hub-ului se poate face direct pe modele, tokenizers și configurations objects prin metoda <code>push_to_hub()</code>. Această metodă se ocupă atât de crearea repositoriului cât si de încărcarea modelului și tokenizerului direct în el. Nu este nevoie de o interacțiune manuală, precum fața de API-ul pe care îl vom vedea mai jos.",Vl,he,en="Pentru a înțelege cum funcționează, luați în considerare inițializarea unui model și a unui tokenizer:",Ll,V,L,_l,Ue,tn="Sunteți liberi să faceți orice ați vrea cu acestea - adăugați tokens la tokenizer, antrenați modelul sau faceți fine-tune. Odată ce sunteți mulțumiți de modelul obținut, weighturile și tokenizerul acestuia , puteți folosi metoda <code>push_to_hub()</code> disponibilă direct pe obiectul <code>model</code>:",Il,we,Rl,je,ln=`Acest lucru va crea un nou repository <code>dummy-model</code> în profilul tău și o va popula cu fișierele modelului tău.
Încercați același lucru cu tokenizerul, astfel încât toate fișierele să fie acum disponibile în acest repository:`,Yl,Te,Xl,ke,an="Dacă aparțineți unei organizații, specificați doar argumentul <code>organization</code> pentru a încărca în namespace-ul acestei organizații:",Sl,Ze,Ql,Je,nn="Dacă doriți să utilizați un anumit token Hugging Face, sunteți liberi să specificați acest lucru metodei <code>push_to_hub()</code>:",El,Ce,Fl,Ge,rn='Acum, mergeți la Model Hub pentru a găsi modelul încărcat: <em><a href="https://huggingface.co/user-or-organization/dummy-model" rel="nofollow">https://huggingface.co/user-or-organization/dummy-model</a></em>.',Pl,We,un="Apăsați pe tabul “Files and versions”, iar acum ar trebui să vedeți fișierele vizibile în următorul screenshot:",Dl,vl,le,ql,xe,sn='Ați văzut că metoda <code>push_to_hub()</code> acceptă mai multe argumente, ceea ce permite încărcarea într-un repository specific sau namespace al unei organizații, sau utilizarea unui token API diferit. Vă recomandăm să vă uitați la specificația metodei disponibilă direct în <a href="https://huggingface.co/transformers/model_sharing" rel="nofollow">documentația 🤗 Transformers</a> pentru a înțelge ceea ce este posibil.',Ol,ze,on='Metoda <code>push_to_hub()</code> este backed de packageul Python <a href="https://github.com/huggingface/huggingface_hub" rel="nofollow"><code>huggingface_hub</code></a>, care oferă un API direct la Hub-ul Hugging Face. Acesta este integrat în 🤗 Transformers și în mai multe biblioteci pentru machine learning, ca de exemplu <a href="https://github.com/allenai/allennlp" rel="nofollow"><code>allenlp</code></a>. Deși ne concentrăm pe integrarea în 🤗 Transformers în acest capitol, integrarea sa în propriul dumneavoastră cod sau bibliotecă este simplu.',Kl,Be,cn="Săriți la ultima secțiune pentru a vedea cum să încărcați fișierele în noul repository-ul creat!",ei,He,ti,Ae,mn=`Biblioteca Python <code>huggingface_hub</code> este un package care oferă un set de instrumente pentru model și datasets hubs. Oferă metode simple și clase pentru sarcini comune ca
obținerea informațiilor despre repositorii pe hub și gestionarea lor. Oferă API-uri simple care lucrează pe lângă git pentru a gestiona conținutul acestor repositorii și integrarea Hub-ului
în proiectele și bibliotecile tale.`,li,Ne,pn="Similar cu utilizarea API-ului <code>push_to_hub</code>, asta va necesita un token de autentificare salvat în cache. Pentru a face acest lucru, veți avea nevoie să folosiți comanda <code>login</code> din CLI, cum am menționat în secțiunea anterioară (din nou, asigurați-vă prefixați această comandă cu simbolul <code>!</code> dacă rulați în Google Colab):",ii,Ve,ai,Le,fn="Packageul <code>huggingface_hub</code> oferă mai multe metode și clase utile pentru noi. În primul rând, există câteva metode pentru crearea, ștergerea și gestionarea repositoriilor:",ni,Ie,ri,Re,dn="De asemenea, el oferă clasa foarte puternică <code>Repository</code> pentru gestionarea unei repository local. Vom explora aceste metode și clasa în următoarele secțiuni pentru a înțelege cum să le utilizați.",ui,Ye,Mn="Metoda <code>create_repo</code> poate fi utilizată pentru crearea unui nou repository în hub:",si,Xe,oi,Se,bn="Acesta va crea repositarul <code>dummy-model</code> în namespace-ul tău. Dacă doriți, puteți specifica care organizație să aparțină repositoriului folosind argumentul <code>organization</code>:",ci,Qe,mi,Ee,yn=`Acesta va crea repositoriul <code>dummy-model</code> în spațiul organizației <code>huggingface</code>, cu condiția că dumneavoastră să apartineți acestei organizații.
Alte argumente care pot fi utile sunt:`,pi,Fe,gn="<li><code>private</code>, pentru a specifica dacă repositarul trebuie să fie vizibil celorlați sau nu.</li> <li><code>token</code>, dacă doriți să vă înlocuiți token-ul stocat în cache cu un anumit token.</li> <li><code>repo_type</code>, dacă doriți să creați un <code>dataset</code> sau <code>space</code> în loc de model. Valorile acceptate sunt <code>&quot;dataset&quot;</code> și <code>&quot;space&quot;</code>.</li>",fi,Pe,_n="Odată ce repositoriul este creat, trebuie să adăugați fișierele în el! Săriți la secțiunea următoare pentru a vedea cele trei moduri în care se poate face acest lucru.",di,De,Mi,qe,vn="Interfața web oferă instrumente pentru a gestiona repositorii direct în Hub. Cu ajutorul acestei interfețe, puteți crea ușor repositorii, adăuga fișiere (și chiar și fișiere mari!), explora modele, vizualiza diffuri, și multe altele.",bi,Oe,$n='Pentru a crea un nou repositoriu, vizitați <a href="https://huggingface.co/new" rel="nofollow">huggingface.co/new</a>:',yi,ie,hn='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/new_model.png" alt="Pagină care prezintă modelul utilizat pentru crearea unui nou repository." width="80%"/>',gi,Ke,Un="În primul rând, specificați deținătorul repositoriului: acesta puteți fi fie dumneavoastră, fie orice organizație cu care sunteți afiliat. Dacă alegeți o organizație, modelul va fi prezent pe pagina organizației și toți membrii acesteia vor avea posibilitatea să contribuie la repositoriu.",_i,et,wn="În al doilea rând, introduceți numele modelului dumneavoastră. Acest lucru va fi și denumirea repositoriului. În final, puteți specifica dacă doriți ca modelul dumneavoastră să fie public sau privat. Modelele private nu sunt vizibile ceilorlalți.",vi,tt,jn="După crearea repositoriului, ar trebui să vedeți o pagină ca aceasta:",$i,ae,Tn='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/empty_model.png" alt="O pagină goală a modelului după crearea unui nou repository." width="80%"/>',hi,lt,kn="Acesta este locul unde va fi găzduit modelul. Pentru a începe să populați acesta, puteți adăuga un fișier README direct din interfața web.",Ui,ne,Zn='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/dummy_model.png" alt="Fișierul README care arată capacitățile Markdown." width="80%"/>',wi,it,Jn="Fișierul README este scris în format Markdown - vă rugăm să fiți creativi cu el! A treia parte a acestui capitol se ocupă de crearea unui model card. Acestea sunt foarte importante pentru a aduce valoare modelului dumneavoastră, deoarece este acolo unde spuneți celorlalți ce poate face.",ji,at,Cn="Dacă vă uitați la secțiunea “Fișiere și versiuni”, veți vedea că nu sunt prea multe fișiere acolo încă - doar <em>README.md</em> pe care l-ați creat dumneavoastră și <em>.gitattributes</em> care urmărește fișierele mari.",Ti,re,Gn='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/files.png" alt="Secțiunea &#39;Fișiere și versiuni&#39; arată doar fișierul .gitattributes și README.md." width="80%"/>',ki,nt,Wn="Vom vedea mai târziu cum să adăugați câteva fișiere noi.",Zi,rt,Ji,ut,xn='Sistemul pentru a gestiona fișierele în Hugging Face Hub se bazează pe git pentru fișierele obișnuite, și pe git-lfs (care se descrifrează ca <a href="https://git-lfs.github.com/" rel="nofollow">Git Large File Storage</a>) pentru fișierele mai mari.',Ci,st,zn="În secțiunea următoare, vom discuta despre trei metode diferite de încărcare a fișierelor în Hub: prin <code>huggingface_hub</code> și prin comanda git.",Gi,ot,Wi,ct,Bn=`Prin <code>upload_file</code> nu este necesar să instalați git și git-lfs pe sistemul dumneavoastră. Acest lucru încarcă direct fișierele în 🤗 Hub folosind HTTP POST requests. O limitare a acestei metode este că ea nu se ocupă de fișiere care sunt mai mari de 5GB.
Dacă fișierele dumneavoastră sunt mai mari decât 5 GB, vă rugăm să urmați celelalte două metode descrise mai jos.`,xi,mt,Hn="API-ul poate fi folosit astfel:",zi,pt,Bi,ft,An=`Acest lucru va încărca fișierul <code>config.json</code> disponibil la <code>&lt;path_to_file&gt;</code> la rootul repositoriului ca <code>config.json</code>, în <code>dummy-model</code> repository.
Alte argumente utile pot fi:`,Hi,dt,Nn="<li><code>token</code>, dacă doriți să înlocuiți tokenul stocat în cache cu un alt token.</li> <li><code>repo_type</code>, dacă doriți să încărcați într-un <code>dataset</code> sau într-un <code>space</code> în locul modelului. Valorile acceptate sunt <code>&quot;dataset&quot;</code> și <code>&quot;space&quot;</code>.</li>",Ai,Mt,Ni,bt,Vn="Clasa <code>Repository</code> gestionează un repository local în-tro manieră asemănătoare gitului. Ea abstracționează majoritatea problemelor pe care le întâlniți cu git pentru a oferi toate caracteristicile necesare.",Vi,yt,Ln='Utilizarea acestei clase necesită ca dumneavoastră să aveți instalat git și git-lfs, așadar asigurați-vă că aveți instalat git-lfs (vezi <a href="https://git-lfs.github.com/" rel="nofollow">aici</a> pentru instrucțiunile de instalare) și setat înainte de a începe.',Li,gt,In="Pentru a vă juca cu repositoriul pe care l-am creat, puteți porni prin inițializarea lui ca un folder local printr-un clonarea repositoriului remote:",Ii,_t,Ri,vt,Rn="Acesta a creat folderele <code>&lt;path_to_dummy_folder&gt;</code> în folderul de lucru. Acest folder conține doar fișierul <code>.gitattributes</code> pentru că acesta este singurul fișier creat atunci când inițializați repositoriul prin <code>create_repo</code>.",Yi,$t,Yn="Acum puteți folosi majoritatea metodelor tradiționale ale gitului:",Xi,ht,Si,Ut,Xn='Și altele! Vă recomandăm să vă uitați la documentația <code>Repository</code> disponibilă <a href="https://github.com/huggingface/huggingface_hub/tree/main/src/huggingface_hub#advanced-programmatic-repository-management" rel="nofollow">aici</a> pentru o înțelegere generală a tuturor metodelor disponibile.',Qi,wt,Sn="Pentru moment, avem un model și un tokenizer pe care doriți să îl trimiteți în hub. Am reușit să clonăm repositoriul local, deci putem salva fișierele în acesta.",Ei,jt,Qn="În primul rând asigurați-vă că copia locală este la zi cu ultimele schimbări:",Fi,Tt,Pi,kt,En="Odată ce am facut asta, salvați fișierele modelului și al tokenizerul:",Di,Zt,qi,Jt,Fn="Folder-ul <code>&lt;path_to_dummy_folder&gt;</code> acum conține toate fișierele modelului dumneavoastră și ale tokenizerul. Vom urma fluxul tradițional de git adăugând fișiere în zona de pregătire, făcând commit și push fișierelor în hub:",Oi,Ct,Ki,Gt,Pn="Felicitări! Ați reușit să încărcați primele fișiere în hub.",ea,Wt,ta,xt,Dn="Acesta este abordarea cea mai de bază pentru încărcarea fișierelor: vom face asta cu ajutorul git și git-lfs direct. Cea mai grea parte este abstractizată prin abordări anterioare, dar există câteva excepții cu metoda următoare, așadar ne vom referi la un use-case mai complicat.",la,zt,qn='Pentru această clasă se cere să aveți instalate git și git-lfs, așadar asigurați-vă că aveți <a href="https://git-lfs.github.com/" rel="nofollow">git-lfs</a> instalat (vedeți aici instrucțiunile de instalare) și configurat înainte să începeți.',ia,Bt,On="În primul rând, inițializați git-lfs:",aa,Ht,na,At,ra,Nt,Kn="După ce ați făcut acest lucru, primul pas este să faceți o copie a repositoriului dumneavoastră:",ua,Vt,sa,Lt,er="Numele meu de utilizator este <code>lysandre</code> și am folosit numele modelului <code>dummy</code>, așadar comanda mea se termină cu următorul rezultat:",oa,It,ca,Rt,tr="Acum am un folder denumit <em>dummy</em> în folderul meu de lucru. Pot intra în folder cu ajutorul <code>cd</code> și pot examina conținutul:",ma,Yt,pa,Xt,fa,St,lr="Dacă ați creat repositoriul dumneavoastră folosind metodă din partea Hugging Face Hub, <code>create_repo</code> , acest folder ar trebui să conțină doar un fișier cu numele <em>.gitattributes</em>. Dacă ați urmat instrucțiunile din secțiunea anterioară pentru crearea repositoriului folosind interfața web, atunci folderul ar trebui să conțină un singur fișier <em>README.md</em> și, de asemenea, un fișier cu numele <em>.gitattributes</em>, pe care nu-l puteți vedea.",da,Qt,ir="Adăugarea unui fișier de mărime obișnuită, precum un fișier de configurare, un vocabulary file sau orice alt tip de fișier care au mai puțin de câțiva megabytes se realizează exact așa cum ați face în orice sistem git. Cu toate acestea, pentru a încărca fișiere mai mari, este necesară utilizarea a git-lfs pentru a le trimite spre <em>huggingface.co</em>.",Ma,Et,ar="Să ne întoarcem la Python pentru a genera un model și tokenizer pe care am dori să le facem commit în repositoriul nostru dummy:",ba,I,R,$l,Ft,nr="Acum am salvat câteva artefacte de model și tokenizer, așadar să examinăm din nou folderul <em>dummy</em>:",ya,Pt,ga,Y,X,hl,ue,_a,Dt,rr="Acum putem continua procesul în felul nostru obișnuit cu repositoriurile Git tradiționale. Putem adăuga toate fișierele în mediul de stocare a Git folosind comanda <code>git add</code>:",va,qt,$a,Ot,ur="Puteți verifica fișierele curente care sunt în stare de stocare utilizând următoarea comandă:",ha,Kt,Ua,S,Q,Ul,el,sr="De asemenea, putem verifica dacă git-lfs monitorizează fisierele corecte folosind comanda sa <code>status</code>:",wa,tl,ja,E,F,wl,ll,or="Acum vom continua cu ultimii pași: commiting și pushing la repo-urile <em>huggingface.co</em>:",Ta,il,ka,P,D,jl,al,cr="Pushingul poate lua câteva minute, în funcție de viteza conexiunii tale la internet și mărimea fișierelor:",Za,nl,Ja,rl,Ca,Tl,ul,Ga,kl,Wa;U=new Qr({props:{fw:$[0]}}),h=new se({props:{title:"Partajarea modelelor preantrenate",local:"sharing-pretrained-models",headingTag:"h1"}});const mr=[Pr,Fr],sl=[];function pr(e,t){return e[0]==="pt"?0:1}j=pr($),T=sl[j]=mr[j]($),G=new Xa({props:{id:"9yY3RB_GSPM"}}),fe=new se({props:{title:"Utilizând API-ul push_to_hub",local:"using-the-pushtohub-api",headingTag:"h2"}});const fr=[qr,Dr],ol=[];function dr(e,t){return e[0]==="pt"?0:1}B=dr($),H=ol[B]=fr[B]($),be=new w({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMG5vdGVib29rX2xvZ2luJTBBJTBBbm90ZWJvb2tfbG9naW4oKQ==",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> notebook_login

notebook_login()`,wrap:!1}}),ge=new w({props:{code:"aHVnZ2luZ2ZhY2UtY2xpJTIwbG9naW4=",highlighted:"huggingface-cli login",wrap:!1}});const Mr=[Kr,Or],cl=[];function br(e,t){return e[0]==="pt"?0:1}A=br($),N=cl[A]=Mr[A]($);const yr=[tu,eu],ml=[];function gr(e,t){return e[0]==="pt"?0:1}V=gr($),L=ml[V]=yr[V]($),we=new w({props:{code:"bW9kZWwucHVzaF90b19odWIoJTIyZHVtbXktbW9kZWwlMjIp",highlighted:'model.push_to_hub(<span class="hljs-string">&quot;dummy-model&quot;</span>)',wrap:!1}}),Te=new w({props:{code:"dG9rZW5pemVyLnB1c2hfdG9faHViKCUyMmR1bW15LW1vZGVsJTIyKQ==",highlighted:'tokenizer.push_to_hub(<span class="hljs-string">&quot;dummy-model&quot;</span>)',wrap:!1}}),Ze=new w({props:{code:"dG9rZW5pemVyLnB1c2hfdG9faHViKCUyMmR1bW15LW1vZGVsJTIyJTJDJTIwb3JnYW5pemF0aW9uJTNEJTIyaHVnZ2luZ2ZhY2UlMjIp",highlighted:'tokenizer.push_to_hub(<span class="hljs-string">&quot;dummy-model&quot;</span>, organization=<span class="hljs-string">&quot;huggingface&quot;</span>)',wrap:!1}}),Ce=new w({props:{code:"dG9rZW5pemVyLnB1c2hfdG9faHViKCUyMmR1bW15LW1vZGVsJTIyJTJDJTIwb3JnYW5pemF0aW9uJTNEJTIyaHVnZ2luZ2ZhY2UlMjIlMkMlMjB1c2VfYXV0aF90b2tlbiUzRCUyMiUzQ1RPS0VOJTNFJTIyKQ==",highlighted:'tokenizer.push_to_hub(<span class="hljs-string">&quot;dummy-model&quot;</span>, organization=<span class="hljs-string">&quot;huggingface&quot;</span>, use_auth_token=<span class="hljs-string">&quot;&lt;TOKEN&gt;&quot;</span>)',wrap:!1}});function _r(e,t){return e[0]==="pt"?iu:lu}let xa=_r($),O=xa($);le=new Br({props:{$$slots:{default:[au]},$$scope:{ctx:$}}}),He=new se({props:{title:"Utilizarea bibliotecii Python huggingface_hub",local:"using-the-huggingfacehub-python-library",headingTag:"h2"}}),Ve=new w({props:{code:"aHVnZ2luZ2ZhY2UtY2xpJTIwbG9naW4=",highlighted:"huggingface-cli login",wrap:!1}}),Ie=new w({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMCglMEElMjAlMjAlMjAlMjAlMjMlMjBHZXN0aW9uYXJlYSUyMHV0aWxpemF0b3JpbG9yJTBBJTIwJTIwJTIwJTIwbG9naW4lMkMlMEElMjAlMjAlMjAlMjBsb2dvdXQlMkMlMEElMjAlMjAlMjAlMjB3aG9hbWklMkMlMEElMEElMjAlMjAlMjAlMjAlMjMlMjBDcmVhcmVhJTIwJUM4JTk5aSUyMGdlc3Rpb25hcmVhJTIwcmVwb3NpdG9yaWlsb3IlMEElMjAlMjAlMjAlMjBjcmVhdGVfcmVwbyUyQyUwQSUyMCUyMCUyMCUyMGRlbGV0ZV9yZXBvJTJDJTBBJTIwJTIwJTIwJTIwdXBkYXRlX3JlcG9fdmlzaWJpbGl0eSUyQyUwQSUwQSUyMCUyMCUyMCUyMCUyMyUyMCVDOCU5OGklMjBjJUMzJUEydGV2YSUyMG1ldG9kZSUyMHBlbnRydSUyMGElMjBvYiVDOCU5QmluZSUyRnNjaGltYmElMjBpbmZvcm1hJUM4JTlCaWlsZSUyMGRlc3ByZSUyMGNvbiVDOCU5QmludXQlMEElMjAlMjAlMjAlMjBsaXN0X21vZGVscyUyQyUwQSUyMCUyMCUyMCUyMGxpc3RfZGF0YXNldHMlMkMlMEElMjAlMjAlMjAlMjBsaXN0X21ldHJpY3MlMkMlMEElMjAlMjAlMjAlMjBsaXN0X3JlcG9fZmlsZXMlMkMlMEElMjAlMjAlMjAlMjB1cGxvYWRfZmlsZSUyQyUwQSUyMCUyMCUyMCUyMGRlbGV0ZV9maWxlJTJDJTBBKQ==",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> (
    <span class="hljs-comment"># Gestionarea utilizatorilor</span>
    login,
    logout,
    whoami,

    <span class="hljs-comment"># Crearea și gestionarea repositoriilor</span>
    create_repo,
    delete_repo,
    update_repo_visibility,

    <span class="hljs-comment"># Și câteva metode pentru a obține/schimba informațiile despre conținut</span>
    list_models,
    list_datasets,
    list_metrics,
    list_repo_files,
    upload_file,
    delete_file,
)`,wrap:!1}}),Xe=new w({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMGNyZWF0ZV9yZXBvJTBBJTBBY3JlYXRlX3JlcG8oJTIyZHVtbXktbW9kZWwlMjIp",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> create_repo

create_repo(<span class="hljs-string">&quot;dummy-model&quot;</span>)`,wrap:!1}}),Qe=new w({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMGNyZWF0ZV9yZXBvJTBBJTBBY3JlYXRlX3JlcG8oJTIyZHVtbXktbW9kZWwlMjIlMkMlMjBvcmdhbml6YXRpb24lM0QlMjJodWdnaW5nZmFjZSUyMik=",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> create_repo

create_repo(<span class="hljs-string">&quot;dummy-model&quot;</span>, organization=<span class="hljs-string">&quot;huggingface&quot;</span>)`,wrap:!1}}),De=new se({props:{title:"Utilizarea interfeței web",local:"using-the-web-interface",headingTag:"h2"}}),rt=new se({props:{title:"Încărcarea fișierelor modelului",local:"uploading-the-model-files",headingTag:"h2"}}),ot=new se({props:{title:"Metoda upload_file",local:"the-uploadfile-approach",headingTag:"h3"}}),pt=new w({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMHVwbG9hZF9maWxlJTBBJTBBdXBsb2FkX2ZpbGUoJTBBJTIwJTIwJTIwJTIwJTIyJTNDcGF0aF90b19maWxlJTNFJTJGY29uZmlnLmpzb24lMjIlMkMlMEElMjAlMjAlMjAlMjBwYXRoX2luX3JlcG8lM0QlMjJjb25maWcuanNvbiUyMiUyQyUwQSUyMCUyMCUyMCUyMHJlcG9faWQlM0QlMjIlM0NuYW1lc3BhY2UlM0UlMkZkdW1teS1tb2RlbCUyMiUyQyUwQSk=",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> upload_file

upload_file(
    <span class="hljs-string">&quot;&lt;path_to_file&gt;/config.json&quot;</span>,
    path_in_repo=<span class="hljs-string">&quot;config.json&quot;</span>,
    repo_id=<span class="hljs-string">&quot;&lt;namespace&gt;/dummy-model&quot;</span>,
)`,wrap:!1}}),Mt=new se({props:{title:"Clasa Repository",local:"the-repository-class",headingTag:"h3"}}),_t=new w({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMFJlcG9zaXRvcnklMEElMEFyZXBvJTIwJTNEJTIwUmVwb3NpdG9yeSglMjIlM0NwYXRoX3RvX2R1bW15X2ZvbGRlciUzRSUyMiUyQyUyMGNsb25lX2Zyb20lM0QlMjIlM0NuYW1lc3BhY2UlM0UlMkZkdW1teS1tb2RlbCUyMik=",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> Repository

repo = Repository(<span class="hljs-string">&quot;&lt;path_to_dummy_folder&gt;&quot;</span>, clone_from=<span class="hljs-string">&quot;&lt;namespace&gt;/dummy-model&quot;</span>)`,wrap:!1}}),ht=new w({props:{code:"cmVwby5naXRfcHVsbCgpJTBBcmVwby5naXRfYWRkKCklMEFyZXBvLmdpdF9jb21taXQoKSUwQXJlcG8uZ2l0X3B1c2goKSUwQXJlcG8uZ2l0X3RhZygp",highlighted:`repo.git_pull()
repo.git_add()
repo.git_commit()
repo.git_push()
repo.git_tag()`,wrap:!1}}),Tt=new w({props:{code:"cmVwby5naXRfcHVsbCgp",highlighted:"repo.git_pull()",wrap:!1}}),Zt=new w({props:{code:"bW9kZWwuc2F2ZV9wcmV0cmFpbmVkKCUyMiUzQ3BhdGhfdG9fZHVtbXlfZm9sZGVyJTNFJTIyKSUwQXRva2VuaXplci5zYXZlX3ByZXRyYWluZWQoJTIyJTNDcGF0aF90b19kdW1teV9mb2xkZXIlM0UlMjIp",highlighted:`model.save_pretrained(<span class="hljs-string">&quot;&lt;path_to_dummy_folder&gt;&quot;</span>)
tokenizer.save_pretrained(<span class="hljs-string">&quot;&lt;path_to_dummy_folder&gt;&quot;</span>)`,wrap:!1}}),Ct=new w({props:{code:"cmVwby5naXRfYWRkKCklMEFyZXBvLmdpdF9jb21taXQoJTIyQWQlQzQlODN1Z2FyZWElMjBmaSVDOCU5OWllcmVsb3IlMjBtb2RlbHVsdWklMjAlQzglOTlpJTIwYWxlJTIwdG9rZW5pemVydWx1aSUyMiklMEFyZXBvLmdpdF9wdXNoKCk=",highlighted:`repo.git_add()
repo.git_commit(<span class="hljs-string">&quot;Adăugarea fișierelor modelului și ale tokenizerului&quot;</span>)
repo.git_push()`,wrap:!1}}),Wt=new se({props:{title:"Folosirea Git",local:"the-git-based-approach",headingTag:"h3"}}),Ht=new w({props:{code:"Z2l0JTIwbGZzJTIwaW5zdGFsbA==",highlighted:"git lfs install",wrap:!1}}),At=new w({props:{code:"VXBkYXRlZCUyMGdpdCUyMGhvb2tzLiUwQUdpdCUyMExGUyUyMGluaXRpYWxpemVkLg==",highlighted:`Updated git hooks.
Git LFS initialized.`,wrap:!1}}),Vt=new w({props:{code:"Z2l0JTIwY2xvbmUlMjBodHRwcyUzQSUyRiUyRmh1Z2dpbmdmYWNlLmNvJTJGJTNDbmFtZXNwYWNlJTNFJTJGJTNDeW91ci1tb2RlbC1pZCUzRQ==",highlighted:'git <span class="hljs-built_in">clone</span> https://huggingface.co/&lt;namespace&gt;/&lt;your-model-id&gt;',wrap:!1}}),It=new w({props:{code:"Z2l0JTIwY2xvbmUlMjBodHRwcyUzQSUyRiUyRmh1Z2dpbmdmYWNlLmNvJTJGbHlzYW5kcmUlMkZkdW1teQ==",highlighted:'git clone https:<span class="hljs-regexp">//</span>huggingface.co<span class="hljs-regexp">/lysandre/</span>dummy',wrap:!1}}),Yt=new w({props:{code:"Y2QlMjBkdW1teSUyMCUyNiUyNiUyMGxz",highlighted:'<span class="hljs-built_in">cd</span> dummy &amp;&amp; <span class="hljs-built_in">ls</span>',wrap:!1}}),Xt=new w({props:{code:"UkVBRE1FLm1k",highlighted:"README.md",wrap:!1}});const vr=[ru,nu],pl=[];function $r(e,t){return e[0]==="pt"?0:1}I=$r($),R=pl[I]=vr[I]($),Pt=new w({props:{code:"bHM=",highlighted:'<span class="hljs-built_in">ls</span>',wrap:!1}});const hr=[su,uu],fl=[];function Ur(e,t){return e[0]==="pt"?0:1}Y=Ur($),X=fl[Y]=hr[Y]($),ue=new Br({props:{$$slots:{default:[ou]},$$scope:{ctx:$}}}),qt=new w({props:{code:"Z2l0JTIwYWRkJTIwLg==",highlighted:"git add .",wrap:!1}}),Kt=new w({props:{code:"Z2l0JTIwc3RhdHVz",highlighted:"git status",wrap:!1}});const wr=[mu,cu],dl=[];function jr(e,t){return e[0]==="pt"?0:1}S=jr($),Q=dl[S]=wr[S]($),tl=new w({props:{code:"Z2l0JTIwbGZzJTIwc3RhdHVz",highlighted:"git lfs status",wrap:!1}});const Tr=[fu,pu],Ml=[];function kr(e,t){return e[0]==="pt"?0:1}E=kr($),F=Ml[E]=Tr[E]($),il=new w({props:{code:"Z2l0JTIwY29tbWl0JTIwLW0lMjAlMjJQcmltYSUyMHZlcnNpdW5lJTIwYSUyMG1vZGVsdWx1aSUyMg==",highlighted:'<span class="hljs-attribute">git</span> commit -m <span class="hljs-string">&quot;Prima versiune a modelului&quot;</span>',wrap:!1}});const Zr=[Mu,du],bl=[];function Jr(e,t){return e[0]==="pt"?0:1}P=Jr($),D=bl[P]=Zr[P]($),nl=new w({props:{code:"Z2l0JTIwcHVzaA==",highlighted:"git push",wrap:!1}}),rl=new w({props:{code:"VXBsb2FkaW5nJTIwTEZTJTIwb2JqZWN0cyUzQSUyMDEwMCUyNSUyMCgxJTJGMSklMkMlMjA0MzMlMjBNQiUyMCU3QyUyMDEuMyUyME1CJTJGcyUyQyUyMGRvbmUuJTBBRW51bWVyYXRpbmclMjBvYmplY3RzJTNBJTIwMTElMkMlMjBkb25lLiUwQUNvdW50aW5nJTIwb2JqZWN0cyUzQSUyMDEwMCUyNSUyMCgxMSUyRjExKSUyQyUyMGRvbmUuJTBBRGVsdGElMjBjb21wcmVzc2lvbiUyMHVzaW5nJTIwdXAlMjB0byUyMDEyJTIwdGhyZWFkcyUwQUNvbXByZXNzaW5nJTIwb2JqZWN0cyUzQSUyMDEwMCUyNSUyMCg5JTJGOSklMkMlMjBkb25lLiUwQVdyaXRpbmclMjBvYmplY3RzJTNBJTIwMTAwJTI1JTIwKDklMkY5KSUyQyUyMDI4OC4yNyUyMEtpQiUyMCU3QyUyMDYuMjclMjBNaUIlMkZzJTJDJTIwZG9uZS4lMEFUb3RhbCUyMDklMjAoZGVsdGElMjAxKSUyQyUyMHJldXNlZCUyMDAlMjAoZGVsdGElMjAwKSUyQyUyMHBhY2stcmV1c2VkJTIwMCUwQVRvJTIwaHR0cHMlM0ElMkYlMkZodWdnaW5nZmFjZS5jbyUyRmx5c2FuZHJlJTJGZHVtbXklMEElMjAlMjAlMjA4OTFiNDFkLi5iMDhhYWIxJTIwJTIwbWFpbiUyMC0lM0UlMjBtYWlu",highlighted:`Uploading LFS objects: 100% (1/1), 433 MB | 1.3 MB/s, <span class="hljs-keyword">done</span>.
Enumerating objects: 11, <span class="hljs-keyword">done</span>.
Counting objects: 100% (11/11), <span class="hljs-keyword">done</span>.
Delta compression using up to 12 threads
Compressing objects: 100% (9/9), <span class="hljs-keyword">done</span>.
Writing objects: 100% (9/9), 288.27 KiB | 6.27 MiB/s, <span class="hljs-keyword">done</span>.
Total 9 (delta 1), reused 0 (delta 0), pack-reused 0
To https://huggingface.co/lysandre/dummy
   891b41d..b08aab1  main -&gt; main`,wrap:!1}});function Cr(e,t){return e[0]==="pt"?yu:bu}let za=Cr($),K=za($);return ul=new Er({props:{source:"https://github.com/huggingface/course/blob/main/chapters/rum/chapter4/3.mdx"}}),{c(){a=o("meta"),s=r(),n=o("p"),f=r(),y(U.$$.fragment),p=r(),y(h.$$.fragment),C=r(),T.c(),J=r(),b=o("p"),b.textContent=Z,q=r(),y(G.$$.fragment),oe=r(),z=o("p"),z.textContent=k,W=r(),ce=o("p"),ce.textContent=Sa,Zl=r(),me=o("ul"),me.innerHTML=Qa,Jl=r(),pe=o("p"),pe.textContent=Ea,Cl=r(),y(fe.$$.fragment),Gl=r(),H.c(),yl=r(),de=o("p"),de.innerHTML=Fa,Wl=r(),Me=o("p"),Me.innerHTML=Pa,xl=r(),y(be.$$.fragment),zl=r(),ye=o("p"),ye.textContent=Da,Bl=r(),y(ge.$$.fragment),Hl=r(),_e=o("p"),_e.innerHTML=qa,Al=r(),ve=o("p"),ve.textContent=Oa,Nl=r(),N.c(),gl=r(),$e=o("p"),$e.innerHTML=Ka,Vl=r(),he=o("p"),he.textContent=en,Ll=r(),L.c(),_l=r(),Ue=o("p"),Ue.innerHTML=tn,Il=r(),y(we.$$.fragment),Rl=r(),je=o("p"),je.innerHTML=ln,Yl=r(),y(Te.$$.fragment),Xl=r(),ke=o("p"),ke.innerHTML=an,Sl=r(),y(Ze.$$.fragment),Ql=r(),Je=o("p"),Je.innerHTML=nn,El=r(),y(Ce.$$.fragment),Fl=r(),Ge=o("p"),Ge.innerHTML=rn,Pl=r(),We=o("p"),We.textContent=un,Dl=r(),O.c(),vl=r(),y(le.$$.fragment),ql=r(),xe=o("p"),xe.innerHTML=sn,Ol=r(),ze=o("p"),ze.innerHTML=on,Kl=r(),Be=o("p"),Be.textContent=cn,ei=r(),y(He.$$.fragment),ti=r(),Ae=o("p"),Ae.innerHTML=mn,li=r(),Ne=o("p"),Ne.innerHTML=pn,ii=r(),y(Ve.$$.fragment),ai=r(),Le=o("p"),Le.innerHTML=fn,ni=r(),y(Ie.$$.fragment),ri=r(),Re=o("p"),Re.innerHTML=dn,ui=r(),Ye=o("p"),Ye.innerHTML=Mn,si=r(),y(Xe.$$.fragment),oi=r(),Se=o("p"),Se.innerHTML=bn,ci=r(),y(Qe.$$.fragment),mi=r(),Ee=o("p"),Ee.innerHTML=yn,pi=r(),Fe=o("ul"),Fe.innerHTML=gn,fi=r(),Pe=o("p"),Pe.textContent=_n,di=r(),y(De.$$.fragment),Mi=r(),qe=o("p"),qe.textContent=vn,bi=r(),Oe=o("p"),Oe.innerHTML=$n,yi=r(),ie=o("div"),ie.innerHTML=hn,gi=r(),Ke=o("p"),Ke.textContent=Un,_i=r(),et=o("p"),et.textContent=wn,vi=r(),tt=o("p"),tt.textContent=jn,$i=r(),ae=o("div"),ae.innerHTML=Tn,hi=r(),lt=o("p"),lt.textContent=kn,Ui=r(),ne=o("div"),ne.innerHTML=Zn,wi=r(),it=o("p"),it.textContent=Jn,ji=r(),at=o("p"),at.innerHTML=Cn,Ti=r(),re=o("div"),re.innerHTML=Gn,ki=r(),nt=o("p"),nt.textContent=Wn,Zi=r(),y(rt.$$.fragment),Ji=r(),ut=o("p"),ut.innerHTML=xn,Ci=r(),st=o("p"),st.innerHTML=zn,Gi=r(),y(ot.$$.fragment),Wi=r(),ct=o("p"),ct.innerHTML=Bn,xi=r(),mt=o("p"),mt.textContent=Hn,zi=r(),y(pt.$$.fragment),Bi=r(),ft=o("p"),ft.innerHTML=An,Hi=r(),dt=o("ul"),dt.innerHTML=Nn,Ai=r(),y(Mt.$$.fragment),Ni=r(),bt=o("p"),bt.innerHTML=Vn,Vi=r(),yt=o("p"),yt.innerHTML=Ln,Li=r(),gt=o("p"),gt.textContent=In,Ii=r(),y(_t.$$.fragment),Ri=r(),vt=o("p"),vt.innerHTML=Rn,Yi=r(),$t=o("p"),$t.textContent=Yn,Xi=r(),y(ht.$$.fragment),Si=r(),Ut=o("p"),Ut.innerHTML=Xn,Qi=r(),wt=o("p"),wt.textContent=Sn,Ei=r(),jt=o("p"),jt.textContent=Qn,Fi=r(),y(Tt.$$.fragment),Pi=r(),kt=o("p"),kt.textContent=En,Di=r(),y(Zt.$$.fragment),qi=r(),Jt=o("p"),Jt.innerHTML=Fn,Oi=r(),y(Ct.$$.fragment),Ki=r(),Gt=o("p"),Gt.textContent=Pn,ea=r(),y(Wt.$$.fragment),ta=r(),xt=o("p"),xt.textContent=Dn,la=r(),zt=o("p"),zt.innerHTML=qn,ia=r(),Bt=o("p"),Bt.textContent=On,aa=r(),y(Ht.$$.fragment),na=r(),y(At.$$.fragment),ra=r(),Nt=o("p"),Nt.textContent=Kn,ua=r(),y(Vt.$$.fragment),sa=r(),Lt=o("p"),Lt.innerHTML=er,oa=r(),y(It.$$.fragment),ca=r(),Rt=o("p"),Rt.innerHTML=tr,ma=r(),y(Yt.$$.fragment),pa=r(),y(Xt.$$.fragment),fa=r(),St=o("p"),St.innerHTML=lr,da=r(),Qt=o("p"),Qt.innerHTML=ir,Ma=r(),Et=o("p"),Et.textContent=ar,ba=r(),R.c(),$l=r(),Ft=o("p"),Ft.innerHTML=nr,ya=r(),y(Pt.$$.fragment),ga=r(),X.c(),hl=r(),y(ue.$$.fragment),_a=r(),Dt=o("p"),Dt.innerHTML=rr,va=r(),y(qt.$$.fragment),$a=r(),Ot=o("p"),Ot.textContent=ur,ha=r(),y(Kt.$$.fragment),Ua=r(),Q.c(),Ul=r(),el=o("p"),el.innerHTML=sr,wa=r(),y(tl.$$.fragment),ja=r(),F.c(),wl=r(),ll=o("p"),ll.innerHTML=or,Ta=r(),y(il.$$.fragment),ka=r(),D.c(),jl=r(),al=o("p"),al.textContent=cr,Za=r(),y(nl.$$.fragment),Ja=r(),y(rl.$$.fragment),Ca=r(),K.c(),Tl=r(),y(ul.$$.fragment),Ga=r(),kl=o("p"),this.h()},l(e){const t=Rr("svelte-u9bgzb",document.head);a=c(t,"META",{name:!0,content:!0}),t.forEach(l),s=u(e),n=c(e,"P",{}),zr(n).forEach(l),f=u(e),g(U.$$.fragment,e),p=u(e),g(h.$$.fragment,e),C=u(e),T.l(e),J=u(e),b=c(e,"P",{"data-svelte-h":!0}),m(b)!=="svelte-1vitt2u"&&(b.textContent=Z),q=u(e),g(G.$$.fragment,e),oe=u(e),z=c(e,"P",{"data-svelte-h":!0}),m(z)!=="svelte-pqe317"&&(z.textContent=k),W=u(e),ce=c(e,"P",{"data-svelte-h":!0}),m(ce)!=="svelte-fdh7ga"&&(ce.textContent=Sa),Zl=u(e),me=c(e,"UL",{"data-svelte-h":!0}),m(me)!=="svelte-13drzv"&&(me.innerHTML=Qa),Jl=u(e),pe=c(e,"P",{"data-svelte-h":!0}),m(pe)!=="svelte-1j7dado"&&(pe.textContent=Ea),Cl=u(e),g(fe.$$.fragment,e),Gl=u(e),H.l(e),yl=u(e),de=c(e,"P",{"data-svelte-h":!0}),m(de)!=="svelte-14p4rhs"&&(de.innerHTML=Fa),Wl=u(e),Me=c(e,"P",{"data-svelte-h":!0}),m(Me)!=="svelte-wiz2oo"&&(Me.innerHTML=Pa),xl=u(e),g(be.$$.fragment,e),zl=u(e),ye=c(e,"P",{"data-svelte-h":!0}),m(ye)!=="svelte-wepmj4"&&(ye.textContent=Da),Bl=u(e),g(ge.$$.fragment,e),Hl=u(e),_e=c(e,"P",{"data-svelte-h":!0}),m(_e)!=="svelte-fqk5cs"&&(_e.innerHTML=qa),Al=u(e),ve=c(e,"P",{"data-svelte-h":!0}),m(ve)!=="svelte-2dq0x0"&&(ve.textContent=Oa),Nl=u(e),N.l(e),gl=u(e),$e=c(e,"P",{"data-svelte-h":!0}),m($e)!=="svelte-g2cc20"&&($e.innerHTML=Ka),Vl=u(e),he=c(e,"P",{"data-svelte-h":!0}),m(he)!=="svelte-1pmxqr2"&&(he.textContent=en),Ll=u(e),L.l(e),_l=u(e),Ue=c(e,"P",{"data-svelte-h":!0}),m(Ue)!=="svelte-1mp4wdy"&&(Ue.innerHTML=tn),Il=u(e),g(we.$$.fragment,e),Rl=u(e),je=c(e,"P",{"data-svelte-h":!0}),m(je)!=="svelte-1rlucjh"&&(je.innerHTML=ln),Yl=u(e),g(Te.$$.fragment,e),Xl=u(e),ke=c(e,"P",{"data-svelte-h":!0}),m(ke)!=="svelte-xaxbec"&&(ke.innerHTML=an),Sl=u(e),g(Ze.$$.fragment,e),Ql=u(e),Je=c(e,"P",{"data-svelte-h":!0}),m(Je)!=="svelte-nueyqu"&&(Je.innerHTML=nn),El=u(e),g(Ce.$$.fragment,e),Fl=u(e),Ge=c(e,"P",{"data-svelte-h":!0}),m(Ge)!=="svelte-mgpcy6"&&(Ge.innerHTML=rn),Pl=u(e),We=c(e,"P",{"data-svelte-h":!0}),m(We)!=="svelte-1dvze9i"&&(We.textContent=un),Dl=u(e),O.l(e),vl=u(e),g(le.$$.fragment,e),ql=u(e),xe=c(e,"P",{"data-svelte-h":!0}),m(xe)!=="svelte-2yyadv"&&(xe.innerHTML=sn),Ol=u(e),ze=c(e,"P",{"data-svelte-h":!0}),m(ze)!=="svelte-1dxl9ld"&&(ze.innerHTML=on),Kl=u(e),Be=c(e,"P",{"data-svelte-h":!0}),m(Be)!=="svelte-5j83da"&&(Be.textContent=cn),ei=u(e),g(He.$$.fragment,e),ti=u(e),Ae=c(e,"P",{"data-svelte-h":!0}),m(Ae)!=="svelte-c7lm4b"&&(Ae.innerHTML=mn),li=u(e),Ne=c(e,"P",{"data-svelte-h":!0}),m(Ne)!=="svelte-1dcqizo"&&(Ne.innerHTML=pn),ii=u(e),g(Ve.$$.fragment,e),ai=u(e),Le=c(e,"P",{"data-svelte-h":!0}),m(Le)!=="svelte-1x5zp0x"&&(Le.innerHTML=fn),ni=u(e),g(Ie.$$.fragment,e),ri=u(e),Re=c(e,"P",{"data-svelte-h":!0}),m(Re)!=="svelte-13jgbkf"&&(Re.innerHTML=dn),ui=u(e),Ye=c(e,"P",{"data-svelte-h":!0}),m(Ye)!=="svelte-gk31v6"&&(Ye.innerHTML=Mn),si=u(e),g(Xe.$$.fragment,e),oi=u(e),Se=c(e,"P",{"data-svelte-h":!0}),m(Se)!=="svelte-16p8eei"&&(Se.innerHTML=bn),ci=u(e),g(Qe.$$.fragment,e),mi=u(e),Ee=c(e,"P",{"data-svelte-h":!0}),m(Ee)!=="svelte-142rsuu"&&(Ee.innerHTML=yn),pi=u(e),Fe=c(e,"UL",{"data-svelte-h":!0}),m(Fe)!=="svelte-3o5sc0"&&(Fe.innerHTML=gn),fi=u(e),Pe=c(e,"P",{"data-svelte-h":!0}),m(Pe)!=="svelte-ghm3ok"&&(Pe.textContent=_n),di=u(e),g(De.$$.fragment,e),Mi=u(e),qe=c(e,"P",{"data-svelte-h":!0}),m(qe)!=="svelte-y7e5zs"&&(qe.textContent=vn),bi=u(e),Oe=c(e,"P",{"data-svelte-h":!0}),m(Oe)!=="svelte-950jbn"&&(Oe.innerHTML=$n),yi=u(e),ie=c(e,"DIV",{class:!0,"data-svelte-h":!0}),m(ie)!=="svelte-f2rbmp"&&(ie.innerHTML=hn),gi=u(e),Ke=c(e,"P",{"data-svelte-h":!0}),m(Ke)!=="svelte-q8efau"&&(Ke.textContent=Un),_i=u(e),et=c(e,"P",{"data-svelte-h":!0}),m(et)!=="svelte-pru3ei"&&(et.textContent=wn),vi=u(e),tt=c(e,"P",{"data-svelte-h":!0}),m(tt)!=="svelte-1o0k9gx"&&(tt.textContent=jn),$i=u(e),ae=c(e,"DIV",{class:!0,"data-svelte-h":!0}),m(ae)!=="svelte-190fpla"&&(ae.innerHTML=Tn),hi=u(e),lt=c(e,"P",{"data-svelte-h":!0}),m(lt)!=="svelte-w7dl20"&&(lt.textContent=kn),Ui=u(e),ne=c(e,"DIV",{class:!0,"data-svelte-h":!0}),m(ne)!=="svelte-dnvivk"&&(ne.innerHTML=Zn),wi=u(e),it=c(e,"P",{"data-svelte-h":!0}),m(it)!=="svelte-kgnt4w"&&(it.textContent=Jn),ji=u(e),at=c(e,"P",{"data-svelte-h":!0}),m(at)!=="svelte-12su67g"&&(at.innerHTML=Cn),Ti=u(e),re=c(e,"DIV",{class:!0,"data-svelte-h":!0}),m(re)!=="svelte-hfhl4"&&(re.innerHTML=Gn),ki=u(e),nt=c(e,"P",{"data-svelte-h":!0}),m(nt)!=="svelte-15jn056"&&(nt.textContent=Wn),Zi=u(e),g(rt.$$.fragment,e),Ji=u(e),ut=c(e,"P",{"data-svelte-h":!0}),m(ut)!=="svelte-fvl3la"&&(ut.innerHTML=xn),Ci=u(e),st=c(e,"P",{"data-svelte-h":!0}),m(st)!=="svelte-thlvwc"&&(st.innerHTML=zn),Gi=u(e),g(ot.$$.fragment,e),Wi=u(e),ct=c(e,"P",{"data-svelte-h":!0}),m(ct)!=="svelte-1dl773t"&&(ct.innerHTML=Bn),xi=u(e),mt=c(e,"P",{"data-svelte-h":!0}),m(mt)!=="svelte-s64qxz"&&(mt.textContent=Hn),zi=u(e),g(pt.$$.fragment,e),Bi=u(e),ft=c(e,"P",{"data-svelte-h":!0}),m(ft)!=="svelte-1jlofiy"&&(ft.innerHTML=An),Hi=u(e),dt=c(e,"UL",{"data-svelte-h":!0}),m(dt)!=="svelte-1f7h4cz"&&(dt.innerHTML=Nn),Ai=u(e),g(Mt.$$.fragment,e),Ni=u(e),bt=c(e,"P",{"data-svelte-h":!0}),m(bt)!=="svelte-htkg5i"&&(bt.innerHTML=Vn),Vi=u(e),yt=c(e,"P",{"data-svelte-h":!0}),m(yt)!=="svelte-1jsh1l0"&&(yt.innerHTML=Ln),Li=u(e),gt=c(e,"P",{"data-svelte-h":!0}),m(gt)!=="svelte-s1hr71"&&(gt.textContent=In),Ii=u(e),g(_t.$$.fragment,e),Ri=u(e),vt=c(e,"P",{"data-svelte-h":!0}),m(vt)!=="svelte-bhus7x"&&(vt.innerHTML=Rn),Yi=u(e),$t=c(e,"P",{"data-svelte-h":!0}),m($t)!=="svelte-30d8oi"&&($t.textContent=Yn),Xi=u(e),g(ht.$$.fragment,e),Si=u(e),Ut=c(e,"P",{"data-svelte-h":!0}),m(Ut)!=="svelte-vqxeeb"&&(Ut.innerHTML=Xn),Qi=u(e),wt=c(e,"P",{"data-svelte-h":!0}),m(wt)!=="svelte-1wfnpai"&&(wt.textContent=Sn),Ei=u(e),jt=c(e,"P",{"data-svelte-h":!0}),m(jt)!=="svelte-s2ctrr"&&(jt.textContent=Qn),Fi=u(e),g(Tt.$$.fragment,e),Pi=u(e),kt=c(e,"P",{"data-svelte-h":!0}),m(kt)!=="svelte-1m8tw91"&&(kt.textContent=En),Di=u(e),g(Zt.$$.fragment,e),qi=u(e),Jt=c(e,"P",{"data-svelte-h":!0}),m(Jt)!=="svelte-12dvs0m"&&(Jt.innerHTML=Fn),Oi=u(e),g(Ct.$$.fragment,e),Ki=u(e),Gt=c(e,"P",{"data-svelte-h":!0}),m(Gt)!=="svelte-1quxz7a"&&(Gt.textContent=Pn),ea=u(e),g(Wt.$$.fragment,e),ta=u(e),xt=c(e,"P",{"data-svelte-h":!0}),m(xt)!=="svelte-1e9s5vm"&&(xt.textContent=Dn),la=u(e),zt=c(e,"P",{"data-svelte-h":!0}),m(zt)!=="svelte-xvvixn"&&(zt.innerHTML=qn),ia=u(e),Bt=c(e,"P",{"data-svelte-h":!0}),m(Bt)!=="svelte-1cmnp9e"&&(Bt.textContent=On),aa=u(e),g(Ht.$$.fragment,e),na=u(e),g(At.$$.fragment,e),ra=u(e),Nt=c(e,"P",{"data-svelte-h":!0}),m(Nt)!=="svelte-5s2mw7"&&(Nt.textContent=Kn),ua=u(e),g(Vt.$$.fragment,e),sa=u(e),Lt=c(e,"P",{"data-svelte-h":!0}),m(Lt)!=="svelte-52qvgm"&&(Lt.innerHTML=er),oa=u(e),g(It.$$.fragment,e),ca=u(e),Rt=c(e,"P",{"data-svelte-h":!0}),m(Rt)!=="svelte-1srtewl"&&(Rt.innerHTML=tr),ma=u(e),g(Yt.$$.fragment,e),pa=u(e),g(Xt.$$.fragment,e),fa=u(e),St=c(e,"P",{"data-svelte-h":!0}),m(St)!=="svelte-1ipqowo"&&(St.innerHTML=lr),da=u(e),Qt=c(e,"P",{"data-svelte-h":!0}),m(Qt)!=="svelte-1rbzudx"&&(Qt.innerHTML=ir),Ma=u(e),Et=c(e,"P",{"data-svelte-h":!0}),m(Et)!=="svelte-1ec5qb1"&&(Et.textContent=ar),ba=u(e),R.l(e),$l=u(e),Ft=c(e,"P",{"data-svelte-h":!0}),m(Ft)!=="svelte-1xgnesv"&&(Ft.innerHTML=nr),ya=u(e),g(Pt.$$.fragment,e),ga=u(e),X.l(e),hl=u(e),g(ue.$$.fragment,e),_a=u(e),Dt=c(e,"P",{"data-svelte-h":!0}),m(Dt)!=="svelte-5dtoj2"&&(Dt.innerHTML=rr),va=u(e),g(qt.$$.fragment,e),$a=u(e),Ot=c(e,"P",{"data-svelte-h":!0}),m(Ot)!=="svelte-1ispz16"&&(Ot.textContent=ur),ha=u(e),g(Kt.$$.fragment,e),Ua=u(e),Q.l(e),Ul=u(e),el=c(e,"P",{"data-svelte-h":!0}),m(el)!=="svelte-axq2e2"&&(el.innerHTML=sr),wa=u(e),g(tl.$$.fragment,e),ja=u(e),F.l(e),wl=u(e),ll=c(e,"P",{"data-svelte-h":!0}),m(ll)!=="svelte-jpnwq"&&(ll.innerHTML=or),Ta=u(e),g(il.$$.fragment,e),ka=u(e),D.l(e),jl=u(e),al=c(e,"P",{"data-svelte-h":!0}),m(al)!=="svelte-rfcmnj"&&(al.textContent=cr),Za=u(e),g(nl.$$.fragment,e),Ja=u(e),g(rl.$$.fragment,e),Ca=u(e),K.l(e),Tl=u(e),g(ul.$$.fragment,e),Ga=u(e),kl=c(e,"P",{}),zr(kl).forEach(l),this.h()},h(){x(a,"name","hf:doc:metadata"),x(a,"content",_u),x(ie,"class","flex justify-center"),x(ae,"class","flex justify-center"),x(ne,"class","flex justify-center"),x(re,"class","flex justify-center")},m(e,t){Yr(document.head,a),i(e,s,t),i(e,n,t),i(e,f,t),_(U,e,t),i(e,p,t),_(h,e,t),i(e,C,t),sl[j].m(e,t),i(e,J,t),i(e,b,t),i(e,q,t),_(G,e,t),i(e,oe,t),i(e,z,t),i(e,W,t),i(e,ce,t),i(e,Zl,t),i(e,me,t),i(e,Jl,t),i(e,pe,t),i(e,Cl,t),_(fe,e,t),i(e,Gl,t),ol[B].m(e,t),i(e,yl,t),i(e,de,t),i(e,Wl,t),i(e,Me,t),i(e,xl,t),_(be,e,t),i(e,zl,t),i(e,ye,t),i(e,Bl,t),_(ge,e,t),i(e,Hl,t),i(e,_e,t),i(e,Al,t),i(e,ve,t),i(e,Nl,t),cl[A].m(e,t),i(e,gl,t),i(e,$e,t),i(e,Vl,t),i(e,he,t),i(e,Ll,t),ml[V].m(e,t),i(e,_l,t),i(e,Ue,t),i(e,Il,t),_(we,e,t),i(e,Rl,t),i(e,je,t),i(e,Yl,t),_(Te,e,t),i(e,Xl,t),i(e,ke,t),i(e,Sl,t),_(Ze,e,t),i(e,Ql,t),i(e,Je,t),i(e,El,t),_(Ce,e,t),i(e,Fl,t),i(e,Ge,t),i(e,Pl,t),i(e,We,t),i(e,Dl,t),O.m(e,t),i(e,vl,t),_(le,e,t),i(e,ql,t),i(e,xe,t),i(e,Ol,t),i(e,ze,t),i(e,Kl,t),i(e,Be,t),i(e,ei,t),_(He,e,t),i(e,ti,t),i(e,Ae,t),i(e,li,t),i(e,Ne,t),i(e,ii,t),_(Ve,e,t),i(e,ai,t),i(e,Le,t),i(e,ni,t),_(Ie,e,t),i(e,ri,t),i(e,Re,t),i(e,ui,t),i(e,Ye,t),i(e,si,t),_(Xe,e,t),i(e,oi,t),i(e,Se,t),i(e,ci,t),_(Qe,e,t),i(e,mi,t),i(e,Ee,t),i(e,pi,t),i(e,Fe,t),i(e,fi,t),i(e,Pe,t),i(e,di,t),_(De,e,t),i(e,Mi,t),i(e,qe,t),i(e,bi,t),i(e,Oe,t),i(e,yi,t),i(e,ie,t),i(e,gi,t),i(e,Ke,t),i(e,_i,t),i(e,et,t),i(e,vi,t),i(e,tt,t),i(e,$i,t),i(e,ae,t),i(e,hi,t),i(e,lt,t),i(e,Ui,t),i(e,ne,t),i(e,wi,t),i(e,it,t),i(e,ji,t),i(e,at,t),i(e,Ti,t),i(e,re,t),i(e,ki,t),i(e,nt,t),i(e,Zi,t),_(rt,e,t),i(e,Ji,t),i(e,ut,t),i(e,Ci,t),i(e,st,t),i(e,Gi,t),_(ot,e,t),i(e,Wi,t),i(e,ct,t),i(e,xi,t),i(e,mt,t),i(e,zi,t),_(pt,e,t),i(e,Bi,t),i(e,ft,t),i(e,Hi,t),i(e,dt,t),i(e,Ai,t),_(Mt,e,t),i(e,Ni,t),i(e,bt,t),i(e,Vi,t),i(e,yt,t),i(e,Li,t),i(e,gt,t),i(e,Ii,t),_(_t,e,t),i(e,Ri,t),i(e,vt,t),i(e,Yi,t),i(e,$t,t),i(e,Xi,t),_(ht,e,t),i(e,Si,t),i(e,Ut,t),i(e,Qi,t),i(e,wt,t),i(e,Ei,t),i(e,jt,t),i(e,Fi,t),_(Tt,e,t),i(e,Pi,t),i(e,kt,t),i(e,Di,t),_(Zt,e,t),i(e,qi,t),i(e,Jt,t),i(e,Oi,t),_(Ct,e,t),i(e,Ki,t),i(e,Gt,t),i(e,ea,t),_(Wt,e,t),i(e,ta,t),i(e,xt,t),i(e,la,t),i(e,zt,t),i(e,ia,t),i(e,Bt,t),i(e,aa,t),_(Ht,e,t),i(e,na,t),_(At,e,t),i(e,ra,t),i(e,Nt,t),i(e,ua,t),_(Vt,e,t),i(e,sa,t),i(e,Lt,t),i(e,oa,t),_(It,e,t),i(e,ca,t),i(e,Rt,t),i(e,ma,t),_(Yt,e,t),i(e,pa,t),_(Xt,e,t),i(e,fa,t),i(e,St,t),i(e,da,t),i(e,Qt,t),i(e,Ma,t),i(e,Et,t),i(e,ba,t),pl[I].m(e,t),i(e,$l,t),i(e,Ft,t),i(e,ya,t),_(Pt,e,t),i(e,ga,t),fl[Y].m(e,t),i(e,hl,t),_(ue,e,t),i(e,_a,t),i(e,Dt,t),i(e,va,t),_(qt,e,t),i(e,$a,t),i(e,Ot,t),i(e,ha,t),_(Kt,e,t),i(e,Ua,t),dl[S].m(e,t),i(e,Ul,t),i(e,el,t),i(e,wa,t),_(tl,e,t),i(e,ja,t),Ml[E].m(e,t),i(e,wl,t),i(e,ll,t),i(e,Ta,t),_(il,e,t),i(e,ka,t),bl[P].m(e,t),i(e,jl,t),i(e,al,t),i(e,Za,t),_(nl,e,t),i(e,Ja,t),_(rl,e,t),i(e,Ca,t),K.m(e,t),i(e,Tl,t),_(ul,e,t),i(e,Ga,t),i(e,kl,t),Wa=!0},p(e,[t]){const Gr={};t&1&&(Gr.fw=e[0]),U.$set(Gr);let Ba=j;j=pr(e),j!==Ba&&(te(),d(sl[Ba],1,1,()=>{sl[Ba]=null}),ee(),T=sl[j],T||(T=sl[j]=mr[j](e),T.c()),M(T,1),T.m(J.parentNode,J));let Ha=B;B=dr(e),B!==Ha&&(te(),d(ol[Ha],1,1,()=>{ol[Ha]=null}),ee(),H=ol[B],H||(H=ol[B]=fr[B](e),H.c()),M(H,1),H.m(yl.parentNode,yl));let Aa=A;A=br(e),A!==Aa&&(te(),d(cl[Aa],1,1,()=>{cl[Aa]=null}),ee(),N=cl[A],N||(N=cl[A]=Mr[A](e),N.c()),M(N,1),N.m(gl.parentNode,gl));let Na=V;V=gr(e),V!==Na&&(te(),d(ml[Na],1,1,()=>{ml[Na]=null}),ee(),L=ml[V],L||(L=ml[V]=yr[V](e),L.c()),M(L,1),L.m(_l.parentNode,_l)),xa!==(xa=_r(e))&&(O.d(1),O=xa(e),O&&(O.c(),O.m(vl.parentNode,vl)));const Wr={};t&2&&(Wr.$$scope={dirty:t,ctx:e}),le.$set(Wr);let Va=I;I=$r(e),I!==Va&&(te(),d(pl[Va],1,1,()=>{pl[Va]=null}),ee(),R=pl[I],R||(R=pl[I]=vr[I](e),R.c()),M(R,1),R.m($l.parentNode,$l));let La=Y;Y=Ur(e),Y!==La&&(te(),d(fl[La],1,1,()=>{fl[La]=null}),ee(),X=fl[Y],X||(X=fl[Y]=hr[Y](e),X.c()),M(X,1),X.m(hl.parentNode,hl));const xr={};t&2&&(xr.$$scope={dirty:t,ctx:e}),ue.$set(xr);let Ia=S;S=jr(e),S!==Ia&&(te(),d(dl[Ia],1,1,()=>{dl[Ia]=null}),ee(),Q=dl[S],Q||(Q=dl[S]=wr[S](e),Q.c()),M(Q,1),Q.m(Ul.parentNode,Ul));let Ra=E;E=kr(e),E!==Ra&&(te(),d(Ml[Ra],1,1,()=>{Ml[Ra]=null}),ee(),F=Ml[E],F||(F=Ml[E]=Tr[E](e),F.c()),M(F,1),F.m(wl.parentNode,wl));let Ya=P;P=Jr(e),P!==Ya&&(te(),d(bl[Ya],1,1,()=>{bl[Ya]=null}),ee(),D=bl[P],D||(D=bl[P]=Zr[P](e),D.c()),M(D,1),D.m(jl.parentNode,jl)),za!==(za=Cr(e))&&(K.d(1),K=za(e),K&&(K.c(),K.m(Tl.parentNode,Tl)))},i(e){Wa||(M(U.$$.fragment,e),M(h.$$.fragment,e),M(T),M(G.$$.fragment,e),M(fe.$$.fragment,e),M(H),M(be.$$.fragment,e),M(ge.$$.fragment,e),M(N),M(L),M(we.$$.fragment,e),M(Te.$$.fragment,e),M(Ze.$$.fragment,e),M(Ce.$$.fragment,e),M(le.$$.fragment,e),M(He.$$.fragment,e),M(Ve.$$.fragment,e),M(Ie.$$.fragment,e),M(Xe.$$.fragment,e),M(Qe.$$.fragment,e),M(De.$$.fragment,e),M(rt.$$.fragment,e),M(ot.$$.fragment,e),M(pt.$$.fragment,e),M(Mt.$$.fragment,e),M(_t.$$.fragment,e),M(ht.$$.fragment,e),M(Tt.$$.fragment,e),M(Zt.$$.fragment,e),M(Ct.$$.fragment,e),M(Wt.$$.fragment,e),M(Ht.$$.fragment,e),M(At.$$.fragment,e),M(Vt.$$.fragment,e),M(It.$$.fragment,e),M(Yt.$$.fragment,e),M(Xt.$$.fragment,e),M(R),M(Pt.$$.fragment,e),M(X),M(ue.$$.fragment,e),M(qt.$$.fragment,e),M(Kt.$$.fragment,e),M(Q),M(tl.$$.fragment,e),M(F),M(il.$$.fragment,e),M(D),M(nl.$$.fragment,e),M(rl.$$.fragment,e),M(ul.$$.fragment,e),Wa=!0)},o(e){d(U.$$.fragment,e),d(h.$$.fragment,e),d(T),d(G.$$.fragment,e),d(fe.$$.fragment,e),d(H),d(be.$$.fragment,e),d(ge.$$.fragment,e),d(N),d(L),d(we.$$.fragment,e),d(Te.$$.fragment,e),d(Ze.$$.fragment,e),d(Ce.$$.fragment,e),d(le.$$.fragment,e),d(He.$$.fragment,e),d(Ve.$$.fragment,e),d(Ie.$$.fragment,e),d(Xe.$$.fragment,e),d(Qe.$$.fragment,e),d(De.$$.fragment,e),d(rt.$$.fragment,e),d(ot.$$.fragment,e),d(pt.$$.fragment,e),d(Mt.$$.fragment,e),d(_t.$$.fragment,e),d(ht.$$.fragment,e),d(Tt.$$.fragment,e),d(Zt.$$.fragment,e),d(Ct.$$.fragment,e),d(Wt.$$.fragment,e),d(Ht.$$.fragment,e),d(At.$$.fragment,e),d(Vt.$$.fragment,e),d(It.$$.fragment,e),d(Yt.$$.fragment,e),d(Xt.$$.fragment,e),d(R),d(Pt.$$.fragment,e),d(X),d(ue.$$.fragment,e),d(qt.$$.fragment,e),d(Kt.$$.fragment,e),d(Q),d(tl.$$.fragment,e),d(F),d(il.$$.fragment,e),d(D),d(nl.$$.fragment,e),d(rl.$$.fragment,e),d(ul.$$.fragment,e),Wa=!1},d(e){e&&(l(s),l(n),l(f),l(p),l(C),l(J),l(b),l(q),l(oe),l(z),l(W),l(ce),l(Zl),l(me),l(Jl),l(pe),l(Cl),l(Gl),l(yl),l(de),l(Wl),l(Me),l(xl),l(zl),l(ye),l(Bl),l(Hl),l(_e),l(Al),l(ve),l(Nl),l(gl),l($e),l(Vl),l(he),l(Ll),l(_l),l(Ue),l(Il),l(Rl),l(je),l(Yl),l(Xl),l(ke),l(Sl),l(Ql),l(Je),l(El),l(Fl),l(Ge),l(Pl),l(We),l(Dl),l(vl),l(ql),l(xe),l(Ol),l(ze),l(Kl),l(Be),l(ei),l(ti),l(Ae),l(li),l(Ne),l(ii),l(ai),l(Le),l(ni),l(ri),l(Re),l(ui),l(Ye),l(si),l(oi),l(Se),l(ci),l(mi),l(Ee),l(pi),l(Fe),l(fi),l(Pe),l(di),l(Mi),l(qe),l(bi),l(Oe),l(yi),l(ie),l(gi),l(Ke),l(_i),l(et),l(vi),l(tt),l($i),l(ae),l(hi),l(lt),l(Ui),l(ne),l(wi),l(it),l(ji),l(at),l(Ti),l(re),l(ki),l(nt),l(Zi),l(Ji),l(ut),l(Ci),l(st),l(Gi),l(Wi),l(ct),l(xi),l(mt),l(zi),l(Bi),l(ft),l(Hi),l(dt),l(Ai),l(Ni),l(bt),l(Vi),l(yt),l(Li),l(gt),l(Ii),l(Ri),l(vt),l(Yi),l($t),l(Xi),l(Si),l(Ut),l(Qi),l(wt),l(Ei),l(jt),l(Fi),l(Pi),l(kt),l(Di),l(qi),l(Jt),l(Oi),l(Ki),l(Gt),l(ea),l(ta),l(xt),l(la),l(zt),l(ia),l(Bt),l(aa),l(na),l(ra),l(Nt),l(ua),l(sa),l(Lt),l(oa),l(ca),l(Rt),l(ma),l(pa),l(fa),l(St),l(da),l(Qt),l(Ma),l(Et),l(ba),l($l),l(Ft),l(ya),l(ga),l(hl),l(_a),l(Dt),l(va),l($a),l(Ot),l(ha),l(Ua),l(Ul),l(el),l(wa),l(ja),l(wl),l(ll),l(Ta),l(ka),l(jl),l(al),l(Za),l(Ja),l(Ca),l(Tl),l(Ga),l(kl)),l(a),v(U,e),v(h,e),sl[j].d(e),v(G,e),v(fe,e),ol[B].d(e),v(be,e),v(ge,e),cl[A].d(e),ml[V].d(e),v(we,e),v(Te,e),v(Ze,e),v(Ce,e),O.d(e),v(le,e),v(He,e),v(Ve,e),v(Ie,e),v(Xe,e),v(Qe,e),v(De,e),v(rt,e),v(ot,e),v(pt,e),v(Mt,e),v(_t,e),v(ht,e),v(Tt,e),v(Zt,e),v(Ct,e),v(Wt,e),v(Ht,e),v(At,e),v(Vt,e),v(It,e),v(Yt,e),v(Xt,e),pl[I].d(e),v(Pt,e),fl[Y].d(e),v(ue,e),v(qt,e),v(Kt,e),dl[S].d(e),v(tl,e),Ml[E].d(e),v(il,e),bl[P].d(e),v(nl,e),v(rl,e),K.d(e),v(ul,e)}}}const _u='{"title":"Partajarea modelelor preantrenate","local":"sharing-pretrained-models","sections":[{"title":"Utilizând API-ul push_to_hub","local":"using-the-pushtohub-api","sections":[],"depth":2},{"title":"Utilizarea bibliotecii Python huggingface_hub","local":"using-the-huggingfacehub-python-library","sections":[],"depth":2},{"title":"Utilizarea interfeței web","local":"using-the-web-interface","sections":[],"depth":2},{"title":"Încărcarea fișierelor modelului","local":"uploading-the-model-files","sections":[{"title":"Metoda upload_file","local":"the-uploadfile-approach","sections":[],"depth":3},{"title":"Clasa Repository","local":"the-repository-class","sections":[],"depth":3},{"title":"Folosirea Git","local":"the-git-based-approach","sections":[],"depth":3}],"depth":2}],"depth":1}';function vu($,a,s){let n="pt";return Nr(()=>{const f=new URLSearchParams(window.location.search);s(0,n=f.get("fw")||"pt")}),[n]}class Ju extends Lr{constructor(a){super(),Ir(this,a,vu,gu,Ar,{})}}export{Ju as component};
