Buckets:

rtrm's picture
download
raw
18.3 kB
import{s as Pe,n as Re,o as Ee}from"../chunks/scheduler.37c15a92.js";import{S as ze,i as De,g as Z,s as n,r as o,A as Ge,h as k,f as t,c as r,j as Me,u as i,x as ve,k as Ie,y as Le,a as s,v as l,d as c,t as u,w as d}from"../chunks/index.2bf4358c.js";import{C as Je}from"../chunks/CodeBlock.4e987730.js";import{C as Se}from"../chunks/CourseFloatingBanner.6add7356.js";import{Q as p}from"../chunks/Question.668688bc.js";import{H as m}from"../chunks/Heading.8ada512a.js";import{E as Qe}from"../chunks/getInferenceSnippets.b37612c0.js";function He(_e){let f,A,F,B,$,X,g,W,b,Ue="¡Vimos muchas cosas en este capítulo! No te preocupes si no te quedaron claros todos los detalles; los siguientes capítulos te ayudarán a entender cómo funcionan las cosas internamente.",V,q,je="Antes de seguir, probemos lo que aprendiste en este capítulo:",K,x,O,y,ee,h,ae,C,te,w,Te="¿Cuál de los siguientes comandos a a producir una muestra aleatoria de 50 elementos de <code>dataset</code>?",se,v,ne,_,re,U,oe,j,ie,T,le,M,ce,I,ue,J,de,P,me,R,pe,E,fe,z,$e,D,ge,G,be,L,qe,S,xe,Q,ye,H,he,N,Ce,Y,we;return $=new m({props:{title:"Quiz de final de capítulo",local:"quiz-de-final-de-capítulo",headingTag:"h1"}}),g=new Se({props:{chapter:5,classNames:"absolute z-10 right-0 top-0"}}),x=new m({props:{title:"1. ¿Desde qué ubicaciones te permite cargar datasets la función load_dataset() en 🤗 Datasets?",local:"1-desde-qué-ubicaciones-te-permite-cargar-datasets-la-función-loaddataset-en--datasets",headingTag:"h3"}}),y=new p({props:{choices:[{text:"Localmente, e.g. en tu computador",explain:"¡Correcto! Puedes pasar las rutas de archivos locales al argumento <code>data_files</code> de <code>load_dataset()</code> para cargar datasets locales.",correct:!0},{text:"El Hub de Hugging Face",explain:"¡Correcto! Puedes cargar datasets del Hub pasando el ID del dataset, e.g. <code>load_dataset('emotion')</code>.",correct:!0},{text:"Un servidor remoto",explain:"¡Correcto! Puedes pasar URL al argumento <code>data_files</code> de la función <code>load_dataset()</code> para cargar archivos remotos.",correct:!0}]}}),h=new m({props:{title:"2. Supón que cargas una de las tareas de GLUE así:",local:"2-supón-que-cargas-una-de-las-tareas-de-glue-así",headingTag:"h3"}}),C=new Je({props:{code:"ZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwbG9hZF9kYXRhc2V0JTBBJTBBZGF0YXNldCUyMCUzRCUyMGxvYWRfZGF0YXNldCglMjJnbHVlJTIyJTJDJTIwJTIybXJwYyUyMiUyQyUyMHNwbGl0JTNEJTIydHJhaW4lMjIp",highlighted:`<span class="hljs-keyword">from</span> datasets <span class="hljs-keyword">import</span> load_dataset
dataset = load_dataset(<span class="hljs-string">&quot;glue&quot;</span>, <span class="hljs-string">&quot;mrpc&quot;</span>, split=<span class="hljs-string">&quot;train&quot;</span>)`,wrap:!1}}),v=new p({props:{choices:[{text:"<code>dataset.sample(50)</code>",explain:"Esto es incorrecto. No hay un método <code>Dataset.sample()</code>."},{text:"<code>dataset.shuffle().select(range(50))</code>",explain:"¡Correcto! Como viste en el capítulo, primero tienes que ordenar aleatoriamente el dataset y luego seleccionar las muestras.",correct:!0},{text:"<code>dataset.select(range(50)).shuffle()</code>",explain:"Esto es incorrecto. Si bien el código se va a ejecutar, sólo va a ordenar aleatoriamente los primeros 50 elementos del dataset."}]}}),_=new m({props:{title:"3. Supón que tienes un dataset sobre mascotas llamado pets_dataset , que tiene una columna name que contiene el nombre de cada mascota. ¿Cuál de los siguientes acercamientos te permitiría filtrar el dataset para todas las mascotas cuyos nombres comienzan con la letra “L”?",local:"3-supón-que-tienes-un-dataset-sobre-mascotas-llamado-petsdataset--que-tiene-una-columna-name-que-contiene-el-nombre-de-cada-mascota-cuál-de-los-siguientes-acercamientos-te-permitiría-filtrar-el-dataset-para-todas-las-mascotas-cuyos-nombres-comienzan-con-la-letra-l",headingTag:"h3"}}),U=new p({props:{choices:[{text:"<code>pets_dataset.filter(lambda x : x['name'].startswith('L'))</code>",explain:"¡Correcto! Usar una función lambda de Python para este tipo de filtros es una gran idea. ¿Se te ocurre otra solución?",correct:!0},{text:"<code>pets_dataset.filter(lambda x['name'].startswith('L'))</code>",explain:"Esto es incorrecto. Una función lambda toma la forma general <code>lambda *arguments* : *expression*</code>, así que tienes que definir los argumentos en este caso."},{text:"Crear una función como <code>def filter_names(x): return x['name'].startswith('L')</code> y ejecutar <code>pets_dataset.filter(filter_names)</code>.",explain:"¡Correcto! Justo como con <code>Dataset.map()</code>, puedes pasar funciones explícitas a <code>Dataset.filter()</code>. Esto es útil cuando tienes una lógica compleja que no es adecuada para una función lambda. ¿Cuál de las otras soluciones podría funcionar?",correct:!0}]}}),j=new m({props:{title:"4. ¿Qué es la proyección en memoria ( memory mapping )?",local:"4-qué-es-la-proyección-en-memoria--memory-mapping-",headingTag:"h3"}}),T=new p({props:{choices:[{text:"Un mapeo entre la RAM de la CPU y la GPU",explain:"¡Incorrecto! intenta de nuevo."},{text:"Un mapeo entre la RAM y el sistema de almacenamiento de archivos",explain:"¡Correcto! 🤗 Datasets trata cada dataset como un archivo proyectado en memoria. Esto le permite a la librería acceder y operar sobre los elementos del dataset sin necesidad de cargarlo por completo en memoria.",correct:!0},{text:"Un mapeo entre dos archivos en el cache de 🤗 Datasets",explain:"¡Incorrecto! intenta de nuevo."}]}}),M=new m({props:{title:"5. ¿Cuáles son los principales beneficios de la proyección en memoria?",local:"5-cuáles-son-los-principales-beneficios-de-la-proyección-en-memoria",headingTag:"h3"}}),I=new p({props:{choices:[{text:"Acceder a los archivos proyectados en memoria es más rápido que leerlos de o guardarlos en el disco.",explain:"¡Correcto! Esto le permite a 🤗 Datasets ser muy rápido. Sin embargo, este no es el único beneficio.",correct:!0},{text:"Las aplicaciones pueden acceder a segmentos de los datos en un archivo extremadamente grande sin necesidad de cargar el archivo completo en la RAM.",explain:"¡Correcto! Esto le permite a 🤗 Datasets cargar datasets de varios gigabytes en tu computador sin explotar tu CPU. ¿Qué otros beneficios ofrece la proyección en memoria?",correct:!0},{text:"Consume menos energía, así que tu batería dura más.",explain:"¡Incorrecto! Intenta de nuevo."}]}}),J=new m({props:{title:"6. ¿Por qué no funciona el siguiente código?",local:"6-por-qué-no-funciona-el-siguiente-código",headingTag:"h3"}}),P=new Je({props:{code:"ZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwbG9hZF9kYXRhc2V0JTBBJTBBZGF0YXNldCUyMCUzRCUyMGxvYWRfZGF0YXNldCglMjJhbGxvY2luZSUyMiUyQyUyMHN0cmVhbWluZyUzRFRydWUlMkMlMjBzcGxpdCUzRCUyMnRyYWluJTIyKSUwQWRhdGFzZXQlNUIwJTVE",highlighted:`<span class="hljs-keyword">from</span> datasets <span class="hljs-keyword">import</span> load_dataset
dataset = load_dataset(<span class="hljs-string">&quot;allocine&quot;</span>, streaming=<span class="hljs-literal">True</span>, split=<span class="hljs-string">&quot;train&quot;</span>)
dataset[<span class="hljs-number">0</span>]`,wrap:!1}}),R=new p({props:{choices:[{text:"Intenta hacer _streaming_ de un dataset que es muy grande para caber en la RAM.",explain:"Incorrecto. Los datasets _streamed_ se descomprimen sobre la marcha, por lo que puedes procesar datasets que pesen terabytes con muy poca RAM."},{text:"Intenta acceder un <code>IterableDataset</code>.",explain:"¡Correcto! Un <code>IterableDataset</code> es un generador, no un contenedor, así que deberías acceder a sus elementos usando <code>next(iter(dataset))</code>.",correct:!0},{text:"El dataset <code>allocine</code> no tiene un conjunto <code>train</code>.",explain:"Incorrecto. Revisa la [tarjeta del dataset <code>allocine</code>](https://huggingface.co/datasets/allocine) en el Hub para ver qué conjuntos contiene."}]}}),E=new m({props:{title:"7. ¿Cuáles son los principales beneficios de crear una tarjeta para un dataset?",local:"7-cuáles-son-los-principales-beneficios-de-crear-una-tarjeta-para-un-dataset",headingTag:"h3"}}),z=new p({props:{choices:[{text:"Provee información sobre el uso esperado del dataset y las tareas soportadas, para que otros en la comunidad puedan tomar una decisión informada sobre usarlo.",explain:"¡Correcto! Los datasets sin documentación pueden ser usados para entrenar modelos que no reflejen las intensiones de sus creadores o pueden producir modelos cuyo estatus legal sea complejo si se entrenaron en datos que violen restricciones de privacidad o licenciamiento. ¡Pero este no es el único beneficio!",correct:!0},{text:"Ayuda a llamar la atención a los sesgos que están presentes en un corpus.",explain:"¡Correcto! Casi todos los datasets tienen algún tipo de sesgo, lo que puede producir consecuencias negativas más adelante. Estar consciente de ellos ayuda a quienes construyen modelos a manejar estos sesgos. ¿Con qué otra cosa ayudan las tarjetas de los datasets?",correct:!0},{text:"Aumenta las probabilidades de que otros en la comunidad usen mi dataset.",explain:"¡Correcto! Una tarjeta de un dataset bien escrita puede ayudar a que tu dataset tenga un mayor uso. ¿Qué otros beneficios ofrece?",correct:!0}]}}),D=new m({props:{title:"8. ¿Qué es la búsqueda semántica?",local:"8-qué-es-la-búsqueda-semántica",headingTag:"h3"}}),G=new p({props:{choices:[{text:"Una forma de buscar coincidencias exactas entre las palabras de una pregunta y los documentos de un corpus",explain:"Esto es incorrecto. Este tipo de búsqueda se llama *búsqueda léxica* y es lo que ves típicamente en los motores tradicionales de búsqueda."},{text:"Una forma de emparejar documentos entendiendo el significado contextual de una pregunta",explain:"¡Correcto! La búsqueda semántica usa vectores de _embedding_ para representar preguntas y documentos, y usa una métrica de similaridad para medir la cantidad de coincidencia entre ellos. ¿Cómo más podrías describirlo?",correct:!0},{text:"Una forma de mejorar la precisión de la búsqueda",explain:"¡Correcto! Los motores de búsqueda semántica pueden capturar la intención de una pregunta mucho mejor que la coincidencia de palabras clave y típicamente te permiten obtener documentos con mejor precisión. Pero esta no es la única respuesta correcta, ¿qué otra cosa puede hacer la búsqueda semántica?",correct:!0}]}}),L=new m({props:{title:"9. Para la búsqueda semántica asimétrica, usualmente tienes:",local:"9-para-la-búsqueda-semántica-asimétrica-usualmente-tienes",headingTag:"h3"}}),S=new p({props:{choices:[{text:"Una pregunta corta y un párrafo largo que responde la pregunta",explain:"¡Correcto!",correct:!0},{text:"Preguntas y párrafos de una longitud similar",explain:"¡Intenta de nuevo! De hecho, este es un ejemplo de búsqueda semántica simétrica."},{text:"Una pregunta larga y un párrafo más corto que responde la pregunta",explain:"¡Incorrecto! Intenta de nuevo."}]}}),Q=new m({props:{title:"10. ¿Puedo usar 🤗 Datasets para cargar datos y usarlos en otras áreas, como procesamiento de habla?",local:"10-puedo-usar--datasets-para-cargar-datos-y-usarlos-en-otras-áreas-como-procesamiento-de-habla",headingTag:"h3"}}),H=new p({props:{choices:[{text:"No",explain:"Esto es incorrecto. 🤗 Datasets soporta datos tabulares, audio y visión artificial. Revisa el <a href='https://huggingface.co/datasets/mnist'>dataset MNIST</a> en el Hub para un ejemplo de visión artificial."},{text:"Yes",explain:"¡Correcto! Revisa los desarrollos con habla y visión en la librería 🤗 Transformers para ver cómo se puede usar 🤗 Datasets en estas áreas.",correct:!0}]}}),N=new Qe({props:{source:"https://github.com/huggingface/course/blob/main/chapters/es/chapter5/8.mdx"}}),{c(){f=Z("meta"),A=n(),F=Z("p"),B=n(),o($.$$.fragment),X=n(),o(g.$$.fragment),W=n(),b=Z("p"),b.textContent=Ue,V=n(),q=Z("p"),q.textContent=je,K=n(),o(x.$$.fragment),O=n(),o(y.$$.fragment),ee=n(),o(h.$$.fragment),ae=n(),o(C.$$.fragment),te=n(),w=Z("p"),w.innerHTML=Te,se=n(),o(v.$$.fragment),ne=n(),o(_.$$.fragment),re=n(),o(U.$$.fragment),oe=n(),o(j.$$.fragment),ie=n(),o(T.$$.fragment),le=n(),o(M.$$.fragment),ce=n(),o(I.$$.fragment),ue=n(),o(J.$$.fragment),de=n(),o(P.$$.fragment),me=n(),o(R.$$.fragment),pe=n(),o(E.$$.fragment),fe=n(),o(z.$$.fragment),$e=n(),o(D.$$.fragment),ge=n(),o(G.$$.fragment),be=n(),o(L.$$.fragment),qe=n(),o(S.$$.fragment),xe=n(),o(Q.$$.fragment),ye=n(),o(H.$$.fragment),he=n(),o(N.$$.fragment),Ce=n(),Y=Z("p"),this.h()},l(e){const a=Ge("svelte-u9bgzb",document.head);f=k(a,"META",{name:!0,content:!0}),a.forEach(t),A=r(e),F=k(e,"P",{}),Me(F).forEach(t),B=r(e),i($.$$.fragment,e),X=r(e),i(g.$$.fragment,e),W=r(e),b=k(e,"P",{"data-svelte-h":!0}),ve(b)!=="svelte-1de5x6a"&&(b.textContent=Ue),V=r(e),q=k(e,"P",{"data-svelte-h":!0}),ve(q)!=="svelte-1kio422"&&(q.textContent=je),K=r(e),i(x.$$.fragment,e),O=r(e),i(y.$$.fragment,e),ee=r(e),i(h.$$.fragment,e),ae=r(e),i(C.$$.fragment,e),te=r(e),w=k(e,"P",{"data-svelte-h":!0}),ve(w)!=="svelte-14f67gd"&&(w.innerHTML=Te),se=r(e),i(v.$$.fragment,e),ne=r(e),i(_.$$.fragment,e),re=r(e),i(U.$$.fragment,e),oe=r(e),i(j.$$.fragment,e),ie=r(e),i(T.$$.fragment,e),le=r(e),i(M.$$.fragment,e),ce=r(e),i(I.$$.fragment,e),ue=r(e),i(J.$$.fragment,e),de=r(e),i(P.$$.fragment,e),me=r(e),i(R.$$.fragment,e),pe=r(e),i(E.$$.fragment,e),fe=r(e),i(z.$$.fragment,e),$e=r(e),i(D.$$.fragment,e),ge=r(e),i(G.$$.fragment,e),be=r(e),i(L.$$.fragment,e),qe=r(e),i(S.$$.fragment,e),xe=r(e),i(Q.$$.fragment,e),ye=r(e),i(H.$$.fragment,e),he=r(e),i(N.$$.fragment,e),Ce=r(e),Y=k(e,"P",{}),Me(Y).forEach(t),this.h()},h(){Ie(f,"name","hf:doc:metadata"),Ie(f,"content",Ne)},m(e,a){Le(document.head,f),s(e,A,a),s(e,F,a),s(e,B,a),l($,e,a),s(e,X,a),l(g,e,a),s(e,W,a),s(e,b,a),s(e,V,a),s(e,q,a),s(e,K,a),l(x,e,a),s(e,O,a),l(y,e,a),s(e,ee,a),l(h,e,a),s(e,ae,a),l(C,e,a),s(e,te,a),s(e,w,a),s(e,se,a),l(v,e,a),s(e,ne,a),l(_,e,a),s(e,re,a),l(U,e,a),s(e,oe,a),l(j,e,a),s(e,ie,a),l(T,e,a),s(e,le,a),l(M,e,a),s(e,ce,a),l(I,e,a),s(e,ue,a),l(J,e,a),s(e,de,a),l(P,e,a),s(e,me,a),l(R,e,a),s(e,pe,a),l(E,e,a),s(e,fe,a),l(z,e,a),s(e,$e,a),l(D,e,a),s(e,ge,a),l(G,e,a),s(e,be,a),l(L,e,a),s(e,qe,a),l(S,e,a),s(e,xe,a),l(Q,e,a),s(e,ye,a),l(H,e,a),s(e,he,a),l(N,e,a),s(e,Ce,a),s(e,Y,a),we=!0},p:Re,i(e){we||(c($.$$.fragment,e),c(g.$$.fragment,e),c(x.$$.fragment,e),c(y.$$.fragment,e),c(h.$$.fragment,e),c(C.$$.fragment,e),c(v.$$.fragment,e),c(_.$$.fragment,e),c(U.$$.fragment,e),c(j.$$.fragment,e),c(T.$$.fragment,e),c(M.$$.fragment,e),c(I.$$.fragment,e),c(J.$$.fragment,e),c(P.$$.fragment,e),c(R.$$.fragment,e),c(E.$$.fragment,e),c(z.$$.fragment,e),c(D.$$.fragment,e),c(G.$$.fragment,e),c(L.$$.fragment,e),c(S.$$.fragment,e),c(Q.$$.fragment,e),c(H.$$.fragment,e),c(N.$$.fragment,e),we=!0)},o(e){u($.$$.fragment,e),u(g.$$.fragment,e),u(x.$$.fragment,e),u(y.$$.fragment,e),u(h.$$.fragment,e),u(C.$$.fragment,e),u(v.$$.fragment,e),u(_.$$.fragment,e),u(U.$$.fragment,e),u(j.$$.fragment,e),u(T.$$.fragment,e),u(M.$$.fragment,e),u(I.$$.fragment,e),u(J.$$.fragment,e),u(P.$$.fragment,e),u(R.$$.fragment,e),u(E.$$.fragment,e),u(z.$$.fragment,e),u(D.$$.fragment,e),u(G.$$.fragment,e),u(L.$$.fragment,e),u(S.$$.fragment,e),u(Q.$$.fragment,e),u(H.$$.fragment,e),u(N.$$.fragment,e),we=!1},d(e){e&&(t(A),t(F),t(B),t(X),t(W),t(b),t(V),t(q),t(K),t(O),t(ee),t(ae),t(te),t(w),t(se),t(ne),t(re),t(oe),t(ie),t(le),t(ce),t(ue),t(de),t(me),t(pe),t(fe),t($e),t(ge),t(be),t(qe),t(xe),t(ye),t(he),t(Ce),t(Y)),t(f),d($,e),d(g,e),d(x,e),d(y,e),d(h,e),d(C,e),d(v,e),d(_,e),d(U,e),d(j,e),d(T,e),d(M,e),d(I,e),d(J,e),d(P,e),d(R,e),d(E,e),d(z,e),d(D,e),d(G,e),d(L,e),d(S,e),d(Q,e),d(H,e),d(N,e)}}}const Ne='{"title":"Quiz de final de capítulo","local":"quiz-de-final-de-capítulo","sections":[{"title":"1. ¿Desde qué ubicaciones te permite cargar datasets la función load_dataset() en 🤗 Datasets?","local":"1-desde-qué-ubicaciones-te-permite-cargar-datasets-la-función-loaddataset-en--datasets","sections":[],"depth":3},{"title":"2. Supón que cargas una de las tareas de GLUE así:","local":"2-supón-que-cargas-una-de-las-tareas-de-glue-así","sections":[],"depth":3},{"title":"3. Supón que tienes un dataset sobre mascotas llamado pets_dataset , que tiene una columna name que contiene el nombre de cada mascota. ¿Cuál de los siguientes acercamientos te permitiría filtrar el dataset para todas las mascotas cuyos nombres comienzan con la letra “L”?","local":"3-supón-que-tienes-un-dataset-sobre-mascotas-llamado-petsdataset--que-tiene-una-columna-name-que-contiene-el-nombre-de-cada-mascota-cuál-de-los-siguientes-acercamientos-te-permitiría-filtrar-el-dataset-para-todas-las-mascotas-cuyos-nombres-comienzan-con-la-letra-l","sections":[],"depth":3},{"title":"4. ¿Qué es la proyección en memoria ( memory mapping )?","local":"4-qué-es-la-proyección-en-memoria--memory-mapping-","sections":[],"depth":3},{"title":"5. ¿Cuáles son los principales beneficios de la proyección en memoria?","local":"5-cuáles-son-los-principales-beneficios-de-la-proyección-en-memoria","sections":[],"depth":3},{"title":"6. ¿Por qué no funciona el siguiente código?","local":"6-por-qué-no-funciona-el-siguiente-código","sections":[],"depth":3},{"title":"7. ¿Cuáles son los principales beneficios de crear una tarjeta para un dataset?","local":"7-cuáles-son-los-principales-beneficios-de-crear-una-tarjeta-para-un-dataset","sections":[],"depth":3},{"title":"8. ¿Qué es la búsqueda semántica?","local":"8-qué-es-la-búsqueda-semántica","sections":[],"depth":3},{"title":"9. Para la búsqueda semántica asimétrica, usualmente tienes:","local":"9-para-la-búsqueda-semántica-asimétrica-usualmente-tienes","sections":[],"depth":3},{"title":"10. ¿Puedo usar 🤗 Datasets para cargar datos y usarlos en otras áreas, como procesamiento de habla?","local":"10-puedo-usar--datasets-para-cargar-datos-y-usarlos-en-otras-áreas-como-procesamiento-de-habla","sections":[],"depth":3}],"depth":1}';function Ze(_e){return Ee(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ve extends ze{constructor(f){super(),De(this,f,Ze,He,Pe,{})}}export{Ve as component};

Xet Storage Details

Size:
18.3 kB
·
Xet hash:
691be456ad7d03c9d5c775af1e7ca0733fce08dd5289903cfba86191994f6517

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