import{s as re,n as le,o as de}from"../chunks/scheduler.36a0863c.js";import{S as ce,i as ue,g as i,s as n,r as B,A as pe,h as r,f as o,c as s,j as ne,u as K,x as l,k as se,y as me,a as t,v as D,d as O,t as G,w as Q}from"../chunks/index.f891bdb2.js";import{H as ie,E as fe}from"../chunks/EditOnGithub.a58e27a9.js";function ge(R){let d,P,T,q,c,w,u,J="🤗 Transformers es una biblioteca construida para:",L,p,V="<li>Los investigadores y educadores de NLP que busquen usar/estudiar/extender modelos transformers a gran escala</li> <li>Profesionales que quieren optimizar esos modelos y/o ponerlos en producción</li> <li>Ingenieros que solo quieren descargar un modelo preentrenado y usarlo para resolver una tarea NLP dada.</li>",z,m,W="La biblioteca fue diseñada con dos fuertes objetivos en mente:",M,f,X=`<li><p>Que sea tan fácil y rápida de utilizar como sea posible:</p> <ul><li>Hemos limitado enormemente el número de abstracciones que el usuario tiene que aprender. De hecho, no hay casi abstracciones,
solo tres clases estándar necesarias para usar cada modelo: <a href="main_classes/configuration">configuration</a>,
<a href="main_classes/model">models</a> y <a href="main_classes/tokenizer">tokenizer</a>.</li> <li>Todas estas clases pueden ser inicializadas de forma simple y unificada a partir de ejemplos pre-entrenados mediante el uso de un método
<code>from_pretrained()</code> común de solicitud que se encargará de descargar (si es necesario), almacenar y cargar la solicitud de clase relacionada y datos asociados
(configurations’ hyper-parameters, tokenizers’ vocabulary, and models’ weights) a partir de un control pre-entrenado proporcionado en
<a href="https://huggingface.co/models" rel="nofollow">Hugging Face Hub</a> o de tu propio control guardado.</li> <li>Por encima de esas tres clases estándar, la biblioteca proporciona dos APIs: <code>pipeline()</code> para usar rápidamente un modelo (junto a su configuracion y tokenizer asociados)
sobre una tarea dada, y <code>Trainer</code>/<code>Keras.fit</code> para entrenar u optimizar de forma rápida un modelo dado.</li> <li>Como consecuencia, esta biblioteca NO es una caja de herramientas modular de bloques individuales para redes neuronales. Si quieres extender/construir sobre la biblioteca,
usa simplemente los módulos regulares de Python/PyTorch/TensorFlow/Keras y emplea las clases estándar de la biblioteca como punto de partida para reutilizar funcionalidades
tales como abrir/guardar modelo.</li></ul></li> <li><p>Proporciona modelos modernos con rendimientos lo más parecido posible a los modelos originales:</p> <ul><li>Proporcionamos al menos un ejemplo para cada arquitectura que reproduce un resultado proporcionado por los autores de dicha arquitectura.</li> <li>El código normalmente es parecido al código base original, lo cual significa que algún código Pytorch puede no ser tan
<em>pytorchic</em> como podría ser por haber sido convertido a código TensorFlow, y viceversa.</li></ul></li>`,k,g,Y="Unos cuantos objetivos adicionales:",H,b,Z="<li><p>Exponer las características internas de los modelos de la forma más coherente posible:</p> <ul><li>Damos acceso, mediante una sola API, a todos los estados ocultos y pesos de atención.</li> <li>Tokenizer y el modelo de API base están estandarizados para cambiar fácilmente entre modelos.</li></ul></li> <li><p>Incorporar una selección subjetiva de herramientas de gran potencial para la optimización/investigación de estos modelos:</p> <ul><li>Una forma sencilla/coherente de añadir nuevos tokens al vocabulario e incrustraciones (embeddings, en inglés) para optimización.</li> <li>Formas sencillas de camuflar y reducir “transformer heads”.</li></ul></li> <li><p>Cambiar fácilmente entre PyTorch y TensorFlow 2.0, permitiendo el entrenamiento usando un marco y la inferencia usando otro.</p></li>",j,h,E,v,ee="La biblioteca está construida alrededor de tres tipos de clases para cada modelo:",U,y,ae=`<li><strong>Model classes</strong> como <code>BertModel</code>, que consisten en más de 30 modelos PyTorch (<a href="https://pytorch.org/docs/stable/nn.html#torch.nn.Module" rel="nofollow">torch.nn.Module</a>) o modelos Keras (<a href="https://www.tensorflow.org/api_docs/python/tf/keras/Model" rel="nofollow">tf.keras.Model</a>) que funcionan con pesos pre-entrenados proporcionados en la
biblioteca.</li> <li><strong>Configuration classes</strong> como <code>BertConfig</code>, que almacena todos los parámetros necesarios para construir un modelo.
No siempre tienes que generarla tu. En particular, si estas usando un modelo pre-entrenado sin ninguna modificación,
la creación del modelo se encargará automáticamente de generar la configuración (que es parte del modelo).</li> <li><strong>Tokenizer classes</strong> como <code>BertTokenizer</code>, que almacena el vocabulario para cada modelo y proporciona métodos para
codificar/decodificar strings en una lista de índices de “token embeddings” para ser empleados en un modelo.</li>`,F,_,oe="Todas estas clases pueden ser generadas a partir de ejemplos pre-entrenados, y guardados localmente usando dos métodos:",A,x,te=`<li><code>from_pretrained()</code> permite generar un modelo/configuración/tokenizer a partir de una versión pre-entrenada proporcionada ya sea por
la propia biblioteca (los modelos compatibles se pueden encontrar en <a href="https://huggingface.co/models" rel="nofollow">Model Hub</a>) o
guardados localmente (o en un servidor) por el usuario.</li> <li><code>save_pretrained()</code> permite guardar un modelo/configuración/tokenizer localmente, de forma que puede ser empleado de nuevo usando
<code>from_pretrained()</code>.</li>`,I,C,N,$,S;return c=new ie({props:{title:"Filosofía",local:"filosofía",headingTag:"h1"}}),h=new ie({props:{title:"Conceptos principales",local:"conceptos-principales",headingTag:"h2"}}),C=new fe({props:{source:"https://github.com/huggingface/transformers/blob/main/docs/source/es/philosophy.md"}}),{c(){d=i("meta"),P=n(),T=i("p"),q=n(),B(c.$$.fragment),w=n(),u=i("p"),u.textContent=J,L=n(),p=i("ul"),p.innerHTML=V,z=n(),m=i("p"),m.textContent=W,M=n(),f=i("ul"),f.innerHTML=X,k=n(),g=i("p"),g.textContent=Y,H=n(),b=i("ul"),b.innerHTML=Z,j=n(),B(h.$$.fragment),E=n(),v=i("p"),v.textContent=ee,U=n(),y=i("ul"),y.innerHTML=ae,F=n(),_=i("p"),_.textContent=oe,A=n(),x=i("ul"),x.innerHTML=te,I=n(),B(C.$$.fragment),N=n(),$=i("p"),this.h()},l(e){const a=pe("svelte-u9bgzb",document.head);d=r(a,"META",{name:!0,content:!0}),a.forEach(o),P=s(e),T=r(e,"P",{}),ne(T).forEach(o),q=s(e),K(c.$$.fragment,e),w=s(e),u=r(e,"P",{"data-svelte-h":!0}),l(u)!=="svelte-1vbdb49"&&(u.textContent=J),L=s(e),p=r(e,"UL",{"data-svelte-h":!0}),l(p)!=="svelte-6xtsel"&&(p.innerHTML=V),z=s(e),m=r(e,"P",{"data-svelte-h":!0}),l(m)!=="svelte-1wtux22"&&(m.textContent=W),M=s(e),f=r(e,"UL",{"data-svelte-h":!0}),l(f)!=="svelte-1euljsf"&&(f.innerHTML=X),k=s(e),g=r(e,"P",{"data-svelte-h":!0}),l(g)!=="svelte-116kkxj"&&(g.textContent=Y),H=s(e),b=r(e,"UL",{"data-svelte-h":!0}),l(b)!=="svelte-1stml3v"&&(b.innerHTML=Z),j=s(e),K(h.$$.fragment,e),E=s(e),v=r(e,"P",{"data-svelte-h":!0}),l(v)!=="svelte-1wizrvd"&&(v.textContent=ee),U=s(e),y=r(e,"UL",{"data-svelte-h":!0}),l(y)!=="svelte-1wjca98"&&(y.innerHTML=ae),F=s(e),_=r(e,"P",{"data-svelte-h":!0}),l(_)!=="svelte-11kx7ql"&&(_.textContent=oe),A=s(e),x=r(e,"UL",{"data-svelte-h":!0}),l(x)!=="svelte-nafgvv"&&(x.innerHTML=te),I=s(e),K(C.$$.fragment,e),N=s(e),$=r(e,"P",{}),ne($).forEach(o),this.h()},h(){se(d,"name","hf:doc:metadata"),se(d,"content",be)},m(e,a){me(document.head,d),t(e,P,a),t(e,T,a),t(e,q,a),D(c,e,a),t(e,w,a),t(e,u,a),t(e,L,a),t(e,p,a),t(e,z,a),t(e,m,a),t(e,M,a),t(e,f,a),t(e,k,a),t(e,g,a),t(e,H,a),t(e,b,a),t(e,j,a),D(h,e,a),t(e,E,a),t(e,v,a),t(e,U,a),t(e,y,a),t(e,F,a),t(e,_,a),t(e,A,a),t(e,x,a),t(e,I,a),D(C,e,a),t(e,N,a),t(e,$,a),S=!0},p:le,i(e){S||(O(c.$$.fragment,e),O(h.$$.fragment,e),O(C.$$.fragment,e),S=!0)},o(e){G(c.$$.fragment,e),G(h.$$.fragment,e),G(C.$$.fragment,e),S=!1},d(e){e&&(o(P),o(T),o(q),o(w),o(u),o(L),o(p),o(z),o(m),o(M),o(f),o(k),o(g),o(H),o(b),o(j),o(E),o(v),o(U),o(y),o(F),o(_),o(A),o(x),o(I),o(N),o($)),o(d),Q(c,e),Q(h,e),Q(C,e)}}}const be='{"title":"Filosofía","local":"filosofía","sections":[{"title":"Conceptos principales","local":"conceptos-principales","sections":[],"depth":2}],"depth":1}';function he(R){return de(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class xe extends ce{constructor(d){super(),ue(this,d,he,ge,re,{})}}export{xe as component};
