Buckets:

rtrm's picture
download
raw
57.8 kB
import{s as Dt,o as Pt,n as Mt}from"../chunks/scheduler.37c15a92.js";import{S as Kt,i as Ot,g as o,s,r as M,A as ea,h as r,f as t,c as n,j as Lt,u as d,x as i,k as ze,y as la,a,v as p,d as c,t as u,w as m}from"../chunks/index.2bf4358c.js";import{T as ot}from"../chunks/Tip.363c041f.js";import{Y as rt}from"../chunks/Youtube.1e50a667.js";import{C as J}from"../chunks/CodeBlock.4e987730.js";import{C as ta}from"../chunks/CourseFloatingBanner.6add7356.js";import{H as it}from"../chunks/Heading.8ada512a.js";import{E as aa}from"../chunks/getInferenceSnippets.5cee47d1.js";function sa(w){let y,U="🚨 ¿Ves el cuadro azul alrededor de “6 frames” en el traceback de Google Colab? Es una característica especial de Colab, que comprime el traceback en “frames”. Si no puedes encontrar el origen de un error, asegúrate de ampliar el traceback completo haciendo clic en esas dos flechitas.";return{c(){y=o("p"),y.textContent=U},l(b){y=r(b,"P",{"data-svelte-h":!0}),i(y)!=="svelte-aqoj6e"&&(y.textContent=U)},m(b,j){a(b,y,j)},p:Mt,d(b){b&&t(y)}}}function na(w){let y,U='💡 Si te encuentras con un mensaje de error difícil de entender, simplemente copia y pega el mensaje en la barra de búsqueda de Google o de <a href="https://stackoverflow.com/" rel="nofollow">Stack Overflow</a> (¡sí, en serio!). Es muy posible que no seas la primera persona en encontrar el error, y esta es una buena forma de hallar soluciones que otros miembros de la comunidad han publicado. Por ejemplo, al buscar <code>OSError: Can&#39;t load config for</code> en Stack Overflow se obtienen varios resultados que pueden ser utilizados como punto de partida para resolver el problema.';return{c(){y=o("p"),y.innerHTML=U},l(b){y=r(b,"P",{"data-svelte-h":!0}),i(y)!=="svelte-11fmgpl"&&(y.innerHTML=U)},m(b,j){a(b,y,j)},p:Mt,d(b){b&&t(y)}}}function oa(w){let y,U="🚨 El enfoque que tomamos aquí no es infalible, ya que nuestro compañero puede haber cambiado la configuración de <code>distilbert-base-uncased</code> antes de ajustar (fine-tuning) el modelo. En la vida real, nos gustaría consultar con él primero, pero para los fines de esta sección asumiremos que usó la configuración predeterminada.";return{c(){y=o("p"),y.innerHTML=U},l(b){y=r(b,"P",{"data-svelte-h":!0}),i(y)!=="svelte-1yubqnj"&&(y.innerHTML=U)},m(b,j){a(b,y,j)},p:Mt,d(b){b&&t(y)}}}function ra(w){let y,U,b,j,G,Ye,W,Ne,B,dt='En esta sección veremos algunos errores comunes que pueden ocurrir cuando intentas generar predicciones a partir de tu modelo Transformer recién afinado. Esto te preparará para la <a href="/course/chapter8/section4">sección 4</a>, en la que exploraremos cómo depurar (debug) la fase de entrenamiento.',He,k,Fe,X,pt='Hemos preparado un <a href="https://huggingface.co/lewtun/distilbert-base-uncased-finetuned-squad-d5716d28" rel="nofollow">repositorio de un modelo de ejemplo</a> para esta sección, por lo que si deseas ejecutar el código en este capítulo, primero necesitarás copiar el modelo a tu cuenta en el <a href="https://huggingface.co" rel="nofollow">Hub de Hugging Face</a>. Para ello, primero inicia sesión (log in) ejecutando lo siguiente en una Jupyter notebook:',Qe,v,qe,_,ct="o puedes ejecutar lo siguiente en tu terminal favorita:",Ee,V,Se,$,ut="Esto te pedirá que introduzcas tu nombre de usuario y contraseña, y guardará un token en <em>~/.cache/huggingface/</em>. Una vez que hayas iniciado sesión, puedes copiar el repositorio de ejemplo con la siguiente función:",Le,R,De,x,mt="Ahora cuando llames a la función <code>copy_repository_template()</code>, esta creará una copia del repositorio de ejemplo en tu cuenta.",Pe,z,Ke,A,yt="Para iniciar nuestro viaje hacia el maravilloso mundo de la depuración de modelos de Transformers, imagina lo siguiente: estás trabajando con un compañero en un proyecto de respuesta a preguntas (question answering) para ayudar a los clientes de un sitio web de comercio electrónico a encontrar respuestas sobre productos de consumo. Tu compañero te envía el siguiente mensaje:",Oe,Y,Jt='<p>¡Buen día! Acabo de lanzar un experimento usando las técnicas del <a href="/course/chapter7/7">Capitulo 7</a> del curso de Hugging Face y ¡obtuvo unos buenos resultados con el conjunto de datos SQuAD! Creo que podemos usar este modelo como punto de partida para nuestro proyecto. El identificador del modelo en el Hub es “lewtun/distillbert-base-uncased-finetuned-squad-d5716d28”. No dudes en probarlo :)</p>',el,N,bt="y en lo primero que piensas es en cargar el modelo usando el <code>pipeline</code> de la librería 🤗 Transformers:",ll,H,tl,F,al,Q,Ut="¡Oh no, algo parece estar mal! Si eres nuevo en programación, este tipo de errores pueden parecer un poco crípticos al inicio (¿qué es un <code>OSError</code>?). El error mostrado aquí es solo la última parte de un reporte de errores mucho más largo llamado <em>Python traceback</em> (o <em>stack trace</em>). Por ejemplo, si estás ejecutando este código en Google Colab, podrías ver algo parecido como la siguiente captura:",sl,T,jt='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/traceback.png" alt="A Python traceback." width="100%"/>',nl,q,wt='Hay mucha información contenida en estos reportes, así que vamos a repasar juntos las partes clave. La primera cosa que notamos es que el <em>traceback</em> debería ser leído de <em>abajo hacia arriba</em>. Esto puede sonar extraño si estás acostumbrado a leer en español de arriba hacia abajo, pero refleja el hecho de que el <em>traceback</em> muestra la secuencia de funciones llamadas que el <code>pipeline</code> realiza al descargar el modelo y el tokenizador. (Ve al <a href="/course/chapter2">Capítulo 2</a> para más detalles sobre cómo funciona el <code>pipeline</code> bajo el capó)',ol,f,rl,E,Tt="Esto significa que la última línea del traceback indica el último mensaje de error y nos da el nombre de la excepción (exception) que se ha generado. En este caso, el tipo de excepción es <code>OSError</code>, lo que indica un error relacionado con el sistema. Si leemos el mensaje de error que lo acompaña, podemos ver que parece haber un problema con el archivo <em>config.json</em> del modelo, y nos da dos sugerencias para solucionarlo:",il,S,Ml,h,dl,L,ft="La primera sugerencia nos pide que comprobemos si el identificador del modelo es realmente correcto, así que lo primero es copiar el identificador y pegarlo en la barra de búsqueda del Hub:",pl,Z,ht='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/wrong-model-id.png" alt="The wrong model name." width="100%"/>',cl,D,Zt="Hmm, efectivamente parece que el modelo de nuestro compañero no está en el Hub… ¡pero hay una errata en el nombre del modelo! DistilBERT solo tiene una “l” en el nombre, así que vamos a corregirlo y a buscar “lewtun/distilbert-base-uncased-finetuned-squad-d5716d28” en su lugar:",ul,I,It='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/true-model-id.png" alt="The right model name." width="100%"/>',ml,P,Ct="Bien, esto dio resultado. Ahora vamos a intentar descargar el modelo de nuevo con el identificador correcto:",yl,K,Jl,O,bl,ee,gt="Argh, falló de nuevo, ¡bienvenido al día a día de un ingeniero de machine learning! Dado que arreglamos el identificador del modelo, el problema debe estar en el repositorio. Una manera rápida de acceder a los contenidos de un repositorio en el 🤗 Hub es por medio de la función <code>list_repo_files()</code> de la librería de <code>huggingface_hub</code>:",Ul,le,jl,te,wl,ae,Gt='Interesante. ¡No parece haber un archivo <em>config.json</em> en el repositorio! No es de extrañar que nuestro <code>pipeline</code> no pudiera cargar el modelo; nuestro compañero debe haberse olvidado de enviar este archivo al Hub después de ajustarlo (fine-tuned). En este caso, el problema parece bastante simple de resolver: podemos pedirle a nuestro compañero que añada el archivo, o, ya que podemos ver en el identificador del modelo que el modelo preentrenado fue <a href="https://huggingface.co/distilbert-base-uncased" rel="nofollow"><code>distilbert-base-uncased</code></a>, podemos descargar la configuración para este modelo y enviarla a nuestro repositorio para ver si eso resuelve el problema. Intentemos esto. Usando las técnicas que aprendimos en el <a href="/course/chapter2">Capítulo 2</a>, podemos descargar la configuración del modelo con la clase <code>AutoConfig</code>:',Tl,se,fl,C,hl,ne,Wt="Luego podemos enviar esto a nuestro repositorio del modelo con la función de configuración <code>push_to_hub()</code>:",Zl,oe,Il,re,Bt="Ahora podemos probar si esto funciona cargando el modelo desde el último commit de la rama <code>main</code>:",Cl,ie,gl,Me,Gl,de,kt="¡Yuju, funcionó! Recapitulemos lo que acabas de aprender:",Wl,pe,Xt="<li>Los mensajes de error en Python son conocidos como <em>tracebacks</em> y se leen de abajo hacia arriba. La última línea del mensaje de error generalmente contiene la información que necesitas para ubicar la fuente del problema.</li> <li>Si la última línea no contiene suficiente información, sigue el traceback y mira si puedes identificar en qué parte del código fuente se produce el error.</li> <li>Si ninguno de los mensajes de error te ayuda a depurar el problema, trata de buscar en internet una solución a un problema similar.</li> <li>El 🤗 <code>huggingface_hub</code> de la librería proporciona un conjunto de herramientas que puedes utilizar para interactuar y depurar los repositorios en el Hub.</li>",Bl,ce,vt="Ahora que sabes cómo depurar un pipeline, vamos a ver un ejemplo más complicado en la pasada hacia delante (forward pass) del propio modelo.",kl,ue,Xl,me,_t="Aunque el <code>pipeline</code> es estupendo para la mayoría de las aplicaciones en las que necesitas generar predicciones rápidamente, a veces necesitarás acceder a los <em>logits</em> del modelo (por ejemplo, si tienes algún postprocesamiento personalizado que te gustaría aplicar). Para ver lo que puede salir mal en este caso, vamos a coger primero el modelo y el tokenizador de nuestro <code>pipeline</code>:",vl,ye,_l,Je,Vt="A continuación, necesitamos una pregunta, así que veamos si nuestros frameworks son compatibles:",Vl,be,$l,Ue,$t='Como vimos en el <a href="/course/chapter7">Capítulo 7</a>, los pasos habituales que debemos seguir son tokenizar los inputs, extraer los <em>logits</em> de los tokens de inicio y fin y luego decodificar el intervalo de la respuesta:',Rl,je,xl,we,zl,Te,Rt="Vaya, parece que tenemos un <em>bug</em> en nuestro código. Pero no nos asusta un poco de depuración. Puedes usar el depurador de Python en una notebook:",Al,fe,Yl,he,xt="o en una terminal:",Nl,Ze,Hl,Ie,zt="Aquí la lectura del mensaje de error nos dice que el objeto <code>&#39;list&#39;</code> no tiene atributo <code>&#39;size&#39;</code>, y podemos ver una flecha <code>--&gt;</code> apuntando a la línea donde el problema se originó en <code>model(**inputs)</code>. Puedes depurar esto interactivamente usando el <em>debugger</em> de Python, pero por ahora simplemente imprimiremos un fragmento de <code>inputs</code> para ver qué obtenemos:",Fl,Ce,Ql,ge,ql,Ge,At="Esto sin duda parece una <code>lista</code> ordinaria de Python, pero vamos a comprobar el tipo:",El,We,Sl,Be,Ll,ke,Yt='Sí, es una lista de Python. Entonces, ¿qué salió mal? Recordemos del <a href="/course/chapter2">Capítulo 2</a> que las clases <code>AutoModelForXxx</code> en 🤗 Transformers operan con <em>tensores</em> (tanto en PyTorch como en TensorFlow), y una operación común es extraer las dimensiones de un tensor usando <code>Tensor.size()</code> en, por ejemplo, PyTorch. Volvamos a echar un vistazo al traceback, para ver qué línea desencadenó la excepción:',Dl,Xe,Pl,ve,Nt='Parece que nuestro código trata de llamar a la función <code>input_ids.size()</code>, pero esta claramente no funcionará con una lista de Python, la cual solo es un contenedor. ¿Cómo podemos resolver este problema? La búsqueda del mensaje de error en Stack Overflow da bastantes <a href="https://stackoverflow.com/search?q=AttributeError%3A+%27list%27+object+has+no+attribute+%27size%27&amp;s=c15ec54c-63cb-481d-a749-408920073e8f" rel="nofollow">resultados</a> relevantes. Al hacer clic en el primero, aparece una pregunta similar a la nuestra, con la respuesta que se muestra en la siguiente captura de pantalla:',Kl,g,Ht='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/stack-overflow.png" alt="An answer from Stack Overflow." width="100%"/>',Ol,_e,Ft="La respuesta recomienda que adicionemos <code>return_tensors=&#39;pt&#39;</code> al tokenizador, así que veamos si esto nos funciona:",et,Ve,lt,$e,tt,Re,Qt='¡Excelente, funcionó! Este en un gran ejemplo de lo útil que puede ser Stack Overflow: al identificar un problema similar, fuimos capaces de beneficiarnos de la experiencia de otros en la comunidad. Sin embargo, una búsqueda como esta no siempre dará una respuesta relevante, así que ¿qué podemos hacer en esos casos? Afortunadamente hay una comunidad acogedora de desarrolladores en los <a href="https://discuss.huggingface.co/" rel="nofollow">foros de Hugging Face</a> que pueden ayudarte. En la siguiente sección, veremos cómo elaborar buenas preguntas en el foro que tengan posibilidades de ser respondidas.',at,xe,st,Ae,nt;return G=new it({props:{title:"¿Qué hacer cuando se produce un error?",local:"qué-hacer-cuando-se-produce-un-error",headingTag:"h1"}}),W=new ta({props:{chapter:8,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/es/chapter8/section2.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/es/chapter8/section2.ipynb"}]}}),k=new rt({props:{id:"DQ-CpJn6Rc4"}}),v=new J({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMG5vdGVib29rX2xvZ2luJTBBJTBBbm90ZWJvb2tfbG9naW4oKQ==",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> notebook_login
notebook_login()`,wrap:!1}}),V=new J({props:{code:"aHVnZ2luZ2ZhY2UtY2xpJTIwbG9naW4=",highlighted:"huggingface-cli login",wrap:!1}}),R=new J({props:{code:"ZnJvbSUyMGRpc3R1dGlscy5kaXJfdXRpbCUyMGltcG9ydCUyMGNvcHlfdHJlZSUwQWZyb20lMjBodWdnaW5nZmFjZV9odWIlMjBpbXBvcnQlMjBSZXBvc2l0b3J5JTJDJTIwc25hcHNob3RfZG93bmxvYWQlMkMlMjBjcmVhdGVfcmVwbyUyQyUyMGdldF9mdWxsX3JlcG9fbmFtZSUwQSUwQSUwQWRlZiUyMGNvcHlfcmVwb3NpdG9yeV90ZW1wbGF0ZSgpJTNBJTBBJTIwJTIwJTIwJTIwJTIzJTIwQ2xvbmElMjBlbCUyMHJlcG8lMjB5JTIwZXh0cmFlJTIwbGElMjBydXRhJTIwbG9jYWwlMEElMjAlMjAlMjAlMjB0ZW1wbGF0ZV9yZXBvX2lkJTIwJTNEJTIwJTIybGV3dHVuJTJGZGlzdGlsYmVydC1iYXNlLXVuY2FzZWQtZmluZXR1bmVkLXNxdWFkLWQ1NzE2ZDI4JTIyJTBBJTIwJTIwJTIwJTIwY29tbWl0X2hhc2glMjAlM0QlMjAlMjJiZTNlYWZmYzI4NjY5ZDc5MzI0OTI2ODFjZDVmM2U4OTA1ZTM1OGI0JTIyJTBBJTIwJTIwJTIwJTIwdGVtcGxhdGVfcmVwb19kaXIlMjAlM0QlMjBzbmFwc2hvdF9kb3dubG9hZCh0ZW1wbGF0ZV9yZXBvX2lkJTJDJTIwcmV2aXNpb24lM0Rjb21taXRfaGFzaCklMEElMjAlMjAlMjAlMjAlMjMlMjBDcmVhJTIwdW4lMjByZXBvJTIwdmFjJUMzJUFEbyUyMGVuJTIwZWwlMjBIdWIlMEElMjAlMjAlMjAlMjBtb2RlbF9uYW1lJTIwJTNEJTIwdGVtcGxhdGVfcmVwb19pZC5zcGxpdCglMjIlMkYlMjIpJTVCMSU1RCUwQSUyMCUyMCUyMCUyMGNyZWF0ZV9yZXBvKG1vZGVsX25hbWUlMkMlMjBleGlzdF9vayUzRFRydWUpJTBBJTIwJTIwJTIwJTIwJTIzJTIwQ2xvbmElMjBlbCUyMHJlcG8lMjB2YWMlQzMlQURvJTBBJTIwJTIwJTIwJTIwbmV3X3JlcG9faWQlMjAlM0QlMjBnZXRfZnVsbF9yZXBvX25hbWUobW9kZWxfbmFtZSklMEElMjAlMjAlMjAlMjBuZXdfcmVwb19kaXIlMjAlM0QlMjBtb2RlbF9uYW1lJTBBJTIwJTIwJTIwJTIwcmVwbyUyMCUzRCUyMFJlcG9zaXRvcnkobG9jYWxfZGlyJTNEbmV3X3JlcG9fZGlyJTJDJTIwY2xvbmVfZnJvbSUzRG5ld19yZXBvX2lkKSUwQSUyMCUyMCUyMCUyMCUyMyUyMENvcGlhJTIwbG9zJTIwYXJjaGl2b3MlMEElMjAlMjAlMjAlMjBjb3B5X3RyZWUodGVtcGxhdGVfcmVwb19kaXIlMkMlMjBuZXdfcmVwb19kaXIpJTBBJTIwJTIwJTIwJTIwJTIzJTIwRW52aWElMjAocHVzaCklMjBhbCUyMEh1YiUwQSUyMCUyMCUyMCUyMHJlcG8ucHVzaF90b19odWIoKQ==",highlighted:`<span class="hljs-keyword">from</span> distutils.dir_util <span class="hljs-keyword">import</span> copy_tree
<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> Repository, snapshot_download, create_repo, get_full_repo_name
<span class="hljs-keyword">def</span> <span class="hljs-title function_">copy_repository_template</span>():
<span class="hljs-comment"># Clona el repo y extrae la ruta local</span>
template_repo_id = <span class="hljs-string">&quot;lewtun/distilbert-base-uncased-finetuned-squad-d5716d28&quot;</span>
commit_hash = <span class="hljs-string">&quot;be3eaffc28669d7932492681cd5f3e8905e358b4&quot;</span>
template_repo_dir = snapshot_download(template_repo_id, revision=commit_hash)
<span class="hljs-comment"># Crea un repo vacío en el Hub</span>
model_name = template_repo_id.split(<span class="hljs-string">&quot;/&quot;</span>)[<span class="hljs-number">1</span>]
create_repo(model_name, exist_ok=<span class="hljs-literal">True</span>)
<span class="hljs-comment"># Clona el repo vacío</span>
new_repo_id = get_full_repo_name(model_name)
new_repo_dir = model_name
repo = Repository(local_dir=new_repo_dir, clone_from=new_repo_id)
<span class="hljs-comment"># Copia los archivos</span>
copy_tree(template_repo_dir, new_repo_dir)
<span class="hljs-comment"># Envia (push) al Hub</span>
repo.push_to_hub()`,wrap:!1}}),z=new it({props:{title:"Depurando el pipeline de 🤗 Transformers",local:"depurando-el-pipeline-de--transformers",headingTag:"h2"}}),H=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMHBpcGVsaW5lJTBBJTBBbW9kZWxfY2hlY2twb2ludCUyMCUzRCUyMGdldF9mdWxsX3JlcG9fbmFtZSglMjJkaXN0aWxsYmVydC1iYXNlLXVuY2FzZWQtZmluZXR1bmVkLXNxdWFkLWQ1NzE2ZDI4JTIyKSUwQXJlYWRlciUyMCUzRCUyMHBpcGVsaW5lKCUyMnF1ZXN0aW9uLWFuc3dlcmluZyUyMiUyQyUyMG1vZGVsJTNEbW9kZWxfY2hlY2twb2ludCk=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline
model_checkpoint = get_full_repo_name(<span class="hljs-string">&quot;distillbert-base-uncased-finetuned-squad-d5716d28&quot;</span>)
reader = pipeline(<span class="hljs-string">&quot;question-answering&quot;</span>, model=model_checkpoint)`,wrap:!1}}),F=new J({props:{code:"JTIyJTIyJTIyJTBBT1NFcnJvciUzQSUyMENhbid0JTIwbG9hZCUyMGNvbmZpZyUyMGZvciUyMCdsZXd0dW4lMkZkaXN0aWxsYmVydC1iYXNlLXVuY2FzZWQtZmluZXR1bmVkLXNxdWFkLWQ1NzE2ZDI4Jy4lMjBNYWtlJTIwc3VyZSUyMHRoYXQlM0ElMEElMEEtJTIwJ2xld3R1biUyRmRpc3RpbGxiZXJ0LWJhc2UtdW5jYXNlZC1maW5ldHVuZWQtc3F1YWQtZDU3MTZkMjgnJTIwaXMlMjBhJTIwY29ycmVjdCUyMG1vZGVsJTIwaWRlbnRpZmllciUyMGxpc3RlZCUyMG9uJTIwJ2h0dHBzJTNBJTJGJTJGaHVnZ2luZ2ZhY2UuY28lMkZtb2RlbHMnJTBBJTBBLSUyMG9yJTIwJ2xld3R1biUyRmRpc3RpbGxiZXJ0LWJhc2UtdW5jYXNlZC1maW5ldHVuZWQtc3F1YWQtZDU3MTZkMjgnJTIwaXMlMjB0aGUlMjBjb3JyZWN0JTIwcGF0aCUyMHRvJTIwYSUyMGRpcmVjdG9yeSUyMGNvbnRhaW5pbmclMjBhJTIwY29uZmlnLmpzb24lMjBmaWxlJTBBJTIyJTIyJTIy",highlighted:`<span class="hljs-string">&quot;&quot;&quot;
OSError: Can&#x27;t load config for &#x27;lewtun/distillbert-base-uncased-finetuned-squad-d5716d28&#x27;. Make sure that:
- &#x27;lewtun/distillbert-base-uncased-finetuned-squad-d5716d28&#x27; is a correct model identifier listed on &#x27;https://huggingface.co/models&#x27;
- or &#x27;lewtun/distillbert-base-uncased-finetuned-squad-d5716d28&#x27; is the correct path to a directory containing a config.json file
&quot;&quot;&quot;</span>`,wrap:!1}}),f=new ot({props:{$$slots:{default:[sa]},$$scope:{ctx:w}}}),S=new J({props:{code:"JTIyJTIyJTIyJTBBTWFrZSUyMHN1cmUlMjB0aGF0JTNBJTBBJTBBLSUyMCdsZXd0dW4lMkZkaXN0aWxsYmVydC1iYXNlLXVuY2FzZWQtZmluZXR1bmVkLXNxdWFkLWQ1NzE2ZDI4JyUyMGlzJTIwYSUyMGNvcnJlY3QlMjBtb2RlbCUyMGlkZW50aWZpZXIlMjBsaXN0ZWQlMjBvbiUyMCdodHRwcyUzQSUyRiUyRmh1Z2dpbmdmYWNlLmNvJTJGbW9kZWxzJyUwQSUwQS0lMjBvciUyMCdsZXd0dW4lMkZkaXN0aWxsYmVydC1iYXNlLXVuY2FzZWQtZmluZXR1bmVkLXNxdWFkLWQ1NzE2ZDI4JyUyMGlzJTIwdGhlJTIwY29ycmVjdCUyMHBhdGglMjB0byUyMGElMjBkaXJlY3RvcnklMjBjb250YWluaW5nJTIwYSUyMGNvbmZpZy5qc29uJTIwZmlsZSUwQSUyMiUyMiUyMg==",highlighted:`<span class="hljs-string">&quot;&quot;&quot;
Make sure that:
- &#x27;lewtun/distillbert-base-uncased-finetuned-squad-d5716d28&#x27; is a correct model identifier listed on &#x27;https://huggingface.co/models&#x27;
- or &#x27;lewtun/distillbert-base-uncased-finetuned-squad-d5716d28&#x27; is the correct path to a directory containing a config.json file
&quot;&quot;&quot;</span>`,wrap:!1}}),h=new ot({props:{$$slots:{default:[na]},$$scope:{ctx:w}}}),K=new J({props:{code:"bW9kZWxfY2hlY2twb2ludCUyMCUzRCUyMGdldF9mdWxsX3JlcG9fbmFtZSglMjJkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZC1maW5ldHVuZWQtc3F1YWQtZDU3MTZkMjglMjIpJTBBcmVhZGVyJTIwJTNEJTIwcGlwZWxpbmUoJTIycXVlc3Rpb24tYW5zd2VyaW5nJTIyJTJDJTIwbW9kZWwlM0Rtb2RlbF9jaGVja3BvaW50KQ==",highlighted:`model_checkpoint = get_full_repo_name(<span class="hljs-string">&quot;distilbert-base-uncased-finetuned-squad-d5716d28&quot;</span>)
reader = pipeline(<span class="hljs-string">&quot;question-answering&quot;</span>, model=model_checkpoint)`,wrap:!1}}),O=new J({props:{code:"JTIyJTIyJTIyJTBBT1NFcnJvciUzQSUyMENhbid0JTIwbG9hZCUyMGNvbmZpZyUyMGZvciUyMCdsZXd0dW4lMkZkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZC1maW5ldHVuZWQtc3F1YWQtZDU3MTZkMjgnLiUyME1ha2UlMjBzdXJlJTIwdGhhdCUzQSUwQSUwQS0lMjAnbGV3dHVuJTJGZGlzdGlsYmVydC1iYXNlLXVuY2FzZWQtZmluZXR1bmVkLXNxdWFkLWQ1NzE2ZDI4JyUyMGlzJTIwYSUyMGNvcnJlY3QlMjBtb2RlbCUyMGlkZW50aWZpZXIlMjBsaXN0ZWQlMjBvbiUyMCdodHRwcyUzQSUyRiUyRmh1Z2dpbmdmYWNlLmNvJTJGbW9kZWxzJyUwQSUwQS0lMjBvciUyMCdsZXd0dW4lMkZkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZC1maW5ldHVuZWQtc3F1YWQtZDU3MTZkMjgnJTIwaXMlMjB0aGUlMjBjb3JyZWN0JTIwcGF0aCUyMHRvJTIwYSUyMGRpcmVjdG9yeSUyMGNvbnRhaW5pbmclMjBhJTIwY29uZmlnLmpzb24lMjBmaWxlJTBBJTIyJTIyJTIy",highlighted:`<span class="hljs-string">&quot;&quot;&quot;
OSError: Can&#x27;t load config for &#x27;lewtun/distilbert-base-uncased-finetuned-squad-d5716d28&#x27;. Make sure that:
- &#x27;lewtun/distilbert-base-uncased-finetuned-squad-d5716d28&#x27; is a correct model identifier listed on &#x27;https://huggingface.co/models&#x27;
- or &#x27;lewtun/distilbert-base-uncased-finetuned-squad-d5716d28&#x27; is the correct path to a directory containing a config.json file
&quot;&quot;&quot;</span>`,wrap:!1}}),le=new J({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMGxpc3RfcmVwb19maWxlcyUwQSUwQWxpc3RfcmVwb19maWxlcyhyZXBvX2lkJTNEbW9kZWxfY2hlY2twb2ludCk=",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> list_repo_files
list_repo_files(repo_id=model_checkpoint)`,wrap:!1}}),te=new J({props:{code:"JTVCJy5naXRhdHRyaWJ1dGVzJyUyQyUyMCdSRUFETUUubWQnJTJDJTIwJ3B5dG9yY2hfbW9kZWwuYmluJyUyQyUyMCdzcGVjaWFsX3Rva2Vuc19tYXAuanNvbiclMkMlMjAndG9rZW5pemVyX2NvbmZpZy5qc29uJyUyQyUyMCd0cmFpbmluZ19hcmdzLmJpbiclMkMlMjAndm9jYWIudHh0JyU1RA==",highlighted:'[<span class="hljs-string">&#x27;.gitattributes&#x27;</span>, <span class="hljs-string">&#x27;README.md&#x27;</span>, <span class="hljs-string">&#x27;pytorch_model.bin&#x27;</span>, <span class="hljs-string">&#x27;special_tokens_map.json&#x27;</span>, <span class="hljs-string">&#x27;tokenizer_config.json&#x27;</span>, <span class="hljs-string">&#x27;training_args.bin&#x27;</span>, <span class="hljs-string">&#x27;vocab.txt&#x27;</span>]',wrap:!1}}),se=new J({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Db25maWclMEElMEFwcmV0cmFpbmVkX2NoZWNrcG9pbnQlMjAlM0QlMjAlMjJkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZCUyMiUwQWNvbmZpZyUyMCUzRCUyMEF1dG9Db25maWcuZnJvbV9wcmV0cmFpbmVkKHByZXRyYWluZWRfY2hlY2twb2ludCk=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoConfig
pretrained_checkpoint = <span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>
config = AutoConfig.from_pretrained(pretrained_checkpoint)`,wrap:!1}}),C=new ot({props:{warning:!0,$$slots:{default:[oa]},$$scope:{ctx:w}}}),oe=new J({props:{code:"Y29uZmlnLnB1c2hfdG9faHViKG1vZGVsX2NoZWNrcG9pbnQlMkMlMjBjb21taXRfbWVzc2FnZSUzRCUyMkFkZCUyMGNvbmZpZy5qc29uJTIyKQ==",highlighted:'config.push_to_hub(model_checkpoint, commit_message=<span class="hljs-string">&quot;Add config.json&quot;</span>)',wrap:!1}}),ie=new J({props:{code:"cmVhZGVyJTIwJTNEJTIwcGlwZWxpbmUoJTIycXVlc3Rpb24tYW5zd2VyaW5nJTIyJTJDJTIwbW9kZWwlM0Rtb2RlbF9jaGVja3BvaW50JTJDJTIwcmV2aXNpb24lM0QlMjJtYWluJTIyKSUwQSUwQWNvbnRleHQlMjAlM0QlMjByJTIyJTIyJTIyJTBBRXh0cmFjdGl2ZSUyMFF1ZXN0aW9uJTIwQW5zd2VyaW5nJTIwaXMlMjB0aGUlMjB0YXNrJTIwb2YlMjBleHRyYWN0aW5nJTIwYW4lMjBhbnN3ZXIlMjBmcm9tJTIwYSUyMHRleHQlMEFnaXZlbiUyMGElMjBxdWVzdGlvbi4lMjBBbiUyMGV4YW1wbGUlMjBvZiUyMGElMjBxdWVzdGlvbiUyMGFuc3dlcmluZyUyMGRhdGFzZXQlMjBpcyUyMHRoZSUyMFNRdUFEJTBBZGF0YXNldCUyQyUyMHdoaWNoJTIwaXMlMjBlbnRpcmVseSUyMGJhc2VkJTIwb24lMjB0aGF0JTIwdGFzay4lMjBJZiUyMHlvdSUyMHdvdWxkJTIwbGlrZSUyMHRvJTIwZmluZS10dW5lJTIwYSUwQW1vZGVsJTIwb24lMjBhJTIwU1F1QUQlMjB0YXNrJTJDJTIweW91JTIwbWF5JTIwbGV2ZXJhZ2UlMjB0aGUlMEFleGFtcGxlcyUyRnB5dG9yY2glMkZxdWVzdGlvbi1hbnN3ZXJpbmclMkZydW5fc3F1YWQucHklMjBzY3JpcHQuJTBBJTBBJUYwJTlGJUE0JTk3JTIwVHJhbnNmb3JtZXJzJTIwaXMlMjBpbnRlcm9wZXJhYmxlJTIwd2l0aCUyMHRoZSUyMFB5VG9yY2glMkMlMjBUZW5zb3JGbG93JTJDJTIwYW5kJTIwSkFYJTBBZnJhbWV3b3JrcyUyQyUyMHNvJTIweW91JTIwY2FuJTIwdXNlJTIweW91ciUyMGZhdm91cml0ZSUyMHRvb2xzJTIwZm9yJTIwYSUyMHdpZGUlMjB2YXJpZXR5JTIwb2YlMjB0YXNrcyElMEElMjIlMjIlMjIlMEElMEFjb250ZXh0X2VzJTIwJTNEJTIwciUyMiUyMiUyMiUwQUxhJTIwcmVzcHVlc3RhJTIwYSUyMHByZWd1bnRhcyUyMGVzJTIwbGElMjBleHRyYWNjaSVDMyVCM24lMjBkZSUyMHVuYSUyMHJlc3B1ZXN0YSUyMHRleHR1YWwlMjBhJTIwcGFydGlyJTIwZGUlMjAlMEF1bmElMjBwcmVndW50YS4lMjBVbiUyMGVqZW1wbG8lMjBkZSUyMGNvbmp1bnRvJTIwZGUlMjBkYXRvcyUyMGRlJTIwcmVzcHVlc3RhJTIwYSUyMHByZWd1bnRhcyUyMGVzJTIwZWwlMjAlMEFkYXRhc2V0JTIwU1F1QUQlMkMlMjBxdWUlMjBzZSUyMGJhc2ElMjBwb3IlMjBjb21wbGV0byUyMGVuJTIwZXN0YSUyMHRhcmVhLiUyMFNpJTIwZGVzZWFzJTIwYWZpbmFyJTIwdW4lMjBtb2RlbG8lMjAlMEFlbiUyMHVuYSUyMHRhcmVhJTIwU1F1QUQlMkMlMjBwdWVkZXMlMjBhcHJvdmVjaGFyJTIwZWwlMjBzY3JpcHQlMEElMjBleGFtcGxlcyUyRnB5dG9yY2glMkZxdWVzdGlvbi1hbnN3ZXJpbmclMkZydW5fc3F1YWQucHklMEElMEElRjAlOUYlQTQlOTclMjBUcmFuc2Zvcm1lcnMlMjBlcyUyMGludGVyb3BlcmFibGUlMjBjb24lMjBsb3MlMjBmcmFtZXdvcmtzJTIwUHlUb3JjaCUyQyUyMFRlbnNvckZsb3clMjB5JTIwSkFYJTJDJTIwJTBBYXMlQzMlQUQlMjBxdWUlMjAlQzIlQTFwdWVkZXMlMjB1dGlsaXphciUyMHR1cyUyMGhlcnJhbWllbnRhcyUyMGZhdm9yaXRhcyUyMHBhcmElMjB1bmElMjBncmFuJTIwdmFyaWVkYWQlMjBkZSUyMHRhcmVhcyElMEElMjIlMjIlMjIlMEElMEFxdWVzdGlvbiUyMCUzRCUyMCUyMldoYXQlMjBpcyUyMGV4dHJhY3RpdmUlMjBxdWVzdGlvbiUyMGFuc3dlcmluZyUzRiUyMiUwQSUyMyUyMCVDMiVCRlF1JUMzJUE5JTIwZXMlMjBsYSUyMHJlc3B1ZXN0YSUyMGV4dHJhY3RpdmElMjBhJTIwcHJlZ3VudGFzJTNGJTBBcmVhZGVyKHF1ZXN0aW9uJTNEcXVlc3Rpb24lMkMlMjBjb250ZXh0JTNEY29udGV4dCk=",highlighted:`reader = pipeline(<span class="hljs-string">&quot;question-answering&quot;</span>, model=model_checkpoint, revision=<span class="hljs-string">&quot;main&quot;</span>)
context = <span class="hljs-string">r&quot;&quot;&quot;
Extractive Question Answering is the task of extracting an answer from a text
given a question. An example of a question answering dataset is the SQuAD
dataset, which is entirely based on that task. If you would like to fine-tune a
model on a SQuAD task, you may leverage the
examples/pytorch/question-answering/run_squad.py script.
🤗 Transformers is interoperable with the PyTorch, TensorFlow, and JAX
frameworks, so you can use your favourite tools for a wide variety of tasks!
&quot;&quot;&quot;</span>
context_es = <span class="hljs-string">r&quot;&quot;&quot;
La respuesta a preguntas es la extracción de una respuesta textual a partir de
una pregunta. Un ejemplo de conjunto de datos de respuesta a preguntas es el
dataset SQuAD, que se basa por completo en esta tarea. Si deseas afinar un modelo
en una tarea SQuAD, puedes aprovechar el script
examples/pytorch/question-answering/run_squad.py
🤗 Transformers es interoperable con los frameworks PyTorch, TensorFlow y JAX,
así que ¡puedes utilizar tus herramientas favoritas para una gran variedad de tareas!
&quot;&quot;&quot;</span>
question = <span class="hljs-string">&quot;What is extractive question answering?&quot;</span>
<span class="hljs-comment"># ¿Qué es la respuesta extractiva a preguntas?</span>
reader(question=question, context=context)`,wrap:!1}}),Me=new J({props:{code:"JTdCJ3Njb3JlJyUzQSUyMDAuMzg2Njk1MzU1MTc2OTI1NjYlMkMlMEElMjAnc3RhcnQnJTNBJTIwMzQlMkMlMEElMjAnZW5kJyUzQSUyMDk1JTJDJTBBJTIwJ2Fuc3dlciclM0ElMjAndGhlJTIwdGFzayUyMG9mJTIwZXh0cmFjdGluZyUyMGFuJTIwYW5zd2VyJTIwZnJvbSUyMGElMjB0ZXh0JTIwZ2l2ZW4lMjBhJTIwcXVlc3Rpb24nJTdEJTBBJTIwJTIzJTIwbGElMjB0YXJlYSUyMGRlJTIwZXh0cmFlciUyMHVuYSUyMHJlc3B1ZXN0YSUyMGRlJTIwdW4lMjB0ZXh0byUyMGElMjB1bmElMjBwcmVndW50YSUyMGRhZGE=",highlighted:`{<span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.38669535517692566</span>,
<span class="hljs-string">&#x27;start&#x27;</span>: <span class="hljs-number">34</span>,
<span class="hljs-string">&#x27;end&#x27;</span>: <span class="hljs-number">95</span>,
<span class="hljs-string">&#x27;answer&#x27;</span>: <span class="hljs-string">&#x27;the task of extracting an answer from a text given a question&#x27;</span>}
<span class="hljs-comment"># la tarea de extraer una respuesta de un texto a una pregunta dada</span>`,wrap:!1}}),ue=new it({props:{title:"Depurando la pasada hacia delante (forward pass) de tu modelo",local:"depurando-la-pasada-hacia-delante-forward-pass-de-tu-modelo",headingTag:"h2"}}),ye=new J({props:{code:"dG9rZW5pemVyJTIwJTNEJTIwcmVhZGVyLnRva2VuaXplciUwQW1vZGVsJTIwJTNEJTIwcmVhZGVyLm1vZGVs",highlighted:`tokenizer = reader.tokenizer
model = reader.model`,wrap:!1}}),be=new J({props:{code:"cXVlc3Rpb24lMjAlM0QlMjAlMjJXaGljaCUyMGZyYW1ld29ya3MlMjBjYW4lMjBJJTIwdXNlJTNGJTIyJTIwJTIwJTIzJTIwJUMyJUJGUXUlQzMlQTklMjBmcmFtZXdvcmtzJTIwcHVlZG8lMjB1c2FyJTNG",highlighted:'question = <span class="hljs-string">&quot;Which frameworks can I use?&quot;</span> <span class="hljs-comment"># ¿Qué frameworks puedo usar?</span>',wrap:!1}}),je=new J({props:{code:"aW1wb3J0JTIwdG9yY2glMEElMEFpbnB1dHMlMjAlM0QlMjB0b2tlbml6ZXIocXVlc3Rpb24lMkMlMjBjb250ZXh0JTJDJTIwYWRkX3NwZWNpYWxfdG9rZW5zJTNEVHJ1ZSklMEFpbnB1dF9pZHMlMjAlM0QlMjBpbnB1dHMlNUIlMjJpbnB1dF9pZHMlMjIlNUQlNUIwJTVEJTBBb3V0cHV0cyUyMCUzRCUyMG1vZGVsKCoqaW5wdXRzKSUwQWFuc3dlcl9zdGFydF9zY29yZXMlMjAlM0QlMjBvdXRwdXRzLnN0YXJ0X2xvZ2l0cyUwQWFuc3dlcl9lbmRfc2NvcmVzJTIwJTNEJTIwb3V0cHV0cy5lbmRfbG9naXRzJTBBJTIzJTIwT2J0aWVuZSUyMGVsJTIwY29taWVuem8lMjBtJUMzJUExcyUyMHByb2JhYmxlJTIwZGUlMjBsYSUyMHJlc3B1ZXN0YSUyMGNvbiUyMGVsJTIwYXJnbWF4JTIwZGUlMjBsYSUyMHB1bnR1YWNpJUMzJUIzbiUwQWFuc3dlcl9zdGFydCUyMCUzRCUyMHRvcmNoLmFyZ21heChhbnN3ZXJfc3RhcnRfc2NvcmVzKSUwQSUyMyUyME9idGllbmUlMjBlbCUyMGZpbmFsJTIwbSVDMyVBMXMlMjBwcm9iYWJsZSUyMGRlJTIwbGElMjByZXNwdWVzdGElMjBjb24lMjBlbCUyMGFyZ21heCUyMGRlJTIwbGElMjBwdW50dWFjaSVDMyVCM24lMEFhbnN3ZXJfZW5kJTIwJTNEJTIwdG9yY2guYXJnbWF4KGFuc3dlcl9lbmRfc2NvcmVzKSUyMCUyQiUyMDElMEFhbnN3ZXIlMjAlM0QlMjB0b2tlbml6ZXIuY29udmVydF90b2tlbnNfdG9fc3RyaW5nKCUwQSUyMCUyMCUyMCUyMHRva2VuaXplci5jb252ZXJ0X2lkc190b190b2tlbnMoaW5wdXRfaWRzJTVCYW5zd2VyX3N0YXJ0JTNBYW5zd2VyX2VuZCU1RCklMEEpJTBBcHJpbnQoZiUyMlF1ZXN0aW9uJTNBJTIwJTdCcXVlc3Rpb24lN0QlMjIpJTBBcHJpbnQoZiUyMkFuc3dlciUzQSUyMCU3QmFuc3dlciU3RCUyMik=",highlighted:`<span class="hljs-keyword">import</span> torch
inputs = tokenizer(question, context, add_special_tokens=<span class="hljs-literal">True</span>)
input_ids = inputs[<span class="hljs-string">&quot;input_ids&quot;</span>][<span class="hljs-number">0</span>]
outputs = model(**inputs)
answer_start_scores = outputs.start_logits
answer_end_scores = outputs.end_logits
<span class="hljs-comment"># Obtiene el comienzo más probable de la respuesta con el argmax de la puntuación</span>
answer_start = torch.argmax(answer_start_scores)
<span class="hljs-comment"># Obtiene el final más probable de la respuesta con el argmax de la puntuación</span>
answer_end = torch.argmax(answer_end_scores) + <span class="hljs-number">1</span>
answer = tokenizer.convert_tokens_to_string(
tokenizer.convert_ids_to_tokens(input_ids[answer_start:answer_end])
)
<span class="hljs-built_in">print</span>(<span class="hljs-string">f&quot;Question: <span class="hljs-subst">{question}</span>&quot;</span>)
<span class="hljs-built_in">print</span>(<span class="hljs-string">f&quot;Answer: <span class="hljs-subst">{answer}</span>&quot;</span>)`,wrap:!1}}),we=new J({props:{code:"JTIyJTIyJTIyJTBBLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJTBBQXR0cmlidXRlRXJyb3IlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBUcmFjZWJhY2slMjAobW9zdCUyMHJlY2VudCUyMGNhbGwlMjBsYXN0KSUwQSUyRnZhciUyRmZvbGRlcnMlMkYyOCUyRms0Y3k1cTdzMmhzOTJ4cTdfaDg5X3ZnbTAwMDBnbiUyRlQlMkZpcHlrZXJuZWxfNzU3NDMlMkYyNzI1ODM4MDczLnB5JTIwaW4lMjAlM0Ntb2R1bGUlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAxJTIwaW5wdXRzJTIwJTNEJTIwdG9rZW5pemVyKHF1ZXN0aW9uJTJDJTIwdGV4dCUyQyUyMGFkZF9zcGVjaWFsX3Rva2VucyUzRFRydWUpJTBBJTIwJTIwJTIwJTIwJTIwJTIwMiUyMGlucHV0X2lkcyUyMCUzRCUyMGlucHV0cyU1QiUyMmlucHV0X2lkcyUyMiU1RCUwQS0tLS0lM0UlMjAzJTIwb3V0cHV0cyUyMCUzRCUyMG1vZGVsKCoqaW5wdXRzKSUwQSUyMCUyMCUyMCUyMCUyMCUyMDQlMjBhbnN3ZXJfc3RhcnRfc2NvcmVzJTIwJTNEJTIwb3V0cHV0cy5zdGFydF9sb2dpdHMlMEElMjAlMjAlMjAlMjAlMjAlMjA1JTIwYW5zd2VyX2VuZF9zY29yZXMlMjAlM0QlMjBvdXRwdXRzLmVuZF9sb2dpdHMlMEElMEF+JTJGbWluaWNvbmRhMyUyRmVudnMlMkZodWdnaW5nZmFjZSUyRmxpYiUyRnB5dGhvbjMuOCUyRnNpdGUtcGFja2FnZXMlMkZ0b3JjaCUyRm5uJTJGbW9kdWxlcyUyRm1vZHVsZS5weSUyMGluJTIwX2NhbGxfaW1wbChzZWxmJTJDJTIwKmlucHV0JTJDJTIwKiprd2FyZ3MpJTBBJTIwJTIwJTIwMTA0OSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlmJTIwbm90JTIwKHNlbGYuX2JhY2t3YXJkX2hvb2tzJTIwb3IlMjBzZWxmLl9mb3J3YXJkX2hvb2tzJTIwb3IlMjBzZWxmLl9mb3J3YXJkX3ByZV9ob29rcyUyMG9yJTIwX2dsb2JhbF9iYWNrd2FyZF9ob29rcyUwQSUyMCUyMCUyMDEwNTAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBvciUyMF9nbG9iYWxfZm9yd2FyZF9ob29rcyUyMG9yJTIwX2dsb2JhbF9mb3J3YXJkX3ByZV9ob29rcyklM0ElMEEtJTNFJTIwMTA1MSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMGZvcndhcmRfY2FsbCgqaW5wdXQlMkMlMjAqKmt3YXJncyklMEElMjAlMjAlMjAxMDUyJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwRG8lMjBub3QlMjBjYWxsJTIwZnVuY3Rpb25zJTIwd2hlbiUyMGppdCUyMGlzJTIwdXNlZCUwQSUyMCUyMCUyMDEwNTMlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBmdWxsX2JhY2t3YXJkX2hvb2tzJTJDJTIwbm9uX2Z1bGxfYmFja3dhcmRfaG9va3MlMjAlM0QlMjAlNUIlNUQlMkMlMjAlNUIlNUQlMEElMEF+JTJGbWluaWNvbmRhMyUyRmVudnMlMkZodWdnaW5nZmFjZSUyRmxpYiUyRnB5dGhvbjMuOCUyRnNpdGUtcGFja2FnZXMlMkZ0cmFuc2Zvcm1lcnMlMkZtb2RlbHMlMkZkaXN0aWxiZXJ0JTJGbW9kZWxpbmdfZGlzdGlsYmVydC5weSUyMGluJTIwZm9yd2FyZChzZWxmJTJDJTIwaW5wdXRfaWRzJTJDJTIwYXR0ZW50aW9uX21hc2slMkMlMjBoZWFkX21hc2slMkMlMjBpbnB1dHNfZW1iZWRzJTJDJTIwc3RhcnRfcG9zaXRpb25zJTJDJTIwZW5kX3Bvc2l0aW9ucyUyQyUyMG91dHB1dF9hdHRlbnRpb25zJTJDJTIwb3V0cHV0X2hpZGRlbl9zdGF0ZXMlMkMlMjByZXR1cm5fZGljdCklMEElMjAlMjAlMjAlMjA3MjMlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm5fZGljdCUyMCUzRCUyMHJldHVybl9kaWN0JTIwaWYlMjByZXR1cm5fZGljdCUyMGlzJTIwbm90JTIwTm9uZSUyMGVsc2UlMjBzZWxmLmNvbmZpZy51c2VfcmV0dXJuX2RpY3QlMEElMjAlMjAlMjAlMjA3MjQlMEEtLSUzRSUyMDcyNSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGRpc3RpbGJlcnRfb3V0cHV0JTIwJTNEJTIwc2VsZi5kaXN0aWxiZXJ0KCUwQSUyMCUyMCUyMCUyMDcyNiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlucHV0X2lkcyUzRGlucHV0X2lkcyUyQyUwQSUyMCUyMCUyMCUyMDcyNyUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGF0dGVudGlvbl9tYXNrJTNEYXR0ZW50aW9uX21hc2slMkMlMEElMEF+JTJGbWluaWNvbmRhMyUyRmVudnMlMkZodWdnaW5nZmFjZSUyRmxpYiUyRnB5dGhvbjMuOCUyRnNpdGUtcGFja2FnZXMlMkZ0b3JjaCUyRm5uJTJGbW9kdWxlcyUyRm1vZHVsZS5weSUyMGluJTIwX2NhbGxfaW1wbChzZWxmJTJDJTIwKmlucHV0JTJDJTIwKiprd2FyZ3MpJTBBJTIwJTIwJTIwMTA0OSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlmJTIwbm90JTIwKHNlbGYuX2JhY2t3YXJkX2hvb2tzJTIwb3IlMjBzZWxmLl9mb3J3YXJkX2hvb2tzJTIwb3IlMjBzZWxmLl9mb3J3YXJkX3ByZV9ob29rcyUyMG9yJTIwX2dsb2JhbF9iYWNrd2FyZF9ob29rcyUwQSUyMCUyMCUyMDEwNTAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBvciUyMF9nbG9iYWxfZm9yd2FyZF9ob29rcyUyMG9yJTIwX2dsb2JhbF9mb3J3YXJkX3ByZV9ob29rcyklM0ElMEEtJTNFJTIwMTA1MSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMGZvcndhcmRfY2FsbCgqaW5wdXQlMkMlMjAqKmt3YXJncyklMEElMjAlMjAlMjAxMDUyJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwRG8lMjBub3QlMjBjYWxsJTIwZnVuY3Rpb25zJTIwd2hlbiUyMGppdCUyMGlzJTIwdXNlZCUwQSUyMCUyMCUyMDEwNTMlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBmdWxsX2JhY2t3YXJkX2hvb2tzJTJDJTIwbm9uX2Z1bGxfYmFja3dhcmRfaG9va3MlMjAlM0QlMjAlNUIlNUQlMkMlMjAlNUIlNUQlMEElMEF+JTJGbWluaWNvbmRhMyUyRmVudnMlMkZodWdnaW5nZmFjZSUyRmxpYiUyRnB5dGhvbjMuOCUyRnNpdGUtcGFja2FnZXMlMkZ0cmFuc2Zvcm1lcnMlMkZtb2RlbHMlMkZkaXN0aWxiZXJ0JTJGbW9kZWxpbmdfZGlzdGlsYmVydC5weSUyMGluJTIwZm9yd2FyZChzZWxmJTJDJTIwaW5wdXRfaWRzJTJDJTIwYXR0ZW50aW9uX21hc2slMkMlMjBoZWFkX21hc2slMkMlMjBpbnB1dHNfZW1iZWRzJTJDJTIwb3V0cHV0X2F0dGVudGlvbnMlMkMlMjBvdXRwdXRfaGlkZGVuX3N0YXRlcyUyQyUyMHJldHVybl9kaWN0KSUwQSUyMCUyMCUyMCUyMDQ3MSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJhaXNlJTIwVmFsdWVFcnJvciglMjJZb3UlMjBjYW5ub3QlMjBzcGVjaWZ5JTIwYm90aCUyMGlucHV0X2lkcyUyMGFuZCUyMGlucHV0c19lbWJlZHMlMjBhdCUyMHRoZSUyMHNhbWUlMjB0aW1lJTIyKSUwQSUyMCUyMCUyMCUyMDQ3MiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGVsaWYlMjBpbnB1dF9pZHMlMjBpcyUyMG5vdCUyME5vbmUlM0ElMEEtLSUzRSUyMDQ3MyUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlucHV0X3NoYXBlJTIwJTNEJTIwaW5wdXRfaWRzLnNpemUoKSUwQSUyMCUyMCUyMCUyMDQ3NCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGVsaWYlMjBpbnB1dHNfZW1iZWRzJTIwaXMlMjBub3QlMjBOb25lJTNBJTBBJTIwJTIwJTIwJTIwNDc1JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaW5wdXRfc2hhcGUlMjAlM0QlMjBpbnB1dHNfZW1iZWRzLnNpemUoKSU1QiUzQS0xJTVEJTBBJTBBQXR0cmlidXRlRXJyb3IlM0ElMjAnbGlzdCclMjBvYmplY3QlMjBoYXMlMjBubyUyMGF0dHJpYnV0ZSUyMCdzaXplJyUwQSUyMiUyMiUyMg==",highlighted:`<span class="hljs-string">&quot;&quot;&quot;
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
/var/folders/28/k4cy5q7s2hs92xq7_h89_vgm0000gn/T/ipykernel_75743/2725838073.py in &lt;module&gt;
1 inputs = tokenizer(question, text, add_special_tokens=True)
2 input_ids = inputs[&quot;input_ids&quot;]
----&gt; 3 outputs = model(**inputs)
4 answer_start_scores = outputs.start_logits
5 answer_end_scores = outputs.end_logits
~/miniconda3/envs/huggingface/lib/python3.8/site-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
1049 if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
1050 or _global_forward_hooks or _global_forward_pre_hooks):
-&gt; 1051 return forward_call(*input, **kwargs)
1052 # Do not call functions when jit is used
1053 full_backward_hooks, non_full_backward_hooks = [], []
~/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/models/distilbert/modeling_distilbert.py in forward(self, input_ids, attention_mask, head_mask, inputs_embeds, start_positions, end_positions, output_attentions, output_hidden_states, return_dict)
723 return_dict = return_dict if return_dict is not None else self.config.use_return_dict
724
--&gt; 725 distilbert_output = self.distilbert(
726 input_ids=input_ids,
727 attention_mask=attention_mask,
~/miniconda3/envs/huggingface/lib/python3.8/site-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
1049 if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
1050 or _global_forward_hooks or _global_forward_pre_hooks):
-&gt; 1051 return forward_call(*input, **kwargs)
1052 # Do not call functions when jit is used
1053 full_backward_hooks, non_full_backward_hooks = [], []
~/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/models/distilbert/modeling_distilbert.py in forward(self, input_ids, attention_mask, head_mask, inputs_embeds, output_attentions, output_hidden_states, return_dict)
471 raise ValueError(&quot;You cannot specify both input_ids and inputs_embeds at the same time&quot;)
472 elif input_ids is not None:
--&gt; 473 input_shape = input_ids.size()
474 elif inputs_embeds is not None:
475 input_shape = inputs_embeds.size()[:-1]
AttributeError: &#x27;list&#x27; object has no attribute &#x27;size&#x27;
&quot;&quot;&quot;</span>`,wrap:!1}}),fe=new rt({props:{id:"rSPyvPw0p9k"}}),Ze=new rt({props:{id:"5PkZ4rbHL6c"}}),Ce=new J({props:{code:"aW5wdXRzJTVCJTIyaW5wdXRfaWRzJTIyJTVEJTVCJTNBNSU1RA==",highlighted:'inputs[<span class="hljs-string">&quot;input_ids&quot;</span>][:<span class="hljs-number">5</span>]',wrap:!1}}),ge=new J({props:{code:"JTVCMTAxJTJDJTIwMjAyOSUyQyUyMDc3MDUlMkMlMjAyMDE1JTJDJTIwMjA2NCU1RA==",highlighted:'[<span class="hljs-number">101</span>, <span class="hljs-number">2029</span>, <span class="hljs-number">7705</span>, <span class="hljs-number">2015</span>, <span class="hljs-number">2064</span>]',wrap:!1}}),We=new J({props:{code:"dHlwZShpbnB1dHMlNUIlMjJpbnB1dF9pZHMlMjIlNUQp",highlighted:'<span class="hljs-built_in">type</span>(inputs[<span class="hljs-string">&quot;input_ids&quot;</span>])',wrap:!1}}),Be=new J({props:{code:"bGlzdA==",highlighted:'<span class="hljs-built_in">list</span>',wrap:!1}}),Xe=new J({props:{code:"fiUyRm1pbmljb25kYTMlMkZlbnZzJTJGaHVnZ2luZ2ZhY2UlMkZsaWIlMkZweXRob24zLjglMkZzaXRlLXBhY2thZ2VzJTJGdHJhbnNmb3JtZXJzJTJGbW9kZWxzJTJGZGlzdGlsYmVydCUyRm1vZGVsaW5nX2Rpc3RpbGJlcnQucHklMjBpbiUyMGZvcndhcmQoc2VsZiUyQyUyMGlucHV0X2lkcyUyQyUyMGF0dGVudGlvbl9tYXNrJTJDJTIwaGVhZF9tYXNrJTJDJTIwaW5wdXRzX2VtYmVkcyUyQyUyMG91dHB1dF9hdHRlbnRpb25zJTJDJTIwb3V0cHV0X2hpZGRlbl9zdGF0ZXMlMkMlMjByZXR1cm5fZGljdCklMEElMjAlMjAlMjAlMjA0NzElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByYWlzZSUyMFZhbHVlRXJyb3IoJTIyWW91JTIwY2Fubm90JTIwc3BlY2lmeSUyMGJvdGglMjBpbnB1dF9pZHMlMjBhbmQlMjBpbnB1dHNfZW1iZWRzJTIwYXQlMjB0aGUlMjBzYW1lJTIwdGltZSUyMiklMEElMjAlMjAlMjAlMjA0NzIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbGlmJTIwaW5wdXRfaWRzJTIwaXMlMjBub3QlMjBOb25lJTNBJTBBLS0lM0UlMjA0NzMlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpbnB1dF9zaGFwZSUyMCUzRCUyMGlucHV0X2lkcy5zaXplKCklMEElMjAlMjAlMjAlMjA0NzQlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbGlmJTIwaW5wdXRzX2VtYmVkcyUyMGlzJTIwbm90JTIwTm9uZSUzQSUwQSUyMCUyMCUyMCUyMDQ3NSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlucHV0X3NoYXBlJTIwJTNEJTIwaW5wdXRzX2VtYmVkcy5zaXplKCklNUIlM0EtMSU1RCUwQSUwQUF0dHJpYnV0ZUVycm9yJTNBJTIwJ2xpc3QnJTIwb2JqZWN0JTIwaGFzJTIwbm8lMjBhdHRyaWJ1dGUlMjAnc2l6ZSc=",highlighted:`~<span class="hljs-regexp">/miniconda3/</span>envs<span class="hljs-regexp">/huggingface/</span>lib<span class="hljs-regexp">/python3.8/</span>site-packages<span class="hljs-regexp">/transformers/m</span>odels<span class="hljs-regexp">/distilbert/m</span>odeling_distilbert.py in forward(self, input_ids, attention_mask, head_mask, inputs_embeds, output_attentions, output_hidden_states, return_dict)
<span class="hljs-number">471</span> raise ValueError(<span class="hljs-string">&quot;You cannot specify both input_ids and inputs_embeds at the same time&quot;</span>)
<span class="hljs-number">472</span> elif input_ids is not None:
--&gt; <span class="hljs-number">473</span> input_shape = input_ids.<span class="hljs-keyword">size</span>()
<span class="hljs-number">474</span> elif inputs_embeds is not None:
<span class="hljs-number">475</span> input_shape = inputs_embeds.<span class="hljs-keyword">size</span>()[:-<span class="hljs-number">1</span>]
AttributeError: <span class="hljs-string">&#x27;list&#x27;</span> object has no attribute <span class="hljs-string">&#x27;size&#x27;</span>`,wrap:!1}}),Ve=new J({props:{code:"aW5wdXRzJTIwJTNEJTIwdG9rZW5pemVyKHF1ZXN0aW9uJTJDJTIwY29udGV4dCUyQyUyMGFkZF9zcGVjaWFsX3Rva2VucyUzRFRydWUlMkMlMjByZXR1cm5fdGVuc29ycyUzRCUyMnB0JTIyKSUwQWlucHV0X2lkcyUyMCUzRCUyMGlucHV0cyU1QiUyMmlucHV0X2lkcyUyMiU1RCU1QjAlNUQlMEFvdXRwdXRzJTIwJTNEJTIwbW9kZWwoKippbnB1dHMpJTBBYW5zd2VyX3N0YXJ0X3Njb3JlcyUyMCUzRCUyMG91dHB1dHMuc3RhcnRfbG9naXRzJTBBYW5zd2VyX2VuZF9zY29yZXMlMjAlM0QlMjBvdXRwdXRzLmVuZF9sb2dpdHMlMEElMjMlMjBPYnRpZW5lJTIwZWwlMjBjb21pZW56byUyMG0lQzMlQTFzJTIwcHJvYmFibGUlMjBkZSUyMGxhJTIwcmVzcHVlc3RhJTIwY29uJTIwZWwlMjBhcmdtYXglMjBkZSUyMGxhJTIwcHVudHVhY2klQzMlQjNuJTBBYW5zd2VyX3N0YXJ0JTIwJTNEJTIwdG9yY2guYXJnbWF4KGFuc3dlcl9zdGFydF9zY29yZXMpJTBBJTIzJTIwT2J0aWVuZSUyMGVsJTIwZmluYWwlMjBtJUMzJUExcyUyMHByb2JhYmxlJTIwZGUlMjBsYSUyMHJlc3B1ZXN0YSUyMGNvbiUyMGVsJTIwYXJnbWF4JTIwZGUlMjBsYSUyMHB1bnR1YWNpJUMzJUIzbiUwQWFuc3dlcl9lbmQlMjAlM0QlMjB0b3JjaC5hcmdtYXgoYW5zd2VyX2VuZF9zY29yZXMpJTIwJTJCJTIwMSUwQWFuc3dlciUyMCUzRCUyMHRva2VuaXplci5jb252ZXJ0X3Rva2Vuc190b19zdHJpbmcoJTBBJTIwJTIwJTIwJTIwdG9rZW5pemVyLmNvbnZlcnRfaWRzX3RvX3Rva2VucyhpbnB1dF9pZHMlNUJhbnN3ZXJfc3RhcnQlM0FhbnN3ZXJfZW5kJTVEKSUwQSklMEFwcmludChmJTIyUXVlc3Rpb24lM0ElMjAlN0JxdWVzdGlvbiU3RCUyMiklMEFwcmludChmJTIyQW5zd2VyJTNBJTIwJTdCYW5zd2VyJTdEJTIyKQ==",highlighted:`inputs = tokenizer(question, context, add_special_tokens=<span class="hljs-literal">True</span>, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>)
input_ids = inputs[<span class="hljs-string">&quot;input_ids&quot;</span>][<span class="hljs-number">0</span>]
outputs = model(**inputs)
answer_start_scores = outputs.start_logits
answer_end_scores = outputs.end_logits
<span class="hljs-comment"># Obtiene el comienzo más probable de la respuesta con el argmax de la puntuación</span>
answer_start = torch.argmax(answer_start_scores)
<span class="hljs-comment"># Obtiene el final más probable de la respuesta con el argmax de la puntuación</span>
answer_end = torch.argmax(answer_end_scores) + <span class="hljs-number">1</span>
answer = tokenizer.convert_tokens_to_string(
tokenizer.convert_ids_to_tokens(input_ids[answer_start:answer_end])
)
<span class="hljs-built_in">print</span>(<span class="hljs-string">f&quot;Question: <span class="hljs-subst">{question}</span>&quot;</span>)
<span class="hljs-built_in">print</span>(<span class="hljs-string">f&quot;Answer: <span class="hljs-subst">{answer}</span>&quot;</span>)`,wrap:!1}}),$e=new J({props:{code:"JTIyJTIyJTIyJTBBUXVlc3Rpb24lM0ElMjBXaGljaCUyMGZyYW1ld29ya3MlMjBjYW4lMjBJJTIwdXNlJTNGJTIwJTIzJTIwJUMyJUJGUXUlQzMlQTklMjBmcmFtZXdvcmtzJTIwcHVlZG8lMjB1c2FyJTNGJTBBQW5zd2VyJTNBJTIwcHl0b3JjaCUyQyUyMHRlbnNvcmZsb3clMkMlMjBhbmQlMjBqYXglMEElMjIlMjIlMjI=",highlighted:`<span class="hljs-string">&quot;&quot;&quot;
Question: Which frameworks can I use? # ¿Qué frameworks puedo usar?
Answer: pytorch, tensorflow, and jax
&quot;&quot;&quot;</span>`,wrap:!1}}),xe=new aa({props:{source:"https://github.com/huggingface/course/blob/main/chapters/es/chapter8/2.mdx"}}),{c(){y=o("meta"),U=s(),b=o("p"),j=s(),M(G.$$.fragment),Ye=s(),M(W.$$.fragment),Ne=s(),B=o("p"),B.innerHTML=dt,He=s(),M(k.$$.fragment),Fe=s(),X=o("p"),X.innerHTML=pt,Qe=s(),M(v.$$.fragment),qe=s(),_=o("p"),_.textContent=ct,Ee=s(),M(V.$$.fragment),Se=s(),$=o("p"),$.innerHTML=ut,Le=s(),M(R.$$.fragment),De=s(),x=o("p"),x.innerHTML=mt,Pe=s(),M(z.$$.fragment),Ke=s(),A=o("p"),A.textContent=yt,Oe=s(),Y=o("blockquote"),Y.innerHTML=Jt,el=s(),N=o("p"),N.innerHTML=bt,ll=s(),M(H.$$.fragment),tl=s(),M(F.$$.fragment),al=s(),Q=o("p"),Q.innerHTML=Ut,sl=s(),T=o("div"),T.innerHTML=jt,nl=s(),q=o("p"),q.innerHTML=wt,ol=s(),M(f.$$.fragment),rl=s(),E=o("p"),E.innerHTML=Tt,il=s(),M(S.$$.fragment),Ml=s(),M(h.$$.fragment),dl=s(),L=o("p"),L.textContent=ft,pl=s(),Z=o("div"),Z.innerHTML=ht,cl=s(),D=o("p"),D.textContent=Zt,ul=s(),I=o("div"),I.innerHTML=It,ml=s(),P=o("p"),P.textContent=Ct,yl=s(),M(K.$$.fragment),Jl=s(),M(O.$$.fragment),bl=s(),ee=o("p"),ee.innerHTML=gt,Ul=s(),M(le.$$.fragment),jl=s(),M(te.$$.fragment),wl=s(),ae=o("p"),ae.innerHTML=Gt,Tl=s(),M(se.$$.fragment),fl=s(),M(C.$$.fragment),hl=s(),ne=o("p"),ne.innerHTML=Wt,Zl=s(),M(oe.$$.fragment),Il=s(),re=o("p"),re.innerHTML=Bt,Cl=s(),M(ie.$$.fragment),gl=s(),M(Me.$$.fragment),Gl=s(),de=o("p"),de.textContent=kt,Wl=s(),pe=o("ul"),pe.innerHTML=Xt,Bl=s(),ce=o("p"),ce.textContent=vt,kl=s(),M(ue.$$.fragment),Xl=s(),me=o("p"),me.innerHTML=_t,vl=s(),M(ye.$$.fragment),_l=s(),Je=o("p"),Je.textContent=Vt,Vl=s(),M(be.$$.fragment),$l=s(),Ue=o("p"),Ue.innerHTML=$t,Rl=s(),M(je.$$.fragment),xl=s(),M(we.$$.fragment),zl=s(),Te=o("p"),Te.innerHTML=Rt,Al=s(),M(fe.$$.fragment),Yl=s(),he=o("p"),he.textContent=xt,Nl=s(),M(Ze.$$.fragment),Hl=s(),Ie=o("p"),Ie.innerHTML=zt,Fl=s(),M(Ce.$$.fragment),Ql=s(),M(ge.$$.fragment),ql=s(),Ge=o("p"),Ge.innerHTML=At,El=s(),M(We.$$.fragment),Sl=s(),M(Be.$$.fragment),Ll=s(),ke=o("p"),ke.innerHTML=Yt,Dl=s(),M(Xe.$$.fragment),Pl=s(),ve=o("p"),ve.innerHTML=Nt,Kl=s(),g=o("div"),g.innerHTML=Ht,Ol=s(),_e=o("p"),_e.innerHTML=Ft,et=s(),M(Ve.$$.fragment),lt=s(),M($e.$$.fragment),tt=s(),Re=o("p"),Re.innerHTML=Qt,at=s(),M(xe.$$.fragment),st=s(),Ae=o("p"),this.h()},l(e){const l=ea("svelte-u9bgzb",document.head);y=r(l,"META",{name:!0,content:!0}),l.forEach(t),U=n(e),b=r(e,"P",{}),Lt(b).forEach(t),j=n(e),d(G.$$.fragment,e),Ye=n(e),d(W.$$.fragment,e),Ne=n(e),B=r(e,"P",{"data-svelte-h":!0}),i(B)!=="svelte-fctiu7"&&(B.innerHTML=dt),He=n(e),d(k.$$.fragment,e),Fe=n(e),X=r(e,"P",{"data-svelte-h":!0}),i(X)!=="svelte-7s16u3"&&(X.innerHTML=pt),Qe=n(e),d(v.$$.fragment,e),qe=n(e),_=r(e,"P",{"data-svelte-h":!0}),i(_)!=="svelte-146s6pk"&&(_.textContent=ct),Ee=n(e),d(V.$$.fragment,e),Se=n(e),$=r(e,"P",{"data-svelte-h":!0}),i($)!=="svelte-1exhoxk"&&($.innerHTML=ut),Le=n(e),d(R.$$.fragment,e),De=n(e),x=r(e,"P",{"data-svelte-h":!0}),i(x)!=="svelte-1d421ly"&&(x.innerHTML=mt),Pe=n(e),d(z.$$.fragment,e),Ke=n(e),A=r(e,"P",{"data-svelte-h":!0}),i(A)!=="svelte-shb2h8"&&(A.textContent=yt),Oe=n(e),Y=r(e,"BLOCKQUOTE",{"data-svelte-h":!0}),i(Y)!=="svelte-1gn0zqi"&&(Y.innerHTML=Jt),el=n(e),N=r(e,"P",{"data-svelte-h":!0}),i(N)!=="svelte-d1tdlc"&&(N.innerHTML=bt),ll=n(e),d(H.$$.fragment,e),tl=n(e),d(F.$$.fragment,e),al=n(e),Q=r(e,"P",{"data-svelte-h":!0}),i(Q)!=="svelte-fnvy6d"&&(Q.innerHTML=Ut),sl=n(e),T=r(e,"DIV",{class:!0,"data-svelte-h":!0}),i(T)!=="svelte-1196hzp"&&(T.innerHTML=jt),nl=n(e),q=r(e,"P",{"data-svelte-h":!0}),i(q)!=="svelte-tgukvx"&&(q.innerHTML=wt),ol=n(e),d(f.$$.fragment,e),rl=n(e),E=r(e,"P",{"data-svelte-h":!0}),i(E)!=="svelte-wn684t"&&(E.innerHTML=Tt),il=n(e),d(S.$$.fragment,e),Ml=n(e),d(h.$$.fragment,e),dl=n(e),L=r(e,"P",{"data-svelte-h":!0}),i(L)!=="svelte-19joqod"&&(L.textContent=ft),pl=n(e),Z=r(e,"DIV",{class:!0,"data-svelte-h":!0}),i(Z)!=="svelte-6ebc1j"&&(Z.innerHTML=ht),cl=n(e),D=r(e,"P",{"data-svelte-h":!0}),i(D)!=="svelte-411vhs"&&(D.textContent=Zt),ul=n(e),I=r(e,"DIV",{class:!0,"data-svelte-h":!0}),i(I)!=="svelte-1b95mxr"&&(I.innerHTML=It),ml=n(e),P=r(e,"P",{"data-svelte-h":!0}),i(P)!=="svelte-gwjvb7"&&(P.textContent=Ct),yl=n(e),d(K.$$.fragment,e),Jl=n(e),d(O.$$.fragment,e),bl=n(e),ee=r(e,"P",{"data-svelte-h":!0}),i(ee)!=="svelte-11d5ho0"&&(ee.innerHTML=gt),Ul=n(e),d(le.$$.fragment,e),jl=n(e),d(te.$$.fragment,e),wl=n(e),ae=r(e,"P",{"data-svelte-h":!0}),i(ae)!=="svelte-stnaq3"&&(ae.innerHTML=Gt),Tl=n(e),d(se.$$.fragment,e),fl=n(e),d(C.$$.fragment,e),hl=n(e),ne=r(e,"P",{"data-svelte-h":!0}),i(ne)!=="svelte-1etq08d"&&(ne.innerHTML=Wt),Zl=n(e),d(oe.$$.fragment,e),Il=n(e),re=r(e,"P",{"data-svelte-h":!0}),i(re)!=="svelte-4vfms9"&&(re.innerHTML=Bt),Cl=n(e),d(ie.$$.fragment,e),gl=n(e),d(Me.$$.fragment,e),Gl=n(e),de=r(e,"P",{"data-svelte-h":!0}),i(de)!=="svelte-193bjpy"&&(de.textContent=kt),Wl=n(e),pe=r(e,"UL",{"data-svelte-h":!0}),i(pe)!=="svelte-1h6tycp"&&(pe.innerHTML=Xt),Bl=n(e),ce=r(e,"P",{"data-svelte-h":!0}),i(ce)!=="svelte-10c1cc3"&&(ce.textContent=vt),kl=n(e),d(ue.$$.fragment,e),Xl=n(e),me=r(e,"P",{"data-svelte-h":!0}),i(me)!=="svelte-11rp6qa"&&(me.innerHTML=_t),vl=n(e),d(ye.$$.fragment,e),_l=n(e),Je=r(e,"P",{"data-svelte-h":!0}),i(Je)!=="svelte-mpp4m6"&&(Je.textContent=Vt),Vl=n(e),d(be.$$.fragment,e),$l=n(e),Ue=r(e,"P",{"data-svelte-h":!0}),i(Ue)!=="svelte-10tz9x5"&&(Ue.innerHTML=$t),Rl=n(e),d(je.$$.fragment,e),xl=n(e),d(we.$$.fragment,e),zl=n(e),Te=r(e,"P",{"data-svelte-h":!0}),i(Te)!=="svelte-1orwqk9"&&(Te.innerHTML=Rt),Al=n(e),d(fe.$$.fragment,e),Yl=n(e),he=r(e,"P",{"data-svelte-h":!0}),i(he)!=="svelte-qyljgw"&&(he.textContent=xt),Nl=n(e),d(Ze.$$.fragment,e),Hl=n(e),Ie=r(e,"P",{"data-svelte-h":!0}),i(Ie)!=="svelte-1n6ncsy"&&(Ie.innerHTML=zt),Fl=n(e),d(Ce.$$.fragment,e),Ql=n(e),d(ge.$$.fragment,e),ql=n(e),Ge=r(e,"P",{"data-svelte-h":!0}),i(Ge)!=="svelte-c4rxlu"&&(Ge.innerHTML=At),El=n(e),d(We.$$.fragment,e),Sl=n(e),d(Be.$$.fragment,e),Ll=n(e),ke=r(e,"P",{"data-svelte-h":!0}),i(ke)!=="svelte-1k5zp11"&&(ke.innerHTML=Yt),Dl=n(e),d(Xe.$$.fragment,e),Pl=n(e),ve=r(e,"P",{"data-svelte-h":!0}),i(ve)!=="svelte-7v726v"&&(ve.innerHTML=Nt),Kl=n(e),g=r(e,"DIV",{class:!0,"data-svelte-h":!0}),i(g)!=="svelte-1i8wi5i"&&(g.innerHTML=Ht),Ol=n(e),_e=r(e,"P",{"data-svelte-h":!0}),i(_e)!=="svelte-drc9qt"&&(_e.innerHTML=Ft),et=n(e),d(Ve.$$.fragment,e),lt=n(e),d($e.$$.fragment,e),tt=n(e),Re=r(e,"P",{"data-svelte-h":!0}),i(Re)!=="svelte-rj4xt5"&&(Re.innerHTML=Qt),at=n(e),d(xe.$$.fragment,e),st=n(e),Ae=r(e,"P",{}),Lt(Ae).forEach(t),this.h()},h(){ze(y,"name","hf:doc:metadata"),ze(y,"content",ia),ze(T,"class","flex justify-center"),ze(Z,"class","flex justify-center"),ze(I,"class","flex justify-center"),ze(g,"class","flex justify-center")},m(e,l){la(document.head,y),a(e,U,l),a(e,b,l),a(e,j,l),p(G,e,l),a(e,Ye,l),p(W,e,l),a(e,Ne,l),a(e,B,l),a(e,He,l),p(k,e,l),a(e,Fe,l),a(e,X,l),a(e,Qe,l),p(v,e,l),a(e,qe,l),a(e,_,l),a(e,Ee,l),p(V,e,l),a(e,Se,l),a(e,$,l),a(e,Le,l),p(R,e,l),a(e,De,l),a(e,x,l),a(e,Pe,l),p(z,e,l),a(e,Ke,l),a(e,A,l),a(e,Oe,l),a(e,Y,l),a(e,el,l),a(e,N,l),a(e,ll,l),p(H,e,l),a(e,tl,l),p(F,e,l),a(e,al,l),a(e,Q,l),a(e,sl,l),a(e,T,l),a(e,nl,l),a(e,q,l),a(e,ol,l),p(f,e,l),a(e,rl,l),a(e,E,l),a(e,il,l),p(S,e,l),a(e,Ml,l),p(h,e,l),a(e,dl,l),a(e,L,l),a(e,pl,l),a(e,Z,l),a(e,cl,l),a(e,D,l),a(e,ul,l),a(e,I,l),a(e,ml,l),a(e,P,l),a(e,yl,l),p(K,e,l),a(e,Jl,l),p(O,e,l),a(e,bl,l),a(e,ee,l),a(e,Ul,l),p(le,e,l),a(e,jl,l),p(te,e,l),a(e,wl,l),a(e,ae,l),a(e,Tl,l),p(se,e,l),a(e,fl,l),p(C,e,l),a(e,hl,l),a(e,ne,l),a(e,Zl,l),p(oe,e,l),a(e,Il,l),a(e,re,l),a(e,Cl,l),p(ie,e,l),a(e,gl,l),p(Me,e,l),a(e,Gl,l),a(e,de,l),a(e,Wl,l),a(e,pe,l),a(e,Bl,l),a(e,ce,l),a(e,kl,l),p(ue,e,l),a(e,Xl,l),a(e,me,l),a(e,vl,l),p(ye,e,l),a(e,_l,l),a(e,Je,l),a(e,Vl,l),p(be,e,l),a(e,$l,l),a(e,Ue,l),a(e,Rl,l),p(je,e,l),a(e,xl,l),p(we,e,l),a(e,zl,l),a(e,Te,l),a(e,Al,l),p(fe,e,l),a(e,Yl,l),a(e,he,l),a(e,Nl,l),p(Ze,e,l),a(e,Hl,l),a(e,Ie,l),a(e,Fl,l),p(Ce,e,l),a(e,Ql,l),p(ge,e,l),a(e,ql,l),a(e,Ge,l),a(e,El,l),p(We,e,l),a(e,Sl,l),p(Be,e,l),a(e,Ll,l),a(e,ke,l),a(e,Dl,l),p(Xe,e,l),a(e,Pl,l),a(e,ve,l),a(e,Kl,l),a(e,g,l),a(e,Ol,l),a(e,_e,l),a(e,et,l),p(Ve,e,l),a(e,lt,l),p($e,e,l),a(e,tt,l),a(e,Re,l),a(e,at,l),p(xe,e,l),a(e,st,l),a(e,Ae,l),nt=!0},p(e,[l]){const qt={};l&2&&(qt.$$scope={dirty:l,ctx:e}),f.$set(qt);const Et={};l&2&&(Et.$$scope={dirty:l,ctx:e}),h.$set(Et);const St={};l&2&&(St.$$scope={dirty:l,ctx:e}),C.$set(St)},i(e){nt||(c(G.$$.fragment,e),c(W.$$.fragment,e),c(k.$$.fragment,e),c(v.$$.fragment,e),c(V.$$.fragment,e),c(R.$$.fragment,e),c(z.$$.fragment,e),c(H.$$.fragment,e),c(F.$$.fragment,e),c(f.$$.fragment,e),c(S.$$.fragment,e),c(h.$$.fragment,e),c(K.$$.fragment,e),c(O.$$.fragment,e),c(le.$$.fragment,e),c(te.$$.fragment,e),c(se.$$.fragment,e),c(C.$$.fragment,e),c(oe.$$.fragment,e),c(ie.$$.fragment,e),c(Me.$$.fragment,e),c(ue.$$.fragment,e),c(ye.$$.fragment,e),c(be.$$.fragment,e),c(je.$$.fragment,e),c(we.$$.fragment,e),c(fe.$$.fragment,e),c(Ze.$$.fragment,e),c(Ce.$$.fragment,e),c(ge.$$.fragment,e),c(We.$$.fragment,e),c(Be.$$.fragment,e),c(Xe.$$.fragment,e),c(Ve.$$.fragment,e),c($e.$$.fragment,e),c(xe.$$.fragment,e),nt=!0)},o(e){u(G.$$.fragment,e),u(W.$$.fragment,e),u(k.$$.fragment,e),u(v.$$.fragment,e),u(V.$$.fragment,e),u(R.$$.fragment,e),u(z.$$.fragment,e),u(H.$$.fragment,e),u(F.$$.fragment,e),u(f.$$.fragment,e),u(S.$$.fragment,e),u(h.$$.fragment,e),u(K.$$.fragment,e),u(O.$$.fragment,e),u(le.$$.fragment,e),u(te.$$.fragment,e),u(se.$$.fragment,e),u(C.$$.fragment,e),u(oe.$$.fragment,e),u(ie.$$.fragment,e),u(Me.$$.fragment,e),u(ue.$$.fragment,e),u(ye.$$.fragment,e),u(be.$$.fragment,e),u(je.$$.fragment,e),u(we.$$.fragment,e),u(fe.$$.fragment,e),u(Ze.$$.fragment,e),u(Ce.$$.fragment,e),u(ge.$$.fragment,e),u(We.$$.fragment,e),u(Be.$$.fragment,e),u(Xe.$$.fragment,e),u(Ve.$$.fragment,e),u($e.$$.fragment,e),u(xe.$$.fragment,e),nt=!1},d(e){e&&(t(U),t(b),t(j),t(Ye),t(Ne),t(B),t(He),t(Fe),t(X),t(Qe),t(qe),t(_),t(Ee),t(Se),t($),t(Le),t(De),t(x),t(Pe),t(Ke),t(A),t(Oe),t(Y),t(el),t(N),t(ll),t(tl),t(al),t(Q),t(sl),t(T),t(nl),t(q),t(ol),t(rl),t(E),t(il),t(Ml),t(dl),t(L),t(pl),t(Z),t(cl),t(D),t(ul),t(I),t(ml),t(P),t(yl),t(Jl),t(bl),t(ee),t(Ul),t(jl),t(wl),t(ae),t(Tl),t(fl),t(hl),t(ne),t(Zl),t(Il),t(re),t(Cl),t(gl),t(Gl),t(de),t(Wl),t(pe),t(Bl),t(ce),t(kl),t(Xl),t(me),t(vl),t(_l),t(Je),t(Vl),t($l),t(Ue),t(Rl),t(xl),t(zl),t(Te),t(Al),t(Yl),t(he),t(Nl),t(Hl),t(Ie),t(Fl),t(Ql),t(ql),t(Ge),t(El),t(Sl),t(Ll),t(ke),t(Dl),t(Pl),t(ve),t(Kl),t(g),t(Ol),t(_e),t(et),t(lt),t(tt),t(Re),t(at),t(st),t(Ae)),t(y),m(G,e),m(W,e),m(k,e),m(v,e),m(V,e),m(R,e),m(z,e),m(H,e),m(F,e),m(f,e),m(S,e),m(h,e),m(K,e),m(O,e),m(le,e),m(te,e),m(se,e),m(C,e),m(oe,e),m(ie,e),m(Me,e),m(ue,e),m(ye,e),m(be,e),m(je,e),m(we,e),m(fe,e),m(Ze,e),m(Ce,e),m(ge,e),m(We,e),m(Be,e),m(Xe,e),m(Ve,e),m($e,e),m(xe,e)}}}const ia='{"title":"¿Qué hacer cuando se produce un error?","local":"qué-hacer-cuando-se-produce-un-error","sections":[{"title":"Depurando el pipeline de 🤗 Transformers","local":"depurando-el-pipeline-de--transformers","sections":[],"depth":2},{"title":"Depurando la pasada hacia delante (forward pass) de tu modelo","local":"depurando-la-pasada-hacia-delante-forward-pass-de-tu-modelo","sections":[],"depth":2}],"depth":1}';function Ma(w){return Pt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ua extends Kt{constructor(y){super(),Ot(this,y,Ma,ra,Dt,{})}}export{Ua as component};

Xet Storage Details

Size:
57.8 kB
·
Xet hash:
5e325b2ceafe15e74a5a453f737139d2fe1b38257f6466b7b69ee689dc9bde1d

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