Buckets:

rtrm's picture
download
raw
30.6 kB
import{s as Sa,f as Aa,o as Na,n as Da}from"../chunks/scheduler.36a0863c.js";import{S as Ka,i as Oa,g as o,s,r as p,A as el,h as i,f as a,c as n,j as na,u as m,x as r,k as M,y as tl,a as l,v as u,d,t as c,w as f}from"../chunks/index.f891bdb2.js";import{T as al}from"../chunks/Tip.a8272f7f.js";import{Y as ll}from"../chunks/Youtube.0cbacd3d.js";import{C as g}from"../chunks/CodeBlock.3ec784ea.js";import{H as v,E as sl}from"../chunks/EditOnGithub.a58e27a9.js";function nl(Pe){let b,T='Para compartir un modelo con la comunidad necesitas una cuenta en <a href="https://huggingface.co/join" rel="nofollow">huggingface.co</a>. También puedes unirte a una organización existente o crear una nueva.';return{c(){b=o("p"),b.innerHTML=T},l($){b=i($,"P",{"data-svelte-h":!0}),r(b)!=="svelte-rlvb74"&&(b.innerHTML=T)},m($,Re){l($,b,Re)},p:Da,d($){$&&a(b)}}}function ol(Pe){let b,T,$,Re,y,ze,_,oa="Los últimos dos tutoriales mostraron cómo puedes realizar fine-tunning a un modelo con PyTorch, Keras y 🤗 Accelerate para configuraciones distribuidas. ¡El 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.",Ee,C,ia='En este tutorial aprenderás dos métodos para compartir un modelo trained o fine-tuned en el <a href="https://huggingface.co/models" rel="nofollow">Model Hub</a>:',Ye,H,ra="<li>Mediante Código, enviando (push) tus archivos al Hub.</li> <li>Con la interfaz Web, con Drag-and-drop de tus archivos al Hub.</li>",Ie,h,pa,Ve,w,Be,j,Qe,k,ma="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.",Se,J,ua='El versioning desarrollado dentro del Model Hub es basado en git y <a href="https://git-lfs.github.com/" rel="nofollow">git-lfs</a>. En otras palabras, puedes tratar un modelo como un repositorio, brindando un mejor control de acceso y escalabilidad. Version control permite <em>revisions</em>, un método para apuntar a una versión específica de un modelo utilizando un commit hash, tag o branch.',Ae,W,da="Como resultado, puedes cargar una versión específica del modelo con el parámetro <code>revision</code>:",Ne,Z,De,L,ca="Los archivos son editados fácilmente dentro de un repositorio. Incluso puedes observar el commit history y las diferencias:",Ke,x,fa='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/vis_diff.png" alt="vis_diff"/>',Oe,U,et,F,ga="Antes de compartir un modelo al Hub necesitarás tus credenciales de Hugging Face. Si tienes acceso a una terminal ejecuta el siguiente comando en el entorno virtual donde 🤗 Transformers esté instalado. Esto guardará tu token de acceso dentro de tu carpeta cache de Hugging Face (~/.cache/ by default):",tt,X,at,G,ba='Si usas un notebook como Jupyter o Colaboratory, asegúrate de tener instalada la biblioteca <a href="https://huggingface.co/docs/hub/adding-a-library" rel="nofollow"><code>huggingface_hub</code></a>. Esta biblioteca te permitirá interactuar por código con el Hub.',lt,R,st,q,ha='Luego usa <code>notebook_login</code> para iniciar sesión al Hub, y sigue el link <a href="https://huggingface.co/settings/token" rel="nofollow">aquí</a> para generar un token con el que iniciaremos sesión:',nt,P,ot,z,it,E,$a="Para asegurarnos que tu modelo pueda ser usado por alguien que esté trabajando con un framework diferente, te recomendamos convertir y subir tu modelo con checkpoints de pytorch y tensorflow. Aunque los usuarios aún son capaces de cargar su modelo desde un framework diferente, si se omite este paso será más lento debido a que 🤗 Transformers necesitará convertir el checkpoint sobre-la-marcha.",rt,Y,va='Convertir un checkpoint para otro framework es fácil. Asegúrate tener Pytorch y TensorFlow instalado (Véase <a href="installation">aquí</a> para instrucciones de instalación), y luego encuentra el modelo específico para tu tarea en el otro Framework.',pt,I,wa="Por ejemplo, supongamos que has entrenado DistilBert para clasificación 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 <code>from_pt=True</code> así 🤗 Transformers convertirá el Pytorch checkpoint a un TensorFlow Checkpoint:",mt,V,ut,B,Ma="Luego guardas tu nuevo modelo TensorFlow con su nuevo checkpoint:",dt,Q,ct,S,Ta="De manera similar, especificas <code>from_tf=True</code> para convertir un checkpoint de TensorFlow a Pytorch:",ft,A,gt,N,ya="Si algún modelo está disponible en Flax, también puedes convertir un checkpoint de Pytorch a Flax:",bt,D,ht,K,$t,O,vt,ee,_a='Compartir un modelo al Hub es tan simple como añadir un parámetro extra o un callback. Si recuerdas del tutorial de <a href="training">fine-tuning tutorial</a>, la clase <code>TrainingArguments</code> es donde especificas los Hiperparámetros y opciones de entrenamiento adicionales. Una de estas opciones incluye la habilidad de compartir un modelo directamente al Hub. Para ello configuras <code>push_to_hub=True</code> dentro de <code>TrainingArguments</code>:',wt,te,Mt,ae,Ca="A continuación, como usualmente, pasa tus argumentos de entrenamiento a <code>Trainer</code>:",Tt,le,yt,se,Ha="Luego que realizas fine-tune a tu modelo, llamas <code>push_to_hub()</code> en <code>Trainer</code> para enviar el modelo al Hub!🤗 Transformers incluso añadirá automáticamente los Hiperparámetros de entrenamiento, resultados de entrenamiento y versiones del Framework a tu model card!",_t,ne,Ct,oe,Ht,ie,ja="Los usuarios de TensorFlow pueden activar la misma funcionalidad con <code>PushToHubCallback</code>. En la funcion <code>PushToHubCallback</code>, agrega:",jt,re,ka="<li>Un directorio de salida para tu modelo.</li> <li>Un tokenizador.</li> <li>El <code>hub_model_id</code>, el cual es tu usuario Hub y el nombre del modelo.</li>",kt,pe,Jt,me,Ja='Agregamos el callback a <a href="https://keras.io/api/models/model_training_apis/" rel="nofollow"><code>fit</code></a>, y 🤗 Transformers enviará el modelo entrenado al Hub:',Wt,ue,Zt,de,Lt,ce,Wa="Puedes llamar la función <code>push_to_hub</code> directamente en tu modelo para subirlo al Hub.",xt,fe,Za="Especifica el nombre del modelo en <code>push_to_hub</code>:",Ut,ge,Ft,be,La="Esto creará un repositorio bajo tu usuario con el nombre del modelo <code>my-awesome-model</code>. Ahora los usuarios pueden cargar tu modelo con la función <code>from_pretrained</code>:",Xt,he,Gt,$e,xa="Si perteneces a una organización y quieres compartir tu modelo bajo el nombre de la organización, añade el parámetro <code>organization</code>:",Rt,ve,qt,we,Ua="La función <code>push_to_hub</code> también puede ser usada para añadir archivos al repositorio del modelo. Por ejemplo, añade un tokenizador al repositorio:",Pt,Me,zt,Te,Fa="O quizás te gustaría añadir la versión de TensorFlow de tu modelo fine-tuned en Pytorch:",Et,ye,Yt,_e,Xa="Ahora, cuando navegues a tu perfil en Hugging Face, deberías observar el repositorio de tu modelo creado recientemente. Si das click en el tab <strong>Files</strong> observarás todos los archivos que has subido al repositorio.",It,Ce,Ga='Para más detalles sobre cómo crear y subir archivos al repositorio, consulta la <a href="https://huggingface.co/docs/hub/how-to-upstream" rel="nofollow">documentación del Hub</a>.',Vt,He,Bt,je,Ra='Los usuarios que prefieran un enfoque no-code tienen la opción de cargar su modelo a través de la interfaz gráfica del Hub. Visita la página <a href="https://huggingface.co/new" rel="nofollow">huggingface.co/new</a> para crear un nuevo repositorio:',Qt,ke,qa='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/new_model_repo.png" alt="new_model_repo"/>',St,Je,Pa="Desde aquí, añade información acerca del modelo:",At,We,za="<li>Selecciona el <strong>owner</strong> (la persona propietaria) del repositorio. Puedes ser tú o cualquier organización a la que pertenezcas.</li> <li>Escoge un nombre para tu modelo. También será el nombre del repositorio.</li> <li>Elige si tu modelo es público o privado.</li> <li>Especifica la licencia que usará tu modelo.</li>",Nt,Ze,Ea="Ahora puedes hacer click en el tab <strong>Files</strong> y luego en el botón <strong>Add file</strong> para subir un nuevo archivo a tu repositorio. Luego arrastra y suelta un archivo a subir y le añades un mensaje al commit.",Dt,Le,Ya='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/upload_file.png" alt="upload_file"/>',Kt,xe,Ot,Ue,Ia="Para asegurarnos que los usuarios entiendan las capacidades de tu modelo, sus limitaciones, posibles sesgos y consideraciones éticas, por favor añade una tarjeta (como una tarjeta de presentación) al repositorio del modelo. La tarjeta de modelo es definida en el archivo <code>README.md</code>. Puedes agregar una de la siguiente manera:",ea,Fe,Va="<li>Elaborando y subiendo manualmente el archivo<code>README.md</code>.</li> <li>Dando click en el botón <strong>Edit model card</strong> dentro del repositorio.</li>",ta,Xe,Ba='Toma un momento para ver la <a href="https://huggingface.co/distilbert/distilbert-base-uncased" rel="nofollow">tarjeta de modelo</a> de DistilBert para que tengas un buen ejemplo del tipo de información que debería incluir. Consulta <a href="https://huggingface.co/docs/hub/models-cards" rel="nofollow">la documentación</a> para más detalles acerca de otras opciones que puedes controlar dentro del archivo <code>README.md</code> como la huella de carbono del modelo o ejemplos de widgets. Consulta la documentación <a href="https://huggingface.co/docs/hub/models-cards" rel="nofollow">aquí</a>.',aa,Ge,la,qe,sa;return y=new v({props:{title:"Compartir un modelo",local:"compartir-un-modelo",headingTag:"h1"}}),w=new al({props:{$$slots:{default:[nl]},$$scope:{ctx:Pe}}}),j=new v({props:{title:"Características de los repositorios",local:"características-de-los-repositorios",headingTag:"h2"}}),Z=new g({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>)`,wrap:!1}}),U=new v({props:{title:"Configuración inicial",local:"configuración-inicial",headingTag:"h2"}}),X=new g({props:{code:"aHVnZ2luZ2ZhY2UtY2xpJTIwbG9naW4=",highlighted:"huggingface-cli login",wrap:!1}}),R=new g({props:{code:"cGlwJTIwaW5zdGFsbCUyMGh1Z2dpbmdmYWNlX2h1Yg==",highlighted:"pip install huggingface_hub",wrap:!1}}),P=new g({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()`,wrap:!1}}),z=new v({props:{title:"Convertir un modelo para todos los Frameworks",local:"convertir-un-modelo-para-todos-los-frameworks",headingTag:"h2"}}),V=new g({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>)',wrap:!1}}),Q=new g({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>)',wrap:!1}}),A=new g({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>)`,wrap:!1}}),D=new g({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>)`,wrap:!1}}),K=new v({props:{title:"Compartir un modelo con Trainer",local:"compartir-un-modelo-con-trainer",headingTag:"h2"}}),O=new ll({props:{id:"Z1-XMy-GNLQ"}}),te=new g({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>)',wrap:!1}}),le=new g({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>)`,wrap:!1}}),ne=new g({props:{code:"dHJhaW5lci5wdXNoX3RvX2h1Yigp",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>trainer.push_to_hub()',wrap:!1}}),oe=new v({props:{title:"Compartir un modelo con PushToHubCallback",local:"compartir-un-modelo-con-pushtohubcallback",headingTag:"h2"}}),pe=new g({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>)`,wrap:!1}}),ue=new g({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)',wrap:!1}}),de=new v({props:{title:"Usando la función push_to_hub",local:"usando-la-función-pushtohub",headingTag:"h2"}}),ge=new g({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>)',wrap:!1}}),he=new g({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>)`,wrap:!1}}),ve=new g({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>)',wrap:!1}}),Me=new g({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>)',wrap:!1}}),ye=new g({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>)',wrap:!1}}),He=new v({props:{title:"Compartir con la interfaz web",local:"compartir-con-la-interfaz-web",headingTag:"h2"}}),xe=new v({props:{title:"Añadiendo una tarjeta de modelo",local:"añadiendo-una-tarjeta-de-modelo",headingTag:"h2"}}),Ge=new sl({props:{source:"https://github.com/huggingface/transformers/blob/main/docs/source/es/model_sharing.md"}}),{c(){b=o("meta"),T=s(),$=o("p"),Re=s(),p(y.$$.fragment),ze=s(),_=o("p"),_.textContent=oa,Ee=s(),C=o("p"),C.innerHTML=ia,Ye=s(),H=o("ul"),H.innerHTML=ra,Ie=s(),h=o("iframe"),Ve=s(),p(w.$$.fragment),Be=s(),p(j.$$.fragment),Qe=s(),k=o("p"),k.textContent=ma,Se=s(),J=o("p"),J.innerHTML=ua,Ae=s(),W=o("p"),W.innerHTML=da,Ne=s(),p(Z.$$.fragment),De=s(),L=o("p"),L.textContent=ca,Ke=s(),x=o("p"),x.innerHTML=fa,Oe=s(),p(U.$$.fragment),et=s(),F=o("p"),F.textContent=ga,tt=s(),p(X.$$.fragment),at=s(),G=o("p"),G.innerHTML=ba,lt=s(),p(R.$$.fragment),st=s(),q=o("p"),q.innerHTML=ha,nt=s(),p(P.$$.fragment),ot=s(),p(z.$$.fragment),it=s(),E=o("p"),E.textContent=$a,rt=s(),Y=o("p"),Y.innerHTML=va,pt=s(),I=o("p"),I.innerHTML=wa,mt=s(),p(V.$$.fragment),ut=s(),B=o("p"),B.textContent=Ma,dt=s(),p(Q.$$.fragment),ct=s(),S=o("p"),S.innerHTML=Ta,ft=s(),p(A.$$.fragment),gt=s(),N=o("p"),N.textContent=ya,bt=s(),p(D.$$.fragment),ht=s(),p(K.$$.fragment),$t=s(),p(O.$$.fragment),vt=s(),ee=o("p"),ee.innerHTML=_a,wt=s(),p(te.$$.fragment),Mt=s(),ae=o("p"),ae.innerHTML=Ca,Tt=s(),p(le.$$.fragment),yt=s(),se=o("p"),se.innerHTML=Ha,_t=s(),p(ne.$$.fragment),Ct=s(),p(oe.$$.fragment),Ht=s(),ie=o("p"),ie.innerHTML=ja,jt=s(),re=o("ul"),re.innerHTML=ka,kt=s(),p(pe.$$.fragment),Jt=s(),me=o("p"),me.innerHTML=Ja,Wt=s(),p(ue.$$.fragment),Zt=s(),p(de.$$.fragment),Lt=s(),ce=o("p"),ce.innerHTML=Wa,xt=s(),fe=o("p"),fe.innerHTML=Za,Ut=s(),p(ge.$$.fragment),Ft=s(),be=o("p"),be.innerHTML=La,Xt=s(),p(he.$$.fragment),Gt=s(),$e=o("p"),$e.innerHTML=xa,Rt=s(),p(ve.$$.fragment),qt=s(),we=o("p"),we.innerHTML=Ua,Pt=s(),p(Me.$$.fragment),zt=s(),Te=o("p"),Te.textContent=Fa,Et=s(),p(ye.$$.fragment),Yt=s(),_e=o("p"),_e.innerHTML=Xa,It=s(),Ce=o("p"),Ce.innerHTML=Ga,Vt=s(),p(He.$$.fragment),Bt=s(),je=o("p"),je.innerHTML=Ra,Qt=s(),ke=o("p"),ke.innerHTML=qa,St=s(),Je=o("p"),Je.textContent=Pa,At=s(),We=o("ul"),We.innerHTML=za,Nt=s(),Ze=o("p"),Ze.innerHTML=Ea,Dt=s(),Le=o("p"),Le.innerHTML=Ya,Kt=s(),p(xe.$$.fragment),Ot=s(),Ue=o("p"),Ue.innerHTML=Ia,ea=s(),Fe=o("ul"),Fe.innerHTML=Va,ta=s(),Xe=o("p"),Xe.innerHTML=Ba,aa=s(),p(Ge.$$.fragment),la=s(),qe=o("p"),this.h()},l(e){const t=el("svelte-u9bgzb",document.head);b=i(t,"META",{name:!0,content:!0}),t.forEach(a),T=n(e),$=i(e,"P",{}),na($).forEach(a),Re=n(e),m(y.$$.fragment,e),ze=n(e),_=i(e,"P",{"data-svelte-h":!0}),r(_)!=="svelte-1k0bjf1"&&(_.textContent=oa),Ee=n(e),C=i(e,"P",{"data-svelte-h":!0}),r(C)!=="svelte-1l6l27k"&&(C.innerHTML=ia),Ye=n(e),H=i(e,"UL",{"data-svelte-h":!0}),r(H)!=="svelte-lbt73o"&&(H.innerHTML=ra),Ie=n(e),h=i(e,"IFRAME",{width:!0,height:!0,src:!0,title:!0,frameborder:!0,allow:!0}),na(h).forEach(a),Ve=n(e),m(w.$$.fragment,e),Be=n(e),m(j.$$.fragment,e),Qe=n(e),k=i(e,"P",{"data-svelte-h":!0}),r(k)!=="svelte-1m1ik0i"&&(k.textContent=ma),Se=n(e),J=i(e,"P",{"data-svelte-h":!0}),r(J)!=="svelte-1x24aol"&&(J.innerHTML=ua),Ae=n(e),W=i(e,"P",{"data-svelte-h":!0}),r(W)!=="svelte-hdvlgk"&&(W.innerHTML=da),Ne=n(e),m(Z.$$.fragment,e),De=n(e),L=i(e,"P",{"data-svelte-h":!0}),r(L)!=="svelte-1qxxgiw"&&(L.textContent=ca),Ke=n(e),x=i(e,"P",{"data-svelte-h":!0}),r(x)!=="svelte-hnu2bf"&&(x.innerHTML=fa),Oe=n(e),m(U.$$.fragment,e),et=n(e),F=i(e,"P",{"data-svelte-h":!0}),r(F)!=="svelte-1g5fu1m"&&(F.textContent=ga),tt=n(e),m(X.$$.fragment,e),at=n(e),G=i(e,"P",{"data-svelte-h":!0}),r(G)!=="svelte-fplemq"&&(G.innerHTML=ba),lt=n(e),m(R.$$.fragment,e),st=n(e),q=i(e,"P",{"data-svelte-h":!0}),r(q)!=="svelte-kevyjo"&&(q.innerHTML=ha),nt=n(e),m(P.$$.fragment,e),ot=n(e),m(z.$$.fragment,e),it=n(e),E=i(e,"P",{"data-svelte-h":!0}),r(E)!=="svelte-146ofs2"&&(E.textContent=$a),rt=n(e),Y=i(e,"P",{"data-svelte-h":!0}),r(Y)!=="svelte-11mba1k"&&(Y.innerHTML=va),pt=n(e),I=i(e,"P",{"data-svelte-h":!0}),r(I)!=="svelte-1ny0v7u"&&(I.innerHTML=wa),mt=n(e),m(V.$$.fragment,e),ut=n(e),B=i(e,"P",{"data-svelte-h":!0}),r(B)!=="svelte-o3cbwn"&&(B.textContent=Ma),dt=n(e),m(Q.$$.fragment,e),ct=n(e),S=i(e,"P",{"data-svelte-h":!0}),r(S)!=="svelte-ulvk0d"&&(S.innerHTML=Ta),ft=n(e),m(A.$$.fragment,e),gt=n(e),N=i(e,"P",{"data-svelte-h":!0}),r(N)!=="svelte-429767"&&(N.textContent=ya),bt=n(e),m(D.$$.fragment,e),ht=n(e),m(K.$$.fragment,e),$t=n(e),m(O.$$.fragment,e),vt=n(e),ee=i(e,"P",{"data-svelte-h":!0}),r(ee)!=="svelte-1sgc057"&&(ee.innerHTML=_a),wt=n(e),m(te.$$.fragment,e),Mt=n(e),ae=i(e,"P",{"data-svelte-h":!0}),r(ae)!=="svelte-kzxr1v"&&(ae.innerHTML=Ca),Tt=n(e),m(le.$$.fragment,e),yt=n(e),se=i(e,"P",{"data-svelte-h":!0}),r(se)!=="svelte-whzxh1"&&(se.innerHTML=Ha),_t=n(e),m(ne.$$.fragment,e),Ct=n(e),m(oe.$$.fragment,e),Ht=n(e),ie=i(e,"P",{"data-svelte-h":!0}),r(ie)!=="svelte-lgxugm"&&(ie.innerHTML=ja),jt=n(e),re=i(e,"UL",{"data-svelte-h":!0}),r(re)!=="svelte-1uwp7vk"&&(re.innerHTML=ka),kt=n(e),m(pe.$$.fragment,e),Jt=n(e),me=i(e,"P",{"data-svelte-h":!0}),r(me)!=="svelte-15qhq4s"&&(me.innerHTML=Ja),Wt=n(e),m(ue.$$.fragment,e),Zt=n(e),m(de.$$.fragment,e),Lt=n(e),ce=i(e,"P",{"data-svelte-h":!0}),r(ce)!=="svelte-165txge"&&(ce.innerHTML=Wa),xt=n(e),fe=i(e,"P",{"data-svelte-h":!0}),r(fe)!=="svelte-12csyqh"&&(fe.innerHTML=Za),Ut=n(e),m(ge.$$.fragment,e),Ft=n(e),be=i(e,"P",{"data-svelte-h":!0}),r(be)!=="svelte-4ffbzx"&&(be.innerHTML=La),Xt=n(e),m(he.$$.fragment,e),Gt=n(e),$e=i(e,"P",{"data-svelte-h":!0}),r($e)!=="svelte-1esezl0"&&($e.innerHTML=xa),Rt=n(e),m(ve.$$.fragment,e),qt=n(e),we=i(e,"P",{"data-svelte-h":!0}),r(we)!=="svelte-1tt1awr"&&(we.innerHTML=Ua),Pt=n(e),m(Me.$$.fragment,e),zt=n(e),Te=i(e,"P",{"data-svelte-h":!0}),r(Te)!=="svelte-1gwpvu5"&&(Te.textContent=Fa),Et=n(e),m(ye.$$.fragment,e),Yt=n(e),_e=i(e,"P",{"data-svelte-h":!0}),r(_e)!=="svelte-1njs5z3"&&(_e.innerHTML=Xa),It=n(e),Ce=i(e,"P",{"data-svelte-h":!0}),r(Ce)!=="svelte-8a2l3q"&&(Ce.innerHTML=Ga),Vt=n(e),m(He.$$.fragment,e),Bt=n(e),je=i(e,"P",{"data-svelte-h":!0}),r(je)!=="svelte-1r5hlnl"&&(je.innerHTML=Ra),Qt=n(e),ke=i(e,"P",{"data-svelte-h":!0}),r(ke)!=="svelte-ahj3l9"&&(ke.innerHTML=qa),St=n(e),Je=i(e,"P",{"data-svelte-h":!0}),r(Je)!=="svelte-64eblq"&&(Je.textContent=Pa),At=n(e),We=i(e,"UL",{"data-svelte-h":!0}),r(We)!=="svelte-1drcs5r"&&(We.innerHTML=za),Nt=n(e),Ze=i(e,"P",{"data-svelte-h":!0}),r(Ze)!=="svelte-1dpz2rf"&&(Ze.innerHTML=Ea),Dt=n(e),Le=i(e,"P",{"data-svelte-h":!0}),r(Le)!=="svelte-32sxm9"&&(Le.innerHTML=Ya),Kt=n(e),m(xe.$$.fragment,e),Ot=n(e),Ue=i(e,"P",{"data-svelte-h":!0}),r(Ue)!=="svelte-4h0fos"&&(Ue.innerHTML=Ia),ea=n(e),Fe=i(e,"UL",{"data-svelte-h":!0}),r(Fe)!=="svelte-1rwuv0n"&&(Fe.innerHTML=Va),ta=n(e),Xe=i(e,"P",{"data-svelte-h":!0}),r(Xe)!=="svelte-112h59w"&&(Xe.innerHTML=Ba),aa=n(e),m(Ge.$$.fragment,e),la=n(e),qe=i(e,"P",{}),na(qe).forEach(a),this.h()},h(){M(b,"name","hf:doc:metadata"),M(b,"content",il),M(h,"width","560"),M(h,"height","315"),Aa(h.src,pa="https://www.youtube.com/embed/XvSGPZFEjDY")||M(h,"src",pa),M(h,"title","YouTube video player"),M(h,"frameborder","0"),M(h,"allow",`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope;
picture-in-picture`),h.allowFullscreen=""},m(e,t){tl(document.head,b),l(e,T,t),l(e,$,t),l(e,Re,t),u(y,e,t),l(e,ze,t),l(e,_,t),l(e,Ee,t),l(e,C,t),l(e,Ye,t),l(e,H,t),l(e,Ie,t),l(e,h,t),l(e,Ve,t),u(w,e,t),l(e,Be,t),u(j,e,t),l(e,Qe,t),l(e,k,t),l(e,Se,t),l(e,J,t),l(e,Ae,t),l(e,W,t),l(e,Ne,t),u(Z,e,t),l(e,De,t),l(e,L,t),l(e,Ke,t),l(e,x,t),l(e,Oe,t),u(U,e,t),l(e,et,t),l(e,F,t),l(e,tt,t),u(X,e,t),l(e,at,t),l(e,G,t),l(e,lt,t),u(R,e,t),l(e,st,t),l(e,q,t),l(e,nt,t),u(P,e,t),l(e,ot,t),u(z,e,t),l(e,it,t),l(e,E,t),l(e,rt,t),l(e,Y,t),l(e,pt,t),l(e,I,t),l(e,mt,t),u(V,e,t),l(e,ut,t),l(e,B,t),l(e,dt,t),u(Q,e,t),l(e,ct,t),l(e,S,t),l(e,ft,t),u(A,e,t),l(e,gt,t),l(e,N,t),l(e,bt,t),u(D,e,t),l(e,ht,t),u(K,e,t),l(e,$t,t),u(O,e,t),l(e,vt,t),l(e,ee,t),l(e,wt,t),u(te,e,t),l(e,Mt,t),l(e,ae,t),l(e,Tt,t),u(le,e,t),l(e,yt,t),l(e,se,t),l(e,_t,t),u(ne,e,t),l(e,Ct,t),u(oe,e,t),l(e,Ht,t),l(e,ie,t),l(e,jt,t),l(e,re,t),l(e,kt,t),u(pe,e,t),l(e,Jt,t),l(e,me,t),l(e,Wt,t),u(ue,e,t),l(e,Zt,t),u(de,e,t),l(e,Lt,t),l(e,ce,t),l(e,xt,t),l(e,fe,t),l(e,Ut,t),u(ge,e,t),l(e,Ft,t),l(e,be,t),l(e,Xt,t),u(he,e,t),l(e,Gt,t),l(e,$e,t),l(e,Rt,t),u(ve,e,t),l(e,qt,t),l(e,we,t),l(e,Pt,t),u(Me,e,t),l(e,zt,t),l(e,Te,t),l(e,Et,t),u(ye,e,t),l(e,Yt,t),l(e,_e,t),l(e,It,t),l(e,Ce,t),l(e,Vt,t),u(He,e,t),l(e,Bt,t),l(e,je,t),l(e,Qt,t),l(e,ke,t),l(e,St,t),l(e,Je,t),l(e,At,t),l(e,We,t),l(e,Nt,t),l(e,Ze,t),l(e,Dt,t),l(e,Le,t),l(e,Kt,t),u(xe,e,t),l(e,Ot,t),l(e,Ue,t),l(e,ea,t),l(e,Fe,t),l(e,ta,t),l(e,Xe,t),l(e,aa,t),u(Ge,e,t),l(e,la,t),l(e,qe,t),sa=!0},p(e,[t]){const Qa={};t&2&&(Qa.$$scope={dirty:t,ctx:e}),w.$set(Qa)},i(e){sa||(d(y.$$.fragment,e),d(w.$$.fragment,e),d(j.$$.fragment,e),d(Z.$$.fragment,e),d(U.$$.fragment,e),d(X.$$.fragment,e),d(R.$$.fragment,e),d(P.$$.fragment,e),d(z.$$.fragment,e),d(V.$$.fragment,e),d(Q.$$.fragment,e),d(A.$$.fragment,e),d(D.$$.fragment,e),d(K.$$.fragment,e),d(O.$$.fragment,e),d(te.$$.fragment,e),d(le.$$.fragment,e),d(ne.$$.fragment,e),d(oe.$$.fragment,e),d(pe.$$.fragment,e),d(ue.$$.fragment,e),d(de.$$.fragment,e),d(ge.$$.fragment,e),d(he.$$.fragment,e),d(ve.$$.fragment,e),d(Me.$$.fragment,e),d(ye.$$.fragment,e),d(He.$$.fragment,e),d(xe.$$.fragment,e),d(Ge.$$.fragment,e),sa=!0)},o(e){c(y.$$.fragment,e),c(w.$$.fragment,e),c(j.$$.fragment,e),c(Z.$$.fragment,e),c(U.$$.fragment,e),c(X.$$.fragment,e),c(R.$$.fragment,e),c(P.$$.fragment,e),c(z.$$.fragment,e),c(V.$$.fragment,e),c(Q.$$.fragment,e),c(A.$$.fragment,e),c(D.$$.fragment,e),c(K.$$.fragment,e),c(O.$$.fragment,e),c(te.$$.fragment,e),c(le.$$.fragment,e),c(ne.$$.fragment,e),c(oe.$$.fragment,e),c(pe.$$.fragment,e),c(ue.$$.fragment,e),c(de.$$.fragment,e),c(ge.$$.fragment,e),c(he.$$.fragment,e),c(ve.$$.fragment,e),c(Me.$$.fragment,e),c(ye.$$.fragment,e),c(He.$$.fragment,e),c(xe.$$.fragment,e),c(Ge.$$.fragment,e),sa=!1},d(e){e&&(a(T),a($),a(Re),a(ze),a(_),a(Ee),a(C),a(Ye),a(H),a(Ie),a(h),a(Ve),a(Be),a(Qe),a(k),a(Se),a(J),a(Ae),a(W),a(Ne),a(De),a(L),a(Ke),a(x),a(Oe),a(et),a(F),a(tt),a(at),a(G),a(lt),a(st),a(q),a(nt),a(ot),a(it),a(E),a(rt),a(Y),a(pt),a(I),a(mt),a(ut),a(B),a(dt),a(ct),a(S),a(ft),a(gt),a(N),a(bt),a(ht),a($t),a(vt),a(ee),a(wt),a(Mt),a(ae),a(Tt),a(yt),a(se),a(_t),a(Ct),a(Ht),a(ie),a(jt),a(re),a(kt),a(Jt),a(me),a(Wt),a(Zt),a(Lt),a(ce),a(xt),a(fe),a(Ut),a(Ft),a(be),a(Xt),a(Gt),a($e),a(Rt),a(qt),a(we),a(Pt),a(zt),a(Te),a(Et),a(Yt),a(_e),a(It),a(Ce),a(Vt),a(Bt),a(je),a(Qt),a(ke),a(St),a(Je),a(At),a(We),a(Nt),a(Ze),a(Dt),a(Le),a(Kt),a(Ot),a(Ue),a(ea),a(Fe),a(ta),a(Xe),a(aa),a(la),a(qe)),a(b),f(y,e),f(w,e),f(j,e),f(Z,e),f(U,e),f(X,e),f(R,e),f(P,e),f(z,e),f(V,e),f(Q,e),f(A,e),f(D,e),f(K,e),f(O,e),f(te,e),f(le,e),f(ne,e),f(oe,e),f(pe,e),f(ue,e),f(de,e),f(ge,e),f(he,e),f(ve,e),f(Me,e),f(ye,e),f(He,e),f(xe,e),f(Ge,e)}}}const il='{"title":"Compartir un modelo","local":"compartir-un-modelo","sections":[{"title":"Características de los repositorios","local":"características-de-los-repositorios","sections":[],"depth":2},{"title":"Configuración inicial","local":"configuración-inicial","sections":[],"depth":2},{"title":"Convertir un modelo para todos los Frameworks","local":"convertir-un-modelo-para-todos-los-frameworks","sections":[],"depth":2},{"title":"Compartir un modelo con Trainer","local":"compartir-un-modelo-con-trainer","sections":[],"depth":2},{"title":"Compartir un modelo con PushToHubCallback","local":"compartir-un-modelo-con-pushtohubcallback","sections":[],"depth":2},{"title":"Usando la función push_to_hub","local":"usando-la-función-pushtohub","sections":[],"depth":2},{"title":"Compartir con la interfaz web","local":"compartir-con-la-interfaz-web","sections":[],"depth":2},{"title":"Añadiendo una tarjeta de modelo","local":"añadiendo-una-tarjeta-de-modelo","sections":[],"depth":2}],"depth":1}';function rl(Pe){return Na(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class gl extends Ka{constructor(b){super(),Oa(this,b,rl,ol,Sa,{})}}export{gl as component};

Xet Storage Details

Size:
30.6 kB
·
Xet hash:
411044e14eb05da9340cfb19c9faac3183c665b536b536cfb67ccb6b9f5f9ecd

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.