import{S as cu,i as pu,s as du,e as r,k as c,w as m,t as s,M as mu,c as l,d as a,m as p,a as n,x as f,h as i,b as d,N as Pr,G as o,g as u,y as h,q as b,o as v,B as g,v as fu}from"../chunks/vendor-hf-doc-builder.js";import{T as hu}from"../chunks/Tip-hf-doc-builder.js";import{Y as bu}from"../chunks/Youtube-hf-doc-builder.js";import{I as L}from"../chunks/IconCopyLink-hf-doc-builder.js";import{C as y}from"../chunks/CodeBlock-hf-doc-builder.js";function vu(Ro){let _,V,$,M,G;return{c(){_=r("p"),V=s("Para compartir un modelo con la comunidad necesitas una cuenta en "),$=r("a"),M=s("huggingface.co"),G=s(". Tambi\xE9n puedes unirte a una organizaci\xF3n existente o crear una nueva."),this.h()},l(k){_=l(k,"P",{});var C=n(_);V=i(C,"Para compartir un modelo con la comunidad necesitas una cuenta en "),$=l(C,"A",{href:!0,rel:!0});var B=n($);M=i(B,"huggingface.co"),B.forEach(a),G=i(C,". Tambi\xE9n puedes unirte a una organizaci\xF3n existente o crear una nueva."),C.forEach(a),this.h()},h(){d($,"href","https://huggingface.co/join"),d($,"rel","nofollow")},m(k,C){u(k,_,C),o(_,V),o(_,$),o($,M),o(_,G)},d(k){k&&a(_)}}}function gu(Ro){let _,V,$,M,G,k,C,B,Zr,Xo,da,Hr,zo,x,qr,ke,Ar,Ur,Io,Q,Ra,Gr,Rr,Xa,Xr,So,T,Ti,No,O,Yo,R,K,za,Te,zr,Ia,Ir,Do,ma,Sr,Lo,J,Nr,Me,Yr,Dr,Sa,Lr,Vr,Vo,ee,Br,Na,xr,Qr,Bo,je,xo,fa,Or,Qo,ha,ba,Mi,Oo,X,ae,Ya,Ce,Kr,Da,el,Ko,va,al,et,Je,at,oe,ol,We,La,tl,rl,ot,Fe,tt,W,ll,Va,sl,il,Pe,nl,ul,rt,Ze,lt,z,te,Ba,He,cl,xa,pl,st,ga,dl,it,re,ml,_a,fl,hl,nt,le,bl,Qa,vl,gl,ut,qe,ct,ya,_l,pt,Ae,dt,se,yl,Oa,$l,El,mt,Ue,ft,$a,wl,ht,Ge,bt,I,ie,Ka,Re,kl,Ea,Tl,eo,Ml,vt,Xe,gt,E,jl,wa,Cl,Jl,ao,Wl,Fl,oo,Pl,Zl,to,Hl,ql,_t,ze,yt,ne,Al,ro,Ul,Gl,$t,Ie,Et,F,Rl,lo,Xl,zl,so,Il,Sl,wt,Se,kt,S,ue,io,Ne,Nl,ka,Yl,no,Dl,Tt,P,Ll,uo,Vl,Bl,co,xl,Ql,Mt,Z,po,Ol,Kl,mo,es,as,Ye,os,fo,ts,rs,jt,De,Ct,ce,ls,Le,ho,ss,is,Jt,Ve,Wt,N,pe,bo,Be,ns,Ta,us,vo,cs,Ft,de,ps,go,ds,ms,Pt,me,fs,_o,hs,bs,Zt,xe,Ht,H,vs,yo,gs,_s,$o,ys,$s,qt,Qe,At,fe,Es,Eo,ws,ks,Ut,Oe,Gt,he,Ts,wo,Ms,js,Rt,Ke,Xt,Ma,Cs,zt,ea,It,be,Js,ko,Ws,Fs,St,ve,Ps,aa,Zs,Hs,Nt,Y,ge,To,oa,qs,Mo,As,Yt,_e,Us,ta,Gs,Rs,Dt,ja,Ca,ji,Lt,Ja,Xs,Vt,j,ra,zs,jo,Is,Ss,Ns,Co,Ys,Ds,Jo,Ls,Vs,Wo,Bs,Bt,q,xs,Fo,Qs,Os,Po,Ks,ei,xt,Wa,Fa,Ci,Qt,D,ye,Zo,la,ai,Ho,oi,Ot,$e,ti,qo,ri,li,Kt,Ee,sa,si,Ao,ii,ni,ui,ia,ci,Uo,pi,di,er,w,mi,na,fi,hi,ua,bi,vi,Go,gi,_i,ca,yi,$i,ar;return k=new L({}),O=new hu({props:{$$slots:{default:[vu]},$$scope:{ctx:Ro}}}),Te=new L({}),je=new y({props:{code:"bW9kZWwlMjAlM0QlMjBBdXRvTW9kZWwuZnJvbV9wcmV0cmFpbmVkKCUwQSUyMCUyMCUyMCUyMCUyMmp1bGllbi1jJTJGRXNwZXJCRVJUby1zbWFsbCUyMiUyQyUyMHJldmlzaW9uJTNEJTIydjIuMC4xJTIyJTIwJTIwJTIzJTIwdGFnJTIwbmFtZSUyQyUyMG9yJTIwYnJhbmNoJTIwbmFtZSUyQyUyMG9yJTIwY29tbWl0JTIwaGFzaCUwQSk=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>model = AutoModel.from_pretrained(
<span class="hljs-meta">... </span>    <span class="hljs-string">&quot;julien-c/EsperBERTo-small&quot;</span>, revision=<span class="hljs-string">&quot;v2.0.1&quot;</span>  <span class="hljs-comment"># tag name, or branch name, or commit hash</span>
<span class="hljs-meta">... </span>)`}}),Ce=new L({}),Je=new y({props:{code:"aHVnZ2luZ2ZhY2UtY2xpJTIwbG9naW4=",highlighted:"huggingface-cli login"}}),Fe=new y({props:{code:"cGlwJTIwaW5zdGFsbCUyMGh1Z2dpbmdmYWNlX2h1Yg==",highlighted:"pip install huggingface_hub"}}),Ze=new y({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMG5vdGVib29rX2xvZ2luJTBBJTBBbm90ZWJvb2tfbG9naW4oKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> notebook_login

<span class="hljs-meta">&gt;&gt;&gt; </span>notebook_login()`}}),He=new L({}),qe=new y({props:{code:"dGZfbW9kZWwlMjAlM0QlMjBURkRpc3RpbEJlcnRGb3JTZXF1ZW5jZUNsYXNzaWZpY2F0aW9uLmZyb21fcHJldHJhaW5lZCglMjJwYXRoJTJGdG8lMkZhd2Vzb21lLW5hbWUteW91LXBpY2tlZCUyMiUyQyUyMGZyb21fcHQlM0RUcnVlKQ==",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>tf_model = TFDistilBertForSequenceClassification.from_pretrained(<span class="hljs-string">&quot;path/to/awesome-name-you-picked&quot;</span>, from_pt=<span class="hljs-literal">True</span>)'}}),Ae=new y({props:{code:"dGZfbW9kZWwuc2F2ZV9wcmV0cmFpbmVkKCUyMnBhdGglMkZ0byUyRmF3ZXNvbWUtbmFtZS15b3UtcGlja2VkJTIyKQ==",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>tf_model.save_pretrained(<span class="hljs-string">&quot;path/to/awesome-name-you-picked&quot;</span>)'}}),Ue=new y({props:{code:"cHRfbW9kZWwlMjAlM0QlMjBEaXN0aWxCZXJ0Rm9yU2VxdWVuY2VDbGFzc2lmaWNhdGlvbi5mcm9tX3ByZXRyYWluZWQoJTIycGF0aCUyRnRvJTJGYXdlc29tZS1uYW1lLXlvdS1waWNrZWQlMjIlMkMlMjBmcm9tX3RmJTNEVHJ1ZSklMEFwdF9tb2RlbC5zYXZlX3ByZXRyYWluZWQoJTIycGF0aCUyRnRvJTJGYXdlc29tZS1uYW1lLXlvdS1waWNrZWQlMjIp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>pt_model = DistilBertForSequenceClassification.from_pretrained(<span class="hljs-string">&quot;path/to/awesome-name-you-picked&quot;</span>, from_tf=<span class="hljs-literal">True</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>pt_model.save_pretrained(<span class="hljs-string">&quot;path/to/awesome-name-you-picked&quot;</span>)`}}),Ge=new y({props:{code:"ZmxheF9tb2RlbCUyMCUzRCUyMEZsYXhEaXN0aWxCZXJ0Rm9yU2VxdWVuY2VDbGFzc2lmaWNhdGlvbi5mcm9tX3ByZXRyYWluZWQoJTBBJTIwJTIwJTIwJTIwJTIycGF0aCUyRnRvJTJGYXdlc29tZS1uYW1lLXlvdS1waWNrZWQlMjIlMkMlMjBmcm9tX3B0JTNEVHJ1ZSUwQSk=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>flax_model = FlaxDistilBertForSequenceClassification.from_pretrained(
<span class="hljs-meta">... </span>    <span class="hljs-string">&quot;path/to/awesome-name-you-picked&quot;</span>, from_pt=<span class="hljs-literal">True</span>
<span class="hljs-meta">... </span>)`}}),Re=new L({}),Xe=new bu({props:{id:"Z1-XMy-GNLQ"}}),ze=new y({props:{code:"dHJhaW5pbmdfYXJncyUyMCUzRCUyMFRyYWluaW5nQXJndW1lbnRzKG91dHB1dF9kaXIlM0QlMjJteS1hd2Vzb21lLW1vZGVsJTIyJTJDJTIwcHVzaF90b19odWIlM0RUcnVlKQ==",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>training_args = TrainingArguments(output_dir=<span class="hljs-string">&quot;my-awesome-model&quot;</span>, push_to_hub=<span class="hljs-literal">True</span>)'}}),Ie=new y({props:{code:"dHJhaW5lciUyMCUzRCUyMFRyYWluZXIoJTBBJTIwJTIwJTIwJTIwbW9kZWwlM0Rtb2RlbCUyQyUwQSUyMCUyMCUyMCUyMGFyZ3MlM0R0cmFpbmluZ19hcmdzJTJDJTBBJTIwJTIwJTIwJTIwdHJhaW5fZGF0YXNldCUzRHNtYWxsX3RyYWluX2RhdGFzZXQlMkMlMEElMjAlMjAlMjAlMjBldmFsX2RhdGFzZXQlM0RzbWFsbF9ldmFsX2RhdGFzZXQlMkMlMEElMjAlMjAlMjAlMjBjb21wdXRlX21ldHJpY3MlM0Rjb21wdXRlX21ldHJpY3MlMkMlMEEp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>trainer = Trainer(
<span class="hljs-meta">... </span>    model=model,
<span class="hljs-meta">... </span>    args=training_args,
<span class="hljs-meta">... </span>    train_dataset=small_train_dataset,
<span class="hljs-meta">... </span>    eval_dataset=small_eval_dataset,
<span class="hljs-meta">... </span>    compute_metrics=compute_metrics,
<span class="hljs-meta">... </span>)`}}),Se=new y({props:{code:"dHJhaW5lci5wdXNoX3RvX2h1Yigp",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>trainer.push_to_hub()'}}),Ne=new L({}),De=new y({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFB1c2hUb0h1YkNhbGxiYWNrJTBBJTBBcHVzaF90b19odWJfY2FsbGJhY2slMjAlM0QlMjBQdXNoVG9IdWJDYWxsYmFjayglMEElMjAlMjAlMjAlMjBvdXRwdXRfZGlyJTNEJTIyLiUyRnlvdXJfbW9kZWxfc2F2ZV9wYXRoJTIyJTJDJTIwdG9rZW5pemVyJTNEdG9rZW5pemVyJTJDJTIwaHViX21vZGVsX2lkJTNEJTIyeW91ci11c2VybmFtZSUyRm15LWF3ZXNvbWUtbW9kZWwlMjIlMEEp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> PushToHubCallback

<span class="hljs-meta">&gt;&gt;&gt; </span>push_to_hub_callback = PushToHubCallback(
<span class="hljs-meta">... </span>    output_dir=<span class="hljs-string">&quot;./your_model_save_path&quot;</span>, tokenizer=tokenizer, hub_model_id=<span class="hljs-string">&quot;your-username/my-awesome-model&quot;</span>
<span class="hljs-meta">... </span>)`}}),Ve=new y({props:{code:"bW9kZWwuZml0KHRmX3RyYWluX2RhdGFzZXQlMkMlMjB2YWxpZGF0aW9uX2RhdGElM0R0Zl92YWxpZGF0aW9uX2RhdGFzZXQlMkMlMjBlcG9jaHMlM0QzJTJDJTIwY2FsbGJhY2tzJTNEcHVzaF90b19odWJfY2FsbGJhY2sp",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>model.fit(tf_train_dataset, validation_data=tf_validation_dataset, epochs=<span class="hljs-number">3</span>, callbacks=push_to_hub_callback)'}}),Be=new L({}),xe=new y({props:{code:"cHRfbW9kZWwucHVzaF90b19odWIoJTIybXktYXdlc29tZS1tb2RlbCUyMik=",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>pt_model.push_to_hub(<span class="hljs-string">&quot;my-awesome-model&quot;</span>)'}}),Qe=new y({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbCUwQSUwQW1vZGVsJTIwJTNEJTIwQXV0b01vZGVsLmZyb21fcHJldHJhaW5lZCglMjJ5b3VyX3VzZXJuYW1lJTJGbXktYXdlc29tZS1tb2RlbCUyMik=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModel

<span class="hljs-meta">&gt;&gt;&gt; </span>model = AutoModel.from_pretrained(<span class="hljs-string">&quot;your_username/my-awesome-model&quot;</span>)`}}),Oe=new y({props:{code:"cHRfbW9kZWwucHVzaF90b19odWIoJTIybXktYXdlc29tZS1tb2RlbCUyMiUyQyUyMG9yZ2FuaXphdGlvbiUzRCUyMm15LWF3ZXNvbWUtb3JnJTIyKQ==",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>pt_model.push_to_hub(<span class="hljs-string">&quot;my-awesome-model&quot;</span>, organization=<span class="hljs-string">&quot;my-awesome-org&quot;</span>)'}}),Ke=new y({props:{code:"dG9rZW5pemVyLnB1c2hfdG9faHViKCUyMm15LWF3ZXNvbWUtbW9kZWwlMjIp",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer.push_to_hub(<span class="hljs-string">&quot;my-awesome-model&quot;</span>)'}}),ea=new y({props:{code:"dGZfbW9kZWwucHVzaF90b19odWIoJTIybXktYXdlc29tZS1tb2RlbCUyMik=",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>tf_model.push_to_hub(<span class="hljs-string">&quot;my-awesome-model&quot;</span>)'}}),oa=new L({}),la=new L({}),{c(){_=r("meta"),V=c(),$=r("h1"),M=r("a"),G=r("span"),m(k.$$.fragment),C=c(),B=r("span"),Zr=s("Compartir un modelo"),Xo=c(),da=r("p"),Hr=s("Los \xFAltimos dos tutoriales mostraron c\xF3mo puedes realizar fine-tunning a un modelo con PyTorch, Keras y \u{1F917} Accelerate para configuraciones distribuidas. \xA1El siguiente paso es compartir tu modelo con la comunidad! En Hugging Face creemos en compartir abiertamente a todos el conocimiento y los recursos para democratizar la inteligencia artificial. En este sentido, te animamos a considerar compartir tu modelo con la comunidad, de esta forma ayudas a otros ahorrando tiempo y recursos."),zo=c(),x=r("p"),qr=s("En este tutorial aprender\xE1s dos m\xE9todos para compartir un modelo trained o fine-tuned en el "),ke=r("a"),Ar=s("Model Hub"),Ur=s(":"),Io=c(),Q=r("ul"),Ra=r("li"),Gr=s("Mediante C\xF3digo, enviando (push) tus archivos al Hub."),Rr=c(),Xa=r("li"),Xr=s("Con la interfaz Web, con Drag-and-drop de tus archivos al Hub."),So=c(),T=r("iframe"),No=c(),m(O.$$.fragment),Yo=c(),R=r("h2"),K=r("a"),za=r("span"),m(Te.$$.fragment),zr=c(),Ia=r("span"),Ir=s("Caracter\xEDsticas de los repositorios"),Do=c(),ma=r("p"),Sr=s("Cada repositorio en el Model Hub se comporta como cualquier otro repositorio en GitHub. Nuestros repositorios ofrecen versioning, commit history, y la habilidad para visualizar diferencias."),Lo=c(),J=r("p"),Nr=s("El versioning desarrollado dentro del Model Hub es basado en git y "),Me=r("a"),Yr=s("git-lfs"),Dr=s(". En otras palabras, puedes tratar un modelo como un repositorio, brindando un mejor control de acceso y escalabilidad. Version control permite "),Sa=r("em"),Lr=s("revisions"),Vr=s(", un m\xE9todo para apuntar a una versi\xF3n espec\xEDfica de un modelo utilizando un commit hash, tag o branch."),Vo=c(),ee=r("p"),Br=s("Como resultado, puedes cargar una versi\xF3n espec\xEDfica del modelo con el par\xE1metro "),Na=r("code"),xr=s("revision"),Qr=s(":"),Bo=c(),m(je.$$.fragment),xo=c(),fa=r("p"),Or=s("Los archivos son editados f\xE1cilmente dentro de un repositorio. Incluso puedes observar el commit history y las diferencias:"),Qo=c(),ha=r("p"),ba=r("img"),Oo=c(),X=r("h2"),ae=r("a"),Ya=r("span"),m(Ce.$$.fragment),Kr=c(),Da=r("span"),el=s("Configuraci\xF3n inicial"),Ko=c(),va=r("p"),al=s("Antes de compartir un modelo al Hub necesitar\xE1s tus credenciales de Hugging Face. Si tienes acceso a una terminal ejecuta el siguiente comando en el entorno virtual donde \u{1F917} Transformers est\xE9 instalado. Esto guardar\xE1 tu token de acceso dentro de tu carpeta cache de Hugging Face (~/.cache/ by default):"),et=c(),m(Je.$$.fragment),at=c(),oe=r("p"),ol=s("Si usas un notebook como Jupyter o Colaboratory, aseg\xFArate de tener instalada la biblioteca "),We=r("a"),La=r("code"),tl=s("huggingface_hub"),rl=s(". Esta biblioteca te permitir\xE1 interactuar por c\xF3digo con el Hub."),ot=c(),m(Fe.$$.fragment),tt=c(),W=r("p"),ll=s("Luego usa "),Va=r("code"),sl=s("notebook_login"),il=s(" para iniciar sesi\xF3n al Hub, y sigue el link "),Pe=r("a"),nl=s("aqu\xED"),ul=s(" para generar un token con el que iniciaremos sesi\xF3n:"),rt=c(),m(Ze.$$.fragment),lt=c(),z=r("h2"),te=r("a"),Ba=r("span"),m(He.$$.fragment),cl=c(),xa=r("span"),pl=s("Convertir un modelo para todos los Frameworks"),st=c(),ga=r("p"),dl=s("Para asegurarnos que tu modelo pueda ser usado por alguien que est\xE9 trabajando con un framework diferente, te recomendamos convertir y subir tu modelo con checkpoints de pytorch y tensorflow. Aunque los usuarios a\xFAn son capaces de cargar su modelo desde un framework diferente, si se omite este paso ser\xE1 m\xE1s lento debido a que \u{1F917} Transformers necesitar\xE1 convertir el checkpoint sobre-la-marcha."),it=c(),re=r("p"),ml=s("Convertir un checkpoint para otro framework es f\xE1cil. Aseg\xFArate tener Pytorch y TensorFlow instalado (V\xE9ase "),_a=r("a"),fl=s("aqu\xED"),hl=s(" para instrucciones de instalaci\xF3n), y luego encuentra el modelo espec\xEDfico para tu tarea en el otro Framework."),nt=c(),le=r("p"),bl=s("Por ejemplo, supongamos que has entrenado DistilBert para clasificaci\xF3n de secuencias en PyTorch y quieres convertirlo a su equivalente en TensorFlow. Cargas el equivalente en TensorFlow de tu modelo para tu tarea y especificas "),Qa=r("code"),vl=s("from_pt=True"),gl=s(" as\xED \u{1F917} Transformers convertir\xE1 el Pytorch checkpoint a un TensorFlow Checkpoint:"),ut=c(),m(qe.$$.fragment),ct=c(),ya=r("p"),_l=s("Luego guardas tu nuevo modelo TensorFlow con su nuevo checkpoint:"),pt=c(),m(Ae.$$.fragment),dt=c(),se=r("p"),yl=s("De manera similar, especificas "),Oa=r("code"),$l=s("from_tf=True"),El=s(" para convertir un checkpoint de TensorFlow a Pytorch:"),mt=c(),m(Ue.$$.fragment),ft=c(),$a=r("p"),wl=s("Si alg\xFAn modelo est\xE1 disponible en Flax, tambi\xE9n puedes convertir un checkpoint de Pytorch a Flax:"),ht=c(),m(Ge.$$.fragment),bt=c(),I=r("h2"),ie=r("a"),Ka=r("span"),m(Re.$$.fragment),kl=c(),Ea=r("span"),Tl=s("Compartir un modelo con "),eo=r("code"),Ml=s("Trainer"),vt=c(),m(Xe.$$.fragment),gt=c(),E=r("p"),jl=s("Compartir un modelo al Hub es tan simple como a\xF1adir un par\xE1metro extra o un callback. Si recuerdas del tutorial de "),wa=r("a"),Cl=s("fine-tuning tutorial"),Jl=s(", la clase "),ao=r("code"),Wl=s("TrainingArguments"),Fl=s(" es donde especificas los Hiperpar\xE1metros y opciones de entrenamiento adicionales. Una de estas opciones incluye la habilidad de compartir un modelo directamente al Hub. Para ello configuras "),oo=r("code"),Pl=s("push_to_hub=True"),Zl=s(" dentro de "),to=r("code"),Hl=s("TrainingArguments"),ql=s(":"),_t=c(),m(ze.$$.fragment),yt=c(),ne=r("p"),Al=s("A continuaci\xF3n, como usualmente, pasa tus argumentos de entrenamiento a "),ro=r("code"),Ul=s("Trainer"),Gl=s(":"),$t=c(),m(Ie.$$.fragment),Et=c(),F=r("p"),Rl=s("Luego que realizas fine-tune a tu modelo, llamas "),lo=r("code"),Xl=s("push_to_hub()"),zl=s(" en "),so=r("code"),Il=s("Trainer"),Sl=s(" para enviar el modelo al Hub!\u{1F917} Transformers incluso a\xF1adir\xE1 autom\xE1ticamente los Hiperpar\xE1metros de entrenamiento, resultados de entrenamiento y versiones del Framework a tu model card!"),wt=c(),m(Se.$$.fragment),kt=c(),S=r("h2"),ue=r("a"),io=r("span"),m(Ne.$$.fragment),Nl=c(),ka=r("span"),Yl=s("Compartir un modelo con "),no=r("code"),Dl=s("PushToHubCallback"),Tt=c(),P=r("p"),Ll=s("Los usuarios de TensorFlow pueden activar la misma funcionalidad con "),uo=r("code"),Vl=s("PushToHubCallback"),Bl=s(". En la funcion "),co=r("code"),xl=s("PushToHubCallback"),Ql=s(", agrega:"),Mt=c(),Z=r("ul"),po=r("li"),Ol=s("Un directorio de salida para tu modelo."),Kl=c(),mo=r("li"),es=s("Un tokenizador."),as=c(),Ye=r("li"),os=s("El "),fo=r("code"),ts=s("hub_model_id"),rs=s(", el cual es tu usuario Hub y el nombre del modelo."),jt=c(),m(De.$$.fragment),Ct=c(),ce=r("p"),ls=s("Agregamos el callback a "),Le=r("a"),ho=r("code"),ss=s("fit"),is=s(", y \u{1F917} Transformers enviar\xE1 el modelo entrenado al Hub:"),Jt=c(),m(Ve.$$.fragment),Wt=c(),N=r("h2"),pe=r("a"),bo=r("span"),m(Be.$$.fragment),ns=c(),Ta=r("span"),us=s("Usando la funci\xF3n "),vo=r("code"),cs=s("push_to_hub"),Ft=c(),de=r("p"),ps=s("Puedes llamar la funci\xF3n "),go=r("code"),ds=s("push_to_hub"),ms=s(" directamente en tu modelo para subirlo al Hub."),Pt=c(),me=r("p"),fs=s("Especifica el nombre del modelo en "),_o=r("code"),hs=s("push_to_hub"),bs=s(":"),Zt=c(),m(xe.$$.fragment),Ht=c(),H=r("p"),vs=s("Esto crear\xE1 un repositorio bajo tu usuario con el nombre del modelo "),yo=r("code"),gs=s("my-awesome-model"),_s=s(". Ahora los usuarios pueden cargar tu modelo con la funci\xF3n "),$o=r("code"),ys=s("from_pretrained"),$s=s(":"),qt=c(),m(Qe.$$.fragment),At=c(),fe=r("p"),Es=s("Si perteneces a una organizaci\xF3n y quieres compartir tu modelo bajo el nombre de la organizaci\xF3n, a\xF1ade el par\xE1metro "),Eo=r("code"),ws=s("organization"),ks=s(":"),Ut=c(),m(Oe.$$.fragment),Gt=c(),he=r("p"),Ts=s("La funci\xF3n "),wo=r("code"),Ms=s("push_to_hub"),js=s(" tambi\xE9n puede ser usada para a\xF1adir archivos al repositorio del modelo. Por ejemplo, a\xF1ade un tokenizador al repositorio:"),Rt=c(),m(Ke.$$.fragment),Xt=c(),Ma=r("p"),Cs=s("O quiz\xE1s te gustar\xEDa a\xF1adir la versi\xF3n de TensorFlow de tu modelo fine-tuned en Pytorch:"),zt=c(),m(ea.$$.fragment),It=c(),be=r("p"),Js=s("Ahora, cuando navegues a tu perfil en Hugging Face, deber\xEDas observar el repositorio de tu modelo creado recientemente. Si das click en el tab "),ko=r("strong"),Ws=s("Files"),Fs=s(" observar\xE1s todos los archivos que has subido al repositorio."),St=c(),ve=r("p"),Ps=s("Para m\xE1s detalles sobre c\xF3mo crear y subir archivos al repositorio, consulta la "),aa=r("a"),Zs=s("documentaci\xF3n del Hub"),Hs=s("."),Nt=c(),Y=r("h2"),ge=r("a"),To=r("span"),m(oa.$$.fragment),qs=c(),Mo=r("span"),As=s("Compartir con la interfaz web"),Yt=c(),_e=r("p"),Us=s("Los usuarios que prefieran un enfoque no-code tienen la opci\xF3n de cargar su modelo a trav\xE9s de la interfaz gr\xE1fica del Hub. Visita la p\xE1gina "),ta=r("a"),Gs=s("huggingface.co/new"),Rs=s(" para crear un nuevo repositorio:"),Dt=c(),ja=r("p"),Ca=r("img"),Lt=c(),Ja=r("p"),Xs=s("Desde aqu\xED, a\xF1ade informaci\xF3n acerca del modelo:"),Vt=c(),j=r("ul"),ra=r("li"),zs=s("Selecciona el "),jo=r("strong"),Is=s("owner"),Ss=s(" (la persona propietaria) del repositorio. Puedes ser t\xFA o cualquier organizaci\xF3n a la que pertenezcas."),Ns=c(),Co=r("li"),Ys=s("Escoge un nombre para tu modelo. Tambi\xE9n ser\xE1 el nombre del repositorio."),Ds=c(),Jo=r("li"),Ls=s("Elige si tu modelo es p\xFAblico o privado."),Vs=c(),Wo=r("li"),Bs=s("Especifica la licencia que usar\xE1 tu modelo."),Bt=c(),q=r("p"),xs=s("Ahora puedes hacer click en el tab "),Fo=r("strong"),Qs=s("Files"),Os=s(" y luego en el bot\xF3n "),Po=r("strong"),Ks=s("Add file"),ei=s(" para subir un nuevo archivo a tu repositorio. Luego arrastra y suelta un archivo a subir y le a\xF1ades un mensaje al commit."),xt=c(),Wa=r("p"),Fa=r("img"),Qt=c(),D=r("h2"),ye=r("a"),Zo=r("span"),m(la.$$.fragment),ai=c(),Ho=r("span"),oi=s("A\xF1adiendo una tarjeta de modelo"),Ot=c(),$e=r("p"),ti=s("Para asegurarnos que los usuarios entiendan las capacidades de tu modelo, sus limitaciones, posibles sesgos y consideraciones \xE9ticas, por favor a\xF1ade una tarjeta (como una tarjeta de presentaci\xF3n) al repositorio del modelo. La tarjeta de modelo es definida en el archivo "),qo=r("code"),ri=s("README.md"),li=s(". Puedes agregar una de la siguiente manera:"),Kt=c(),Ee=r("ul"),sa=r("li"),si=s("Elaborando y subiendo manualmente el archivo"),Ao=r("code"),ii=s("README.md"),ni=s("."),ui=c(),ia=r("li"),ci=s("Dando click en el bot\xF3n "),Uo=r("strong"),pi=s("Edit model card"),di=s(" dentro del repositorio."),er=c(),w=r("p"),mi=s("Toma un momento para ver la "),na=r("a"),fi=s("tarjeta de modelo"),hi=s(" de DistilBert para que tengas un buen ejemplo del tipo de informaci\xF3n que deber\xEDa incluir. Consulta "),ua=r("a"),bi=s("la documentaci\xF3n"),vi=s(" para m\xE1s detalles acerca de otras opciones que puedes controlar dentro del archivo "),Go=r("code"),gi=s("README.md"),_i=s(" como la huella de carbono del modelo o ejemplos de widgets. Consulta la documentaci\xF3n [aqu\xED] ("),ca=r("a"),yi=s("https://huggingface.co/docs/hub/models-cards"),$i=s(")."),this.h()},l(e){const t=mu('[data-svelte="svelte-1phssyn"]',document.head);_=l(t,"META",{name:!0,content:!0}),t.forEach(a),V=p(e),$=l(e,"H1",{class:!0});var pa=n($);M=l(pa,"A",{id:!0,class:!0,href:!0});var Ji=n(M);G=l(Ji,"SPAN",{});var Wi=n(G);f(k.$$.fragment,Wi),Wi.forEach(a),Ji.forEach(a),C=p(pa),B=l(pa,"SPAN",{});var Fi=n(B);Zr=i(Fi,"Compartir un modelo"),Fi.forEach(a),pa.forEach(a),Xo=p(e),da=l(e,"P",{});var Pi=n(da);Hr=i(Pi,"Los \xFAltimos dos tutoriales mostraron c\xF3mo puedes realizar fine-tunning a un modelo con PyTorch, Keras y \u{1F917} Accelerate para configuraciones distribuidas. \xA1El siguiente paso es compartir tu modelo con la comunidad! En Hugging Face creemos en compartir abiertamente a todos el conocimiento y los recursos para democratizar la inteligencia artificial. En este sentido, te animamos a considerar compartir tu modelo con la comunidad, de esta forma ayudas a otros ahorrando tiempo y recursos."),Pi.forEach(a),zo=p(e),x=l(e,"P",{});var or=n(x);qr=i(or,"En este tutorial aprender\xE1s dos m\xE9todos para compartir un modelo trained o fine-tuned en el "),ke=l(or,"A",{href:!0,rel:!0});var Zi=n(ke);Ar=i(Zi,"Model Hub"),Zi.forEach(a),Ur=i(or,":"),or.forEach(a),Io=p(e),Q=l(e,"UL",{});var tr=n(Q);Ra=l(tr,"LI",{});var Hi=n(Ra);Gr=i(Hi,"Mediante C\xF3digo, enviando (push) tus archivos al Hub."),Hi.forEach(a),Rr=p(tr),Xa=l(tr,"LI",{});var qi=n(Xa);Xr=i(qi,"Con la interfaz Web, con Drag-and-drop de tus archivos al Hub."),qi.forEach(a),tr.forEach(a),So=p(e),T=l(e,"IFRAME",{width:!0,height:!0,src:!0,title:!0,frameborder:!0,allow:!0}),n(T).forEach(a),No=p(e),f(O.$$.fragment,e),Yo=p(e),R=l(e,"H2",{class:!0});var rr=n(R);K=l(rr,"A",{id:!0,class:!0,href:!0});var Ai=n(K);za=l(Ai,"SPAN",{});var Ui=n(za);f(Te.$$.fragment,Ui),Ui.forEach(a),Ai.forEach(a),zr=p(rr),Ia=l(rr,"SPAN",{});var Gi=n(Ia);Ir=i(Gi,"Caracter\xEDsticas de los repositorios"),Gi.forEach(a),rr.forEach(a),Do=p(e),ma=l(e,"P",{});var Ri=n(ma);Sr=i(Ri,"Cada repositorio en el Model Hub se comporta como cualquier otro repositorio en GitHub. Nuestros repositorios ofrecen versioning, commit history, y la habilidad para visualizar diferencias."),Ri.forEach(a),Lo=p(e),J=l(e,"P",{});var Pa=n(J);Nr=i(Pa,"El versioning desarrollado dentro del Model Hub es basado en git y "),Me=l(Pa,"A",{href:!0,rel:!0});var Xi=n(Me);Yr=i(Xi,"git-lfs"),Xi.forEach(a),Dr=i(Pa,". En otras palabras, puedes tratar un modelo como un repositorio, brindando un mejor control de acceso y escalabilidad. Version control permite "),Sa=l(Pa,"EM",{});var zi=n(Sa);Lr=i(zi,"revisions"),zi.forEach(a),Vr=i(Pa,", un m\xE9todo para apuntar a una versi\xF3n espec\xEDfica de un modelo utilizando un commit hash, tag o branch."),Pa.forEach(a),Vo=p(e),ee=l(e,"P",{});var lr=n(ee);Br=i(lr,"Como resultado, puedes cargar una versi\xF3n espec\xEDfica del modelo con el par\xE1metro "),Na=l(lr,"CODE",{});var Ii=n(Na);xr=i(Ii,"revision"),Ii.forEach(a),Qr=i(lr,":"),lr.forEach(a),Bo=p(e),f(je.$$.fragment,e),xo=p(e),fa=l(e,"P",{});var Si=n(fa);Or=i(Si,"Los archivos son editados f\xE1cilmente dentro de un repositorio. Incluso puedes observar el commit history y las diferencias:"),Si.forEach(a),Qo=p(e),ha=l(e,"P",{});var Ni=n(ha);ba=l(Ni,"IMG",{src:!0,alt:!0}),Ni.forEach(a),Oo=p(e),X=l(e,"H2",{class:!0});var sr=n(X);ae=l(sr,"A",{id:!0,class:!0,href:!0});var Yi=n(ae);Ya=l(Yi,"SPAN",{});var Di=n(Ya);f(Ce.$$.fragment,Di),Di.forEach(a),Yi.forEach(a),Kr=p(sr),Da=l(sr,"SPAN",{});var Li=n(Da);el=i(Li,"Configuraci\xF3n inicial"),Li.forEach(a),sr.forEach(a),Ko=p(e),va=l(e,"P",{});var Vi=n(va);al=i(Vi,"Antes de compartir un modelo al Hub necesitar\xE1s tus credenciales de Hugging Face. Si tienes acceso a una terminal ejecuta el siguiente comando en el entorno virtual donde \u{1F917} Transformers est\xE9 instalado. Esto guardar\xE1 tu token de acceso dentro de tu carpeta cache de Hugging Face (~/.cache/ by default):"),Vi.forEach(a),et=p(e),f(Je.$$.fragment,e),at=p(e),oe=l(e,"P",{});var ir=n(oe);ol=i(ir,"Si usas un notebook como Jupyter o Colaboratory, aseg\xFArate de tener instalada la biblioteca "),We=l(ir,"A",{href:!0,rel:!0});var Bi=n(We);La=l(Bi,"CODE",{});var xi=n(La);tl=i(xi,"huggingface_hub"),xi.forEach(a),Bi.forEach(a),rl=i(ir,". Esta biblioteca te permitir\xE1 interactuar por c\xF3digo con el Hub."),ir.forEach(a),ot=p(e),f(Fe.$$.fragment,e),tt=p(e),W=l(e,"P",{});var Za=n(W);ll=i(Za,"Luego usa "),Va=l(Za,"CODE",{});var Qi=n(Va);sl=i(Qi,"notebook_login"),Qi.forEach(a),il=i(Za," para iniciar sesi\xF3n al Hub, y sigue el link "),Pe=l(Za,"A",{href:!0,rel:!0});var Oi=n(Pe);nl=i(Oi,"aqu\xED"),Oi.forEach(a),ul=i(Za," para generar un token con el que iniciaremos sesi\xF3n:"),Za.forEach(a),rt=p(e),f(Ze.$$.fragment,e),lt=p(e),z=l(e,"H2",{class:!0});var nr=n(z);te=l(nr,"A",{id:!0,class:!0,href:!0});var Ki=n(te);Ba=l(Ki,"SPAN",{});var en=n(Ba);f(He.$$.fragment,en),en.forEach(a),Ki.forEach(a),cl=p(nr),xa=l(nr,"SPAN",{});var an=n(xa);pl=i(an,"Convertir un modelo para todos los Frameworks"),an.forEach(a),nr.forEach(a),st=p(e),ga=l(e,"P",{});var on=n(ga);dl=i(on,"Para asegurarnos que tu modelo pueda ser usado por alguien que est\xE9 trabajando con un framework diferente, te recomendamos convertir y subir tu modelo con checkpoints de pytorch y tensorflow. Aunque los usuarios a\xFAn son capaces de cargar su modelo desde un framework diferente, si se omite este paso ser\xE1 m\xE1s lento debido a que \u{1F917} Transformers necesitar\xE1 convertir el checkpoint sobre-la-marcha."),on.forEach(a),it=p(e),re=l(e,"P",{});var ur=n(re);ml=i(ur,"Convertir un checkpoint para otro framework es f\xE1cil. Aseg\xFArate tener Pytorch y TensorFlow instalado (V\xE9ase "),_a=l(ur,"A",{href:!0});var tn=n(_a);fl=i(tn,"aqu\xED"),tn.forEach(a),hl=i(ur," para instrucciones de instalaci\xF3n), y luego encuentra el modelo espec\xEDfico para tu tarea en el otro Framework."),ur.forEach(a),nt=p(e),le=l(e,"P",{});var cr=n(le);bl=i(cr,"Por ejemplo, supongamos que has entrenado DistilBert para clasificaci\xF3n de secuencias en PyTorch y quieres convertirlo a su equivalente en TensorFlow. Cargas el equivalente en TensorFlow de tu modelo para tu tarea y especificas "),Qa=l(cr,"CODE",{});var rn=n(Qa);vl=i(rn,"from_pt=True"),rn.forEach(a),gl=i(cr," as\xED \u{1F917} Transformers convertir\xE1 el Pytorch checkpoint a un TensorFlow Checkpoint:"),cr.forEach(a),ut=p(e),f(qe.$$.fragment,e),ct=p(e),ya=l(e,"P",{});var ln=n(ya);_l=i(ln,"Luego guardas tu nuevo modelo TensorFlow con su nuevo checkpoint:"),ln.forEach(a),pt=p(e),f(Ae.$$.fragment,e),dt=p(e),se=l(e,"P",{});var pr=n(se);yl=i(pr,"De manera similar, especificas "),Oa=l(pr,"CODE",{});var sn=n(Oa);$l=i(sn,"from_tf=True"),sn.forEach(a),El=i(pr," para convertir un checkpoint de TensorFlow a Pytorch:"),pr.forEach(a),mt=p(e),f(Ue.$$.fragment,e),ft=p(e),$a=l(e,"P",{});var nn=n($a);wl=i(nn,"Si alg\xFAn modelo est\xE1 disponible en Flax, tambi\xE9n puedes convertir un checkpoint de Pytorch a Flax:"),nn.forEach(a),ht=p(e),f(Ge.$$.fragment,e),bt=p(e),I=l(e,"H2",{class:!0});var dr=n(I);ie=l(dr,"A",{id:!0,class:!0,href:!0});var un=n(ie);Ka=l(un,"SPAN",{});var cn=n(Ka);f(Re.$$.fragment,cn),cn.forEach(a),un.forEach(a),kl=p(dr),Ea=l(dr,"SPAN",{});var Ei=n(Ea);Tl=i(Ei,"Compartir un modelo con "),eo=l(Ei,"CODE",{});var pn=n(eo);Ml=i(pn,"Trainer"),pn.forEach(a),Ei.forEach(a),dr.forEach(a),vt=p(e),f(Xe.$$.fragment,e),gt=p(e),E=l(e,"P",{});var A=n(E);jl=i(A,"Compartir un modelo al Hub es tan simple como a\xF1adir un par\xE1metro extra o un callback. Si recuerdas del tutorial de "),wa=l(A,"A",{href:!0});var dn=n(wa);Cl=i(dn,"fine-tuning tutorial"),dn.forEach(a),Jl=i(A,", la clase "),ao=l(A,"CODE",{});var mn=n(ao);Wl=i(mn,"TrainingArguments"),mn.forEach(a),Fl=i(A," es donde especificas los Hiperpar\xE1metros y opciones de entrenamiento adicionales. Una de estas opciones incluye la habilidad de compartir un modelo directamente al Hub. Para ello configuras "),oo=l(A,"CODE",{});var fn=n(oo);Pl=i(fn,"push_to_hub=True"),fn.forEach(a),Zl=i(A," dentro de "),to=l(A,"CODE",{});var hn=n(to);Hl=i(hn,"TrainingArguments"),hn.forEach(a),ql=i(A,":"),A.forEach(a),_t=p(e),f(ze.$$.fragment,e),yt=p(e),ne=l(e,"P",{});var mr=n(ne);Al=i(mr,"A continuaci\xF3n, como usualmente, pasa tus argumentos de entrenamiento a "),ro=l(mr,"CODE",{});var bn=n(ro);Ul=i(bn,"Trainer"),bn.forEach(a),Gl=i(mr,":"),mr.forEach(a),$t=p(e),f(Ie.$$.fragment,e),Et=p(e),F=l(e,"P",{});var Ha=n(F);Rl=i(Ha,"Luego que realizas fine-tune a tu modelo, llamas "),lo=l(Ha,"CODE",{});var vn=n(lo);Xl=i(vn,"push_to_hub()"),vn.forEach(a),zl=i(Ha," en "),so=l(Ha,"CODE",{});var gn=n(so);Il=i(gn,"Trainer"),gn.forEach(a),Sl=i(Ha," para enviar el modelo al Hub!\u{1F917} Transformers incluso a\xF1adir\xE1 autom\xE1ticamente los Hiperpar\xE1metros de entrenamiento, resultados de entrenamiento y versiones del Framework a tu model card!"),Ha.forEach(a),wt=p(e),f(Se.$$.fragment,e),kt=p(e),S=l(e,"H2",{class:!0});var fr=n(S);ue=l(fr,"A",{id:!0,class:!0,href:!0});var _n=n(ue);io=l(_n,"SPAN",{});var yn=n(io);f(Ne.$$.fragment,yn),yn.forEach(a),_n.forEach(a),Nl=p(fr),ka=l(fr,"SPAN",{});var wi=n(ka);Yl=i(wi,"Compartir un modelo con "),no=l(wi,"CODE",{});var $n=n(no);Dl=i($n,"PushToHubCallback"),$n.forEach(a),wi.forEach(a),fr.forEach(a),Tt=p(e),P=l(e,"P",{});var qa=n(P);Ll=i(qa,"Los usuarios de TensorFlow pueden activar la misma funcionalidad con "),uo=l(qa,"CODE",{});var En=n(uo);Vl=i(En,"PushToHubCallback"),En.forEach(a),Bl=i(qa,". En la funcion "),co=l(qa,"CODE",{});var wn=n(co);xl=i(wn,"PushToHubCallback"),wn.forEach(a),Ql=i(qa,", agrega:"),qa.forEach(a),Mt=p(e),Z=l(e,"UL",{});var Aa=n(Z);po=l(Aa,"LI",{});var kn=n(po);Ol=i(kn,"Un directorio de salida para tu modelo."),kn.forEach(a),Kl=p(Aa),mo=l(Aa,"LI",{});var Tn=n(mo);es=i(Tn,"Un tokenizador."),Tn.forEach(a),as=p(Aa),Ye=l(Aa,"LI",{});var hr=n(Ye);os=i(hr,"El "),fo=l(hr,"CODE",{});var Mn=n(fo);ts=i(Mn,"hub_model_id"),Mn.forEach(a),rs=i(hr,", el cual es tu usuario Hub y el nombre del modelo."),hr.forEach(a),Aa.forEach(a),jt=p(e),f(De.$$.fragment,e),Ct=p(e),ce=l(e,"P",{});var br=n(ce);ls=i(br,"Agregamos el callback a "),Le=l(br,"A",{href:!0,rel:!0});var jn=n(Le);ho=l(jn,"CODE",{});var Cn=n(ho);ss=i(Cn,"fit"),Cn.forEach(a),jn.forEach(a),is=i(br,", y \u{1F917} Transformers enviar\xE1 el modelo entrenado al Hub:"),br.forEach(a),Jt=p(e),f(Ve.$$.fragment,e),Wt=p(e),N=l(e,"H2",{class:!0});var vr=n(N);pe=l(vr,"A",{id:!0,class:!0,href:!0});var Jn=n(pe);bo=l(Jn,"SPAN",{});var Wn=n(bo);f(Be.$$.fragment,Wn),Wn.forEach(a),Jn.forEach(a),ns=p(vr),Ta=l(vr,"SPAN",{});var ki=n(Ta);us=i(ki,"Usando la funci\xF3n "),vo=l(ki,"CODE",{});var Fn=n(vo);cs=i(Fn,"push_to_hub"),Fn.forEach(a),ki.forEach(a),vr.forEach(a),Ft=p(e),de=l(e,"P",{});var gr=n(de);ps=i(gr,"Puedes llamar la funci\xF3n "),go=l(gr,"CODE",{});var Pn=n(go);ds=i(Pn,"push_to_hub"),Pn.forEach(a),ms=i(gr," directamente en tu modelo para subirlo al Hub."),gr.forEach(a),Pt=p(e),me=l(e,"P",{});var _r=n(me);fs=i(_r,"Especifica el nombre del modelo en "),_o=l(_r,"CODE",{});var Zn=n(_o);hs=i(Zn,"push_to_hub"),Zn.forEach(a),bs=i(_r,":"),_r.forEach(a),Zt=p(e),f(xe.$$.fragment,e),Ht=p(e),H=l(e,"P",{});var Ua=n(H);vs=i(Ua,"Esto crear\xE1 un repositorio bajo tu usuario con el nombre del modelo "),yo=l(Ua,"CODE",{});var Hn=n(yo);gs=i(Hn,"my-awesome-model"),Hn.forEach(a),_s=i(Ua,". Ahora los usuarios pueden cargar tu modelo con la funci\xF3n "),$o=l(Ua,"CODE",{});var qn=n($o);ys=i(qn,"from_pretrained"),qn.forEach(a),$s=i(Ua,":"),Ua.forEach(a),qt=p(e),f(Qe.$$.fragment,e),At=p(e),fe=l(e,"P",{});var yr=n(fe);Es=i(yr,"Si perteneces a una organizaci\xF3n y quieres compartir tu modelo bajo el nombre de la organizaci\xF3n, a\xF1ade el par\xE1metro "),Eo=l(yr,"CODE",{});var An=n(Eo);ws=i(An,"organization"),An.forEach(a),ks=i(yr,":"),yr.forEach(a),Ut=p(e),f(Oe.$$.fragment,e),Gt=p(e),he=l(e,"P",{});var $r=n(he);Ts=i($r,"La funci\xF3n "),wo=l($r,"CODE",{});var Un=n(wo);Ms=i(Un,"push_to_hub"),Un.forEach(a),js=i($r," tambi\xE9n puede ser usada para a\xF1adir archivos al repositorio del modelo. Por ejemplo, a\xF1ade un tokenizador al repositorio:"),$r.forEach(a),Rt=p(e),f(Ke.$$.fragment,e),Xt=p(e),Ma=l(e,"P",{});var Gn=n(Ma);Cs=i(Gn,"O quiz\xE1s te gustar\xEDa a\xF1adir la versi\xF3n de TensorFlow de tu modelo fine-tuned en Pytorch:"),Gn.forEach(a),zt=p(e),f(ea.$$.fragment,e),It=p(e),be=l(e,"P",{});var Er=n(be);Js=i(Er,"Ahora, cuando navegues a tu perfil en Hugging Face, deber\xEDas observar el repositorio de tu modelo creado recientemente. Si das click en el tab "),ko=l(Er,"STRONG",{});var Rn=n(ko);Ws=i(Rn,"Files"),Rn.forEach(a),Fs=i(Er," observar\xE1s todos los archivos que has subido al repositorio."),Er.forEach(a),St=p(e),ve=l(e,"P",{});var wr=n(ve);Ps=i(wr,"Para m\xE1s detalles sobre c\xF3mo crear y subir archivos al repositorio, consulta la "),aa=l(wr,"A",{href:!0,rel:!0});var Xn=n(aa);Zs=i(Xn,"documentaci\xF3n del Hub"),Xn.forEach(a),Hs=i(wr,"."),wr.forEach(a),Nt=p(e),Y=l(e,"H2",{class:!0});var kr=n(Y);ge=l(kr,"A",{id:!0,class:!0,href:!0});var zn=n(ge);To=l(zn,"SPAN",{});var In=n(To);f(oa.$$.fragment,In),In.forEach(a),zn.forEach(a),qs=p(kr),Mo=l(kr,"SPAN",{});var Sn=n(Mo);As=i(Sn,"Compartir con la interfaz web"),Sn.forEach(a),kr.forEach(a),Yt=p(e),_e=l(e,"P",{});var Tr=n(_e);Us=i(Tr,"Los usuarios que prefieran un enfoque no-code tienen la opci\xF3n de cargar su modelo a trav\xE9s de la interfaz gr\xE1fica del Hub. Visita la p\xE1gina "),ta=l(Tr,"A",{href:!0,rel:!0});var Nn=n(ta);Gs=i(Nn,"huggingface.co/new"),Nn.forEach(a),Rs=i(Tr," para crear un nuevo repositorio:"),Tr.forEach(a),Dt=p(e),ja=l(e,"P",{});var Yn=n(ja);Ca=l(Yn,"IMG",{src:!0,alt:!0}),Yn.forEach(a),Lt=p(e),Ja=l(e,"P",{});var Dn=n(Ja);Xs=i(Dn,"Desde aqu\xED, a\xF1ade informaci\xF3n acerca del modelo:"),Dn.forEach(a),Vt=p(e),j=l(e,"UL",{});var we=n(j);ra=l(we,"LI",{});var Mr=n(ra);zs=i(Mr,"Selecciona el "),jo=l(Mr,"STRONG",{});var Ln=n(jo);Is=i(Ln,"owner"),Ln.forEach(a),Ss=i(Mr," (la persona propietaria) del repositorio. Puedes ser t\xFA o cualquier organizaci\xF3n a la que pertenezcas."),Mr.forEach(a),Ns=p(we),Co=l(we,"LI",{});var Vn=n(Co);Ys=i(Vn,"Escoge un nombre para tu modelo. Tambi\xE9n ser\xE1 el nombre del repositorio."),Vn.forEach(a),Ds=p(we),Jo=l(we,"LI",{});var Bn=n(Jo);Ls=i(Bn,"Elige si tu modelo es p\xFAblico o privado."),Bn.forEach(a),Vs=p(we),Wo=l(we,"LI",{});var xn=n(Wo);Bs=i(xn,"Especifica la licencia que usar\xE1 tu modelo."),xn.forEach(a),we.forEach(a),Bt=p(e),q=l(e,"P",{});var Ga=n(q);xs=i(Ga,"Ahora puedes hacer click en el tab "),Fo=l(Ga,"STRONG",{});var Qn=n(Fo);Qs=i(Qn,"Files"),Qn.forEach(a),Os=i(Ga," y luego en el bot\xF3n "),Po=l(Ga,"STRONG",{});var On=n(Po);Ks=i(On,"Add file"),On.forEach(a),ei=i(Ga," para subir un nuevo archivo a tu repositorio. Luego arrastra y suelta un archivo a subir y le a\xF1ades un mensaje al commit."),Ga.forEach(a),xt=p(e),Wa=l(e,"P",{});var Kn=n(Wa);Fa=l(Kn,"IMG",{src:!0,alt:!0}),Kn.forEach(a),Qt=p(e),D=l(e,"H2",{class:!0});var jr=n(D);ye=l(jr,"A",{id:!0,class:!0,href:!0});var eu=n(ye);Zo=l(eu,"SPAN",{});var au=n(Zo);f(la.$$.fragment,au),au.forEach(a),eu.forEach(a),ai=p(jr),Ho=l(jr,"SPAN",{});var ou=n(Ho);oi=i(ou,"A\xF1adiendo una tarjeta de modelo"),ou.forEach(a),jr.forEach(a),Ot=p(e),$e=l(e,"P",{});var Cr=n($e);ti=i(Cr,"Para asegurarnos que los usuarios entiendan las capacidades de tu modelo, sus limitaciones, posibles sesgos y consideraciones \xE9ticas, por favor a\xF1ade una tarjeta (como una tarjeta de presentaci\xF3n) al repositorio del modelo. La tarjeta de modelo es definida en el archivo "),qo=l(Cr,"CODE",{});var tu=n(qo);ri=i(tu,"README.md"),tu.forEach(a),li=i(Cr,". Puedes agregar una de la siguiente manera:"),Cr.forEach(a),Kt=p(e),Ee=l(e,"UL",{});var Jr=n(Ee);sa=l(Jr,"LI",{});var Wr=n(sa);si=i(Wr,"Elaborando y subiendo manualmente el archivo"),Ao=l(Wr,"CODE",{});var ru=n(Ao);ii=i(ru,"README.md"),ru.forEach(a),ni=i(Wr,"."),Wr.forEach(a),ui=p(Jr),ia=l(Jr,"LI",{});var Fr=n(ia);ci=i(Fr,"Dando click en el bot\xF3n "),Uo=l(Fr,"STRONG",{});var lu=n(Uo);pi=i(lu,"Edit model card"),lu.forEach(a),di=i(Fr," dentro del repositorio."),Fr.forEach(a),Jr.forEach(a),er=p(e),w=l(e,"P",{});var U=n(w);mi=i(U,"Toma un momento para ver la "),na=l(U,"A",{href:!0,rel:!0});var su=n(na);fi=i(su,"tarjeta de modelo"),su.forEach(a),hi=i(U," de DistilBert para que tengas un buen ejemplo del tipo de informaci\xF3n que deber\xEDa incluir. Consulta "),ua=l(U,"A",{href:!0,rel:!0});var iu=n(ua);bi=i(iu,"la documentaci\xF3n"),iu.forEach(a),vi=i(U," para m\xE1s detalles acerca de otras opciones que puedes controlar dentro del archivo "),Go=l(U,"CODE",{});var nu=n(Go);gi=i(nu,"README.md"),nu.forEach(a),_i=i(U," como la huella de carbono del modelo o ejemplos de widgets. Consulta la documentaci\xF3n [aqu\xED] ("),ca=l(U,"A",{href:!0,rel:!0});var uu=n(ca);yi=i(uu,"https://huggingface.co/docs/hub/models-cards"),uu.forEach(a),$i=i(U,")."),U.forEach(a),this.h()},h(){d(_,"name","hf:doc:metadata"),d(_,"content",JSON.stringify(_u)),d(M,"id","compartir-un-modelo"),d(M,"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"),d(M,"href","#compartir-un-modelo"),d($,"class","relative group"),d(ke,"href","https://huggingface.co/models"),d(ke,"rel","nofollow"),d(T,"width","560"),d(T,"height","315"),Pr(T.src,Ti="https://www.youtube.com/embed/XvSGPZFEjDY")||d(T,"src",Ti),d(T,"title","YouTube video player"),d(T,"frameborder","0"),d(T,"allow",`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope;
picture-in-picture`),T.allowFullscreen=!0,d(K,"id","caractersticas-de-los-repositorios"),d(K,"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"),d(K,"href","#caractersticas-de-los-repositorios"),d(R,"class","relative group"),d(Me,"href","https://git-lfs.github.com/"),d(Me,"rel","nofollow"),Pr(ba.src,Mi="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/vis_diff.png")||d(ba,"src",Mi),d(ba,"alt","vis_diff"),d(ae,"id","configuracin-inicial"),d(ae,"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"),d(ae,"href","#configuracin-inicial"),d(X,"class","relative group"),d(We,"href","https://huggingface.co/docs/hub/adding-a-library"),d(We,"rel","nofollow"),d(Pe,"href","https://huggingface.co/settings/token"),d(Pe,"rel","nofollow"),d(te,"id","convertir-un-modelo-para-todos-los-frameworks"),d(te,"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"),d(te,"href","#convertir-un-modelo-para-todos-los-frameworks"),d(z,"class","relative group"),d(_a,"href","installation"),d(ie,"id","compartir-un-modelo-con-trainer"),d(ie,"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"),d(ie,"href","#compartir-un-modelo-con-trainer"),d(I,"class","relative group"),d(wa,"href","training"),d(ue,"id","compartir-un-modelo-con-pushtohubcallback"),d(ue,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),d(ue,"href","#compartir-un-modelo-con-pushtohubcallback"),d(S,"class","relative group"),d(Le,"href","https://keras.io/api/models/model_training_apis/"),d(Le,"rel","nofollow"),d(pe,"id","usando-la-funcin-pushtohub"),d(pe,"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"),d(pe,"href","#usando-la-funcin-pushtohub"),d(N,"class","relative group"),d(aa,"href","https://huggingface.co/docs/hub/how-to-upstream"),d(aa,"rel","nofollow"),d(ge,"id","compartir-con-la-interfaz-web"),d(ge,"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"),d(ge,"href","#compartir-con-la-interfaz-web"),d(Y,"class","relative group"),d(ta,"href","https://huggingface.co/new"),d(ta,"rel","nofollow"),Pr(Ca.src,ji="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/new_model_repo.png")||d(Ca,"src",ji),d(Ca,"alt","new_model_repo"),Pr(Fa.src,Ci="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/upload_file.png")||d(Fa,"src",Ci),d(Fa,"alt","upload_file"),d(ye,"id","aadiendo-una-tarjeta-de-modelo"),d(ye,"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"),d(ye,"href","#aadiendo-una-tarjeta-de-modelo"),d(D,"class","relative group"),d(na,"href","https://huggingface.co/distilbert-base-uncased"),d(na,"rel","nofollow"),d(ua,"href","https://huggingface.co/docs/hub/models-cards"),d(ua,"rel","nofollow"),d(ca,"href","https://huggingface.co/docs/hub/models-cards"),d(ca,"rel","nofollow")},m(e,t){o(document.head,_),u(e,V,t),u(e,$,t),o($,M),o(M,G),h(k,G,null),o($,C),o($,B),o(B,Zr),u(e,Xo,t),u(e,da,t),o(da,Hr),u(e,zo,t),u(e,x,t),o(x,qr),o(x,ke),o(ke,Ar),o(x,Ur),u(e,Io,t),u(e,Q,t),o(Q,Ra),o(Ra,Gr),o(Q,Rr),o(Q,Xa),o(Xa,Xr),u(e,So,t),u(e,T,t),u(e,No,t),h(O,e,t),u(e,Yo,t),u(e,R,t),o(R,K),o(K,za),h(Te,za,null),o(R,zr),o(R,Ia),o(Ia,Ir),u(e,Do,t),u(e,ma,t),o(ma,Sr),u(e,Lo,t),u(e,J,t),o(J,Nr),o(J,Me),o(Me,Yr),o(J,Dr),o(J,Sa),o(Sa,Lr),o(J,Vr),u(e,Vo,t),u(e,ee,t),o(ee,Br),o(ee,Na),o(Na,xr),o(ee,Qr),u(e,Bo,t),h(je,e,t),u(e,xo,t),u(e,fa,t),o(fa,Or),u(e,Qo,t),u(e,ha,t),o(ha,ba),u(e,Oo,t),u(e,X,t),o(X,ae),o(ae,Ya),h(Ce,Ya,null),o(X,Kr),o(X,Da),o(Da,el),u(e,Ko,t),u(e,va,t),o(va,al),u(e,et,t),h(Je,e,t),u(e,at,t),u(e,oe,t),o(oe,ol),o(oe,We),o(We,La),o(La,tl),o(oe,rl),u(e,ot,t),h(Fe,e,t),u(e,tt,t),u(e,W,t),o(W,ll),o(W,Va),o(Va,sl),o(W,il),o(W,Pe),o(Pe,nl),o(W,ul),u(e,rt,t),h(Ze,e,t),u(e,lt,t),u(e,z,t),o(z,te),o(te,Ba),h(He,Ba,null),o(z,cl),o(z,xa),o(xa,pl),u(e,st,t),u(e,ga,t),o(ga,dl),u(e,it,t),u(e,re,t),o(re,ml),o(re,_a),o(_a,fl),o(re,hl),u(e,nt,t),u(e,le,t),o(le,bl),o(le,Qa),o(Qa,vl),o(le,gl),u(e,ut,t),h(qe,e,t),u(e,ct,t),u(e,ya,t),o(ya,_l),u(e,pt,t),h(Ae,e,t),u(e,dt,t),u(e,se,t),o(se,yl),o(se,Oa),o(Oa,$l),o(se,El),u(e,mt,t),h(Ue,e,t),u(e,ft,t),u(e,$a,t),o($a,wl),u(e,ht,t),h(Ge,e,t),u(e,bt,t),u(e,I,t),o(I,ie),o(ie,Ka),h(Re,Ka,null),o(I,kl),o(I,Ea),o(Ea,Tl),o(Ea,eo),o(eo,Ml),u(e,vt,t),h(Xe,e,t),u(e,gt,t),u(e,E,t),o(E,jl),o(E,wa),o(wa,Cl),o(E,Jl),o(E,ao),o(ao,Wl),o(E,Fl),o(E,oo),o(oo,Pl),o(E,Zl),o(E,to),o(to,Hl),o(E,ql),u(e,_t,t),h(ze,e,t),u(e,yt,t),u(e,ne,t),o(ne,Al),o(ne,ro),o(ro,Ul),o(ne,Gl),u(e,$t,t),h(Ie,e,t),u(e,Et,t),u(e,F,t),o(F,Rl),o(F,lo),o(lo,Xl),o(F,zl),o(F,so),o(so,Il),o(F,Sl),u(e,wt,t),h(Se,e,t),u(e,kt,t),u(e,S,t),o(S,ue),o(ue,io),h(Ne,io,null),o(S,Nl),o(S,ka),o(ka,Yl),o(ka,no),o(no,Dl),u(e,Tt,t),u(e,P,t),o(P,Ll),o(P,uo),o(uo,Vl),o(P,Bl),o(P,co),o(co,xl),o(P,Ql),u(e,Mt,t),u(e,Z,t),o(Z,po),o(po,Ol),o(Z,Kl),o(Z,mo),o(mo,es),o(Z,as),o(Z,Ye),o(Ye,os),o(Ye,fo),o(fo,ts),o(Ye,rs),u(e,jt,t),h(De,e,t),u(e,Ct,t),u(e,ce,t),o(ce,ls),o(ce,Le),o(Le,ho),o(ho,ss),o(ce,is),u(e,Jt,t),h(Ve,e,t),u(e,Wt,t),u(e,N,t),o(N,pe),o(pe,bo),h(Be,bo,null),o(N,ns),o(N,Ta),o(Ta,us),o(Ta,vo),o(vo,cs),u(e,Ft,t),u(e,de,t),o(de,ps),o(de,go),o(go,ds),o(de,ms),u(e,Pt,t),u(e,me,t),o(me,fs),o(me,_o),o(_o,hs),o(me,bs),u(e,Zt,t),h(xe,e,t),u(e,Ht,t),u(e,H,t),o(H,vs),o(H,yo),o(yo,gs),o(H,_s),o(H,$o),o($o,ys),o(H,$s),u(e,qt,t),h(Qe,e,t),u(e,At,t),u(e,fe,t),o(fe,Es),o(fe,Eo),o(Eo,ws),o(fe,ks),u(e,Ut,t),h(Oe,e,t),u(e,Gt,t),u(e,he,t),o(he,Ts),o(he,wo),o(wo,Ms),o(he,js),u(e,Rt,t),h(Ke,e,t),u(e,Xt,t),u(e,Ma,t),o(Ma,Cs),u(e,zt,t),h(ea,e,t),u(e,It,t),u(e,be,t),o(be,Js),o(be,ko),o(ko,Ws),o(be,Fs),u(e,St,t),u(e,ve,t),o(ve,Ps),o(ve,aa),o(aa,Zs),o(ve,Hs),u(e,Nt,t),u(e,Y,t),o(Y,ge),o(ge,To),h(oa,To,null),o(Y,qs),o(Y,Mo),o(Mo,As),u(e,Yt,t),u(e,_e,t),o(_e,Us),o(_e,ta),o(ta,Gs),o(_e,Rs),u(e,Dt,t),u(e,ja,t),o(ja,Ca),u(e,Lt,t),u(e,Ja,t),o(Ja,Xs),u(e,Vt,t),u(e,j,t),o(j,ra),o(ra,zs),o(ra,jo),o(jo,Is),o(ra,Ss),o(j,Ns),o(j,Co),o(Co,Ys),o(j,Ds),o(j,Jo),o(Jo,Ls),o(j,Vs),o(j,Wo),o(Wo,Bs),u(e,Bt,t),u(e,q,t),o(q,xs),o(q,Fo),o(Fo,Qs),o(q,Os),o(q,Po),o(Po,Ks),o(q,ei),u(e,xt,t),u(e,Wa,t),o(Wa,Fa),u(e,Qt,t),u(e,D,t),o(D,ye),o(ye,Zo),h(la,Zo,null),o(D,ai),o(D,Ho),o(Ho,oi),u(e,Ot,t),u(e,$e,t),o($e,ti),o($e,qo),o(qo,ri),o($e,li),u(e,Kt,t),u(e,Ee,t),o(Ee,sa),o(sa,si),o(sa,Ao),o(Ao,ii),o(sa,ni),o(Ee,ui),o(Ee,ia),o(ia,ci),o(ia,Uo),o(Uo,pi),o(ia,di),u(e,er,t),u(e,w,t),o(w,mi),o(w,na),o(na,fi),o(w,hi),o(w,ua),o(ua,bi),o(w,vi),o(w,Go),o(Go,gi),o(w,_i),o(w,ca),o(ca,yi),o(w,$i),ar=!0},p(e,[t]){const pa={};t&2&&(pa.$$scope={dirty:t,ctx:e}),O.$set(pa)},i(e){ar||(b(k.$$.fragment,e),b(O.$$.fragment,e),b(Te.$$.fragment,e),b(je.$$.fragment,e),b(Ce.$$.fragment,e),b(Je.$$.fragment,e),b(Fe.$$.fragment,e),b(Ze.$$.fragment,e),b(He.$$.fragment,e),b(qe.$$.fragment,e),b(Ae.$$.fragment,e),b(Ue.$$.fragment,e),b(Ge.$$.fragment,e),b(Re.$$.fragment,e),b(Xe.$$.fragment,e),b(ze.$$.fragment,e),b(Ie.$$.fragment,e),b(Se.$$.fragment,e),b(Ne.$$.fragment,e),b(De.$$.fragment,e),b(Ve.$$.fragment,e),b(Be.$$.fragment,e),b(xe.$$.fragment,e),b(Qe.$$.fragment,e),b(Oe.$$.fragment,e),b(Ke.$$.fragment,e),b(ea.$$.fragment,e),b(oa.$$.fragment,e),b(la.$$.fragment,e),ar=!0)},o(e){v(k.$$.fragment,e),v(O.$$.fragment,e),v(Te.$$.fragment,e),v(je.$$.fragment,e),v(Ce.$$.fragment,e),v(Je.$$.fragment,e),v(Fe.$$.fragment,e),v(Ze.$$.fragment,e),v(He.$$.fragment,e),v(qe.$$.fragment,e),v(Ae.$$.fragment,e),v(Ue.$$.fragment,e),v(Ge.$$.fragment,e),v(Re.$$.fragment,e),v(Xe.$$.fragment,e),v(ze.$$.fragment,e),v(Ie.$$.fragment,e),v(Se.$$.fragment,e),v(Ne.$$.fragment,e),v(De.$$.fragment,e),v(Ve.$$.fragment,e),v(Be.$$.fragment,e),v(xe.$$.fragment,e),v(Qe.$$.fragment,e),v(Oe.$$.fragment,e),v(Ke.$$.fragment,e),v(ea.$$.fragment,e),v(oa.$$.fragment,e),v(la.$$.fragment,e),ar=!1},d(e){a(_),e&&a(V),e&&a($),g(k),e&&a(Xo),e&&a(da),e&&a(zo),e&&a(x),e&&a(Io),e&&a(Q),e&&a(So),e&&a(T),e&&a(No),g(O,e),e&&a(Yo),e&&a(R),g(Te),e&&a(Do),e&&a(ma),e&&a(Lo),e&&a(J),e&&a(Vo),e&&a(ee),e&&a(Bo),g(je,e),e&&a(xo),e&&a(fa),e&&a(Qo),e&&a(ha),e&&a(Oo),e&&a(X),g(Ce),e&&a(Ko),e&&a(va),e&&a(et),g(Je,e),e&&a(at),e&&a(oe),e&&a(ot),g(Fe,e),e&&a(tt),e&&a(W),e&&a(rt),g(Ze,e),e&&a(lt),e&&a(z),g(He),e&&a(st),e&&a(ga),e&&a(it),e&&a(re),e&&a(nt),e&&a(le),e&&a(ut),g(qe,e),e&&a(ct),e&&a(ya),e&&a(pt),g(Ae,e),e&&a(dt),e&&a(se),e&&a(mt),g(Ue,e),e&&a(ft),e&&a($a),e&&a(ht),g(Ge,e),e&&a(bt),e&&a(I),g(Re),e&&a(vt),g(Xe,e),e&&a(gt),e&&a(E),e&&a(_t),g(ze,e),e&&a(yt),e&&a(ne),e&&a($t),g(Ie,e),e&&a(Et),e&&a(F),e&&a(wt),g(Se,e),e&&a(kt),e&&a(S),g(Ne),e&&a(Tt),e&&a(P),e&&a(Mt),e&&a(Z),e&&a(jt),g(De,e),e&&a(Ct),e&&a(ce),e&&a(Jt),g(Ve,e),e&&a(Wt),e&&a(N),g(Be),e&&a(Ft),e&&a(de),e&&a(Pt),e&&a(me),e&&a(Zt),g(xe,e),e&&a(Ht),e&&a(H),e&&a(qt),g(Qe,e),e&&a(At),e&&a(fe),e&&a(Ut),g(Oe,e),e&&a(Gt),e&&a(he),e&&a(Rt),g(Ke,e),e&&a(Xt),e&&a(Ma),e&&a(zt),g(ea,e),e&&a(It),e&&a(be),e&&a(St),e&&a(ve),e&&a(Nt),e&&a(Y),g(oa),e&&a(Yt),e&&a(_e),e&&a(Dt),e&&a(ja),e&&a(Lt),e&&a(Ja),e&&a(Vt),e&&a(j),e&&a(Bt),e&&a(q),e&&a(xt),e&&a(Wa),e&&a(Qt),e&&a(D),g(la),e&&a(Ot),e&&a($e),e&&a(Kt),e&&a(Ee),e&&a(er),e&&a(w)}}}const _u={local:"compartir-un-modelo",sections:[{local:"caractersticas-de-los-repositorios",title:"Caracter\xEDsticas de los repositorios"},{local:"configuracin-inicial",title:"Configuraci\xF3n inicial"},{local:"convertir-un-modelo-para-todos-los-frameworks",title:"Convertir un modelo para todos los Frameworks"},{local:"compartir-un-modelo-con-trainer",title:"Compartir un modelo con `Trainer`"},{local:"compartir-un-modelo-con-pushtohubcallback",title:"Compartir un modelo con `PushToHubCallback`"},{local:"usando-la-funcin-pushtohub",title:"Usando la funci\xF3n `push_to_hub`"},{local:"compartir-con-la-interfaz-web",title:"Compartir con la interfaz web"},{local:"aadiendo-una-tarjeta-de-modelo",title:"A\xF1adiendo una tarjeta de modelo"}],title:"Compartir un modelo"};function yu(Ro){return fu(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Mu extends cu{constructor(_){super();pu(this,_,yu,gu,du,{})}}export{Mu as default,_u as metadata};
