Buckets:
| import{s as vt,n as Dt,o as zt}from"../chunks/scheduler.37c15a92.js";import{S as It,i as Ht,g as Y,s as n,r as l,A as Zt,h as E,f as a,c as $,j as Gt,u as i,x as qt,k as Rt,y as kt,a as s,v as r,d as p,t as m,w as f}from"../chunks/index.2bf4358c.js";import{C as jt}from"../chunks/CodeBlock.4e987730.js";import{C as Ft}from"../chunks/CourseFloatingBanner.9ff4c771.js";import{Q as d}from"../chunks/Question.668688bc.js";import{H as o,E as Bt}from"../chunks/getInferenceSnippets.24b50994.js";function Lt(Jt){let u,W,N,S,g,Q,c,V,x,Ut="Эта глава охватила много вопросов! Не волнуйтесь, если вы не поняли всех деталей; следующие главы помогут вам понять, как все работает внутри.",A,w,Ct="Однако, прежде чем двигаться дальше, давайте проверим то, что вы узнали в этой главе.",K,h,O,_,tt,T,et,b,at,y,Mt="Какая из следующих команд создаст случайную выборку из 50 элементов из <code>dataset</code>?",st,q,nt,J,$t,U,lt,C,it,M,rt,G,pt,R,mt,j,ft,v,ot,D,dt,z,ut,I,gt,H,ct,Z,xt,k,wt,F,ht,B,_t,L,Tt,P,bt,X,yt;return g=new o({props:{title:"Тест в конце главы",local:"end-of-chapter-quiz",headingTag:"h1"}}),c=new Ft({props:{chapter:5,classNames:"absolute z-10 right-0 top-0"}}),h=new o({props:{title:"Из каких источников функция load_dataset() в 🤗 Datasets позволяет загружать наборы данных?",local:"из-каких-источников-функция-loaddataset-в--datasets-позволяет-загружать-наборы-данных",headingTag:"h3"}}),_=new d({props:{choices:[{text:"Локальных, то есть с моего компьютера",explain:"Правильно! Вы можете передать пути к локальным файлам в аргумент <code>data_files</code> функции <code>load_dataset()</code> для загрузки локальных наборов данных.",correct:!0},{text:"Hugging Face Hub",explain:"Правильно! Вы можете загружать наборы данных в Hub, указав идентификатор набора данных, например. <code>load_dataset('emotion')</code>.",correct:!0},{text:"Удаленный сервер",explain:"Правильно! Вы можете передать URLs в аргумент <code>data_files</code> фунции <code>load_dataset()</code>. ",correct:!0}]}}),T=new o({props:{title:"2. Предположим, вы загружаете одну из задач GLUE следующим образом:",local:"2-предположим-вы-загружаете-одну-из-задач-glue-следующим-образом",headingTag:"h3"}}),b=new jt({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">"glue"</span>, <span class="hljs-string">"mrpc"</span>, split=<span class="hljs-string">"train"</span>)`,wrap:!1}}),q=new d({props:{choices:[{text:"<code>dataset.sample(50)</code>",explain:"Это неверно — нет метода <code>Dataset.sample()</code>."},{text:"<code>dataset.shuffle().select(range(50))</code>",explain:"Правильный! Как вы видели в этой главе, вы сначала перемешиваете набор данных, а затем выбираете из него подмножества.",correct:!0},{text:"<code>dataset.select(range(50)).shuffle()</code>",explain:"Это неверно — хотя код запустится, он перемешает только первые 50 элементов в наборе данных."}]}}),J=new o({props:{title:"3. Предположим, у вас есть набор данных о домашних питомцах под названием pets_dataset , в котором есть столбец name , обозначающий имя каждого питомца. Какой из следующих подходов позволит вам отфильтровать набор данных для всех домашних животных, имена которых начинаются с буквы «L»?",local:"3-предположим-у-вас-есть-набор-данных-о-домашних-питомцах-под-названием-petsdataset--в-котором-есть-столбец-name--обозначающий-имя-каждого-питомца-какой-из-следующих-подходов-позволит-вам-отфильтровать-набор-данных-для-всех-домашних-животных-имена-которых-начинаются-с-буквы-l",headingTag:"h3"}}),U=new d({props:{choices:[{text:"<code>pets_dataset.filter(lambda x : x['name'].startswith('L'))</code>",explain:"Правильно! Использование лямбда-функции Python для этих быстрых фильтров — отличная идея. Можете ли вы придумать другое решение?",correct:!0},{text:"<code>pets_dataset.filter(lambda x['name'].startswith('L'))</code>",explain:"Это неверно — лямбда-функция принимает общую форму <code>lambda *arguments* : *expression*</code>, поэтому в этом случае вам необходимо предоставить аргументы."},{text:"Create a function like <code>def filter_names(x): return x['name'].startswith('L')</code> and run <code>pets_dataset.filter(filter_names)</code>.",explain:"Правильно! Как и в случае с <code>Dataset.map()</code>, вы можете передавать явные функции в <code>Dataset.filter()</code>. Это полезно, когда у вас есть сложная логика, которая не подходит для короткой лямбда-функции. Какое из других решений будет работать?",correct:!0}]}}),C=new o({props:{title:"4. Что такое отображение в память?",local:"4-что-такое-отображение-в-память",headingTag:"h3"}}),M=new d({props:{choices:[{text:"Сопоставление между ЦП (CPU) и ОЗУ (RAM) графического процессора",explain:"Нет, попробуй еще раз!"},{text:"Отображение между RAM и файловой системой компьютера",explain:"Правильно! 🤗 Datasets рассматриваtт каждый набор данных как файл с отображением в памяти. Это позволяет библиотеке получать доступ к элементам набора данных и работать с ними без необходимости полной загрузки его в память.",correct:!0},{text:"Сопоставление между двумя файлами в кэшэ 🤗 Datasets",explain:"Нет, попробуй еще раз!"}]}}),G=new o({props:{title:"5. Что из перечисленного ниже является основным преимуществом отображения памяти?",local:"5-что-из-перечисленного-ниже-является-основным-преимуществом-отображения-памяти",headingTag:"h3"}}),R=new d({props:{choices:[{text:"Доступ к файлам, отображенным в памяти, быстрее, чем чтение или запись на диск.",explain:"Правильно! Это позволяет 🤗 Datasets работать быстро. Однако это не единственное преимущество.",correct:!0},{text:"Приложения могут получать доступ к сегментам данных в очень большом файле без необходимости сначала считывать весь файл в ОЗУ.",explain:"Правильно! Это позволяет 🤗 Datasets загружать многогигабайтные наборы данных на ваш ноутбук, не нагружая ваш процессор. Какие еще преимущества предлагает сопоставление памяти?",correct:!0},{text:"Он потребляет меньше энергии, поэтому батарея работает дольше.",explain:"Это неправильно - попробуй еще раз!"}]}}),j=new o({props:{title:"6. Почему следующий код не работает?",local:"6-почему-следующий-код-не-работает",headingTag:"h3"}}),v=new jt({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">"allocine"</span>, streaming=<span class="hljs-literal">True</span>, split=<span class="hljs-string">"train"</span>) | |
| dataset[<span class="hljs-number">0</span>]`,wrap:!1}}),D=new d({props:{choices:[{text:"Он пытается передать набор данных, который слишком велик для размещения в ОЗУ.",explain:"Это неверно — потоковые наборы данных распаковываются на лету, и вы можете обрабатывать наборы данных размером в терабайт с очень небольшим объемом оперативной памяти!"},{text:"Он пытается получить доступ к <code>IterableDataset</code>.",explain:"Правильно! <code>IterableDataset</code> — это генератор, а не контейнер, поэтому вы должны получить доступ к его элементам, используя <code>next(iter(dataset))</code>.",correct:!0},{text:"Набор данных <code>allocine</code> не имеет разделения <code>train</code>.",explain:"Это неверно — проверьте [<code>allocine</code> карточку набора данных](https://huggingface.co/datasets/allocine) в Hub, чтобы увидеть, какие разбиения он содержит."}]}}),z=new o({props:{title:"7. Что из перечисленного является основными преимуществами создания карточки датасета?",local:"7-что-из-перечисленного-является-основными-преимуществами-создания-карточки-датасета",headingTag:"h3"}}),I=new d({props:{choices:[{text:"Она предоставляет информацию о предполагаемом использовании и поддерживаемых задачах набора данных, чтобы другие участники сообщества могли принять обоснованное решение об его использовании.",explain:"Правильно! Недокументированные наборы данных могут использоваться для обучения моделей, которые могут не отражать намерения создателей наборов данных, или могут создавать модели с неясным юридическим статусом, если они обучены на данных, нарушающих конфиденциальность или лицензионные ограничения. Но это не единственный плюс!",correct:!0},{text:"Это помогает привлечь внимание к искажениям, присутствующим в корпусе.",explain:"Правильно! Почти все наборы данных имеют некоторую форму предвзятости, которая может привести к негативным последствиям в дальнейшем. Знание о них помогает разработчикам моделей понять, как устранять подобные искажения. В чем еще помогают карточки наборов данных?»",correct:!0},{text:"Это повышает шансы на то, что другие участники сообщества будут использовать мой набор данных.",explain:"Правильно! Хорошо написанная карточка набора данных, как правило, приведет к более активному использованию вашего драгоценного датасета. Какие еще могут быть преимущества?",correct:!0}]}}),H=new o({props:{title:"8. Что такое семантический поиск?",local:"8-что-такое-семантический-поиск",headingTag:"h3"}}),Z=new d({props:{choices:[{text:"Способ поиска точных совпадений между словами в запросе и документами в корпусе",explain:"Это неверно — этот тип поиска называется *лексическим поиском*, и это то, что вы обычно видите в традиционных поисковых системах"},{text:"Способ поиска совпадающих документов путем понимания контекстного значения запроса",explain:"Правильно! Семантический поиск использует вложенные векторы для представления запросов и документов и использует метрику подобия для измерения степени совпадения между ними. Как еще вы могли бы это описать?",correct:!0},{text:"Способ повысить точность поиска",explain:"Правильно! Семантические поисковые системы могут улавливать цель запроса намного лучше, чем сопоставление ключевых слов, и обычно извлекают документы с более высокой точностью. Но это не единственный правильный ответ - что еще дает семантический поиск?",correct:!0}]}}),k=new o({props:{title:"9. Для асимметричного семантического поиска можно использовать:",local:"9-для-асимметричного-семантического-поиска-можно-использовать",headingTag:"h3"}}),F=new d({props:{choices:[{text:"Короткий запрос и более длинный абзац, отвечающий на запрос. ",explain:"Правильно!",correct:!0},{text:"Запросы и абзацы примерно одинаковой длины. ",explain:"Это пример симметричного семантического поиска – попробуй еще раз!"},{text:"Длинный запрос и более короткий абзац, который отвечает на запрос.",explain:"Неправильно, попробуй еще раз!"}]}}),B=new o({props:{title:"10. Могу ли я использовать 🤗 Datasets для загрузки данных и решения задач в других областях, например для обработки речи?",local:"10-могу-ли-я-использовать--datasets-для-загрузки-данных-и-решения-задач-в-других-областях-например-для-обработки-речи",headingTag:"h3"}}),L=new d({props:{choices:[{text:"Нет",explain:"Это неверно — 🤗 Datasets в настоящее время поддерживают табличные данные, аудио и компьютерное зрение. Ознакомьтесь с <a href='https://huggingface.co/datasets/mnist'>набором данных MNIST</a> в Hub для примера компьютерного зрения."},{text:"Да",explain:"Правильно! Ознакомьтесь с захватывающими разработками в области речи и зрения в библиотеке 🤗 Transformers, чтобы узнать, как 🤗 Datasets используются в этих областях.",correct:!0}]}}),P=new Bt({props:{source:"https://github.com/huggingface/course/blob/main/chapters/ru/chapter5/8.mdx"}}),{c(){u=Y("meta"),W=n(),N=Y("p"),S=n(),l(g.$$.fragment),Q=n(),l(c.$$.fragment),V=n(),x=Y("p"),x.textContent=Ut,A=n(),w=Y("p"),w.textContent=Ct,K=n(),l(h.$$.fragment),O=n(),l(_.$$.fragment),tt=n(),l(T.$$.fragment),et=n(),l(b.$$.fragment),at=n(),y=Y("p"),y.innerHTML=Mt,st=n(),l(q.$$.fragment),nt=n(),l(J.$$.fragment),$t=n(),l(U.$$.fragment),lt=n(),l(C.$$.fragment),it=n(),l(M.$$.fragment),rt=n(),l(G.$$.fragment),pt=n(),l(R.$$.fragment),mt=n(),l(j.$$.fragment),ft=n(),l(v.$$.fragment),ot=n(),l(D.$$.fragment),dt=n(),l(z.$$.fragment),ut=n(),l(I.$$.fragment),gt=n(),l(H.$$.fragment),ct=n(),l(Z.$$.fragment),xt=n(),l(k.$$.fragment),wt=n(),l(F.$$.fragment),ht=n(),l(B.$$.fragment),_t=n(),l(L.$$.fragment),Tt=n(),l(P.$$.fragment),bt=n(),X=Y("p"),this.h()},l(t){const e=Zt("svelte-u9bgzb",document.head);u=E(e,"META",{name:!0,content:!0}),e.forEach(a),W=$(t),N=E(t,"P",{}),Gt(N).forEach(a),S=$(t),i(g.$$.fragment,t),Q=$(t),i(c.$$.fragment,t),V=$(t),x=E(t,"P",{"data-svelte-h":!0}),qt(x)!=="svelte-lsc2qv"&&(x.textContent=Ut),A=$(t),w=E(t,"P",{"data-svelte-h":!0}),qt(w)!=="svelte-onqm80"&&(w.textContent=Ct),K=$(t),i(h.$$.fragment,t),O=$(t),i(_.$$.fragment,t),tt=$(t),i(T.$$.fragment,t),et=$(t),i(b.$$.fragment,t),at=$(t),y=E(t,"P",{"data-svelte-h":!0}),qt(y)!=="svelte-1jn4atw"&&(y.innerHTML=Mt),st=$(t),i(q.$$.fragment,t),nt=$(t),i(J.$$.fragment,t),$t=$(t),i(U.$$.fragment,t),lt=$(t),i(C.$$.fragment,t),it=$(t),i(M.$$.fragment,t),rt=$(t),i(G.$$.fragment,t),pt=$(t),i(R.$$.fragment,t),mt=$(t),i(j.$$.fragment,t),ft=$(t),i(v.$$.fragment,t),ot=$(t),i(D.$$.fragment,t),dt=$(t),i(z.$$.fragment,t),ut=$(t),i(I.$$.fragment,t),gt=$(t),i(H.$$.fragment,t),ct=$(t),i(Z.$$.fragment,t),xt=$(t),i(k.$$.fragment,t),wt=$(t),i(F.$$.fragment,t),ht=$(t),i(B.$$.fragment,t),_t=$(t),i(L.$$.fragment,t),Tt=$(t),i(P.$$.fragment,t),bt=$(t),X=E(t,"P",{}),Gt(X).forEach(a),this.h()},h(){Rt(u,"name","hf:doc:metadata"),Rt(u,"content",Pt)},m(t,e){kt(document.head,u),s(t,W,e),s(t,N,e),s(t,S,e),r(g,t,e),s(t,Q,e),r(c,t,e),s(t,V,e),s(t,x,e),s(t,A,e),s(t,w,e),s(t,K,e),r(h,t,e),s(t,O,e),r(_,t,e),s(t,tt,e),r(T,t,e),s(t,et,e),r(b,t,e),s(t,at,e),s(t,y,e),s(t,st,e),r(q,t,e),s(t,nt,e),r(J,t,e),s(t,$t,e),r(U,t,e),s(t,lt,e),r(C,t,e),s(t,it,e),r(M,t,e),s(t,rt,e),r(G,t,e),s(t,pt,e),r(R,t,e),s(t,mt,e),r(j,t,e),s(t,ft,e),r(v,t,e),s(t,ot,e),r(D,t,e),s(t,dt,e),r(z,t,e),s(t,ut,e),r(I,t,e),s(t,gt,e),r(H,t,e),s(t,ct,e),r(Z,t,e),s(t,xt,e),r(k,t,e),s(t,wt,e),r(F,t,e),s(t,ht,e),r(B,t,e),s(t,_t,e),r(L,t,e),s(t,Tt,e),r(P,t,e),s(t,bt,e),s(t,X,e),yt=!0},p:Dt,i(t){yt||(p(g.$$.fragment,t),p(c.$$.fragment,t),p(h.$$.fragment,t),p(_.$$.fragment,t),p(T.$$.fragment,t),p(b.$$.fragment,t),p(q.$$.fragment,t),p(J.$$.fragment,t),p(U.$$.fragment,t),p(C.$$.fragment,t),p(M.$$.fragment,t),p(G.$$.fragment,t),p(R.$$.fragment,t),p(j.$$.fragment,t),p(v.$$.fragment,t),p(D.$$.fragment,t),p(z.$$.fragment,t),p(I.$$.fragment,t),p(H.$$.fragment,t),p(Z.$$.fragment,t),p(k.$$.fragment,t),p(F.$$.fragment,t),p(B.$$.fragment,t),p(L.$$.fragment,t),p(P.$$.fragment,t),yt=!0)},o(t){m(g.$$.fragment,t),m(c.$$.fragment,t),m(h.$$.fragment,t),m(_.$$.fragment,t),m(T.$$.fragment,t),m(b.$$.fragment,t),m(q.$$.fragment,t),m(J.$$.fragment,t),m(U.$$.fragment,t),m(C.$$.fragment,t),m(M.$$.fragment,t),m(G.$$.fragment,t),m(R.$$.fragment,t),m(j.$$.fragment,t),m(v.$$.fragment,t),m(D.$$.fragment,t),m(z.$$.fragment,t),m(I.$$.fragment,t),m(H.$$.fragment,t),m(Z.$$.fragment,t),m(k.$$.fragment,t),m(F.$$.fragment,t),m(B.$$.fragment,t),m(L.$$.fragment,t),m(P.$$.fragment,t),yt=!1},d(t){t&&(a(W),a(N),a(S),a(Q),a(V),a(x),a(A),a(w),a(K),a(O),a(tt),a(et),a(at),a(y),a(st),a(nt),a($t),a(lt),a(it),a(rt),a(pt),a(mt),a(ft),a(ot),a(dt),a(ut),a(gt),a(ct),a(xt),a(wt),a(ht),a(_t),a(Tt),a(bt),a(X)),a(u),f(g,t),f(c,t),f(h,t),f(_,t),f(T,t),f(b,t),f(q,t),f(J,t),f(U,t),f(C,t),f(M,t),f(G,t),f(R,t),f(j,t),f(v,t),f(D,t),f(z,t),f(I,t),f(H,t),f(Z,t),f(k,t),f(F,t),f(B,t),f(L,t),f(P,t)}}}const Pt='{"title":"Тест в конце главы","local":"end-of-chapter-quiz","sections":[{"title":"Из каких источников функция load_dataset() в 🤗 Datasets позволяет загружать наборы данных?","local":"из-каких-источников-функция-loaddataset-в--datasets-позволяет-загружать-наборы-данных","sections":[],"depth":3},{"title":"2. Предположим, вы загружаете одну из задач GLUE следующим образом:","local":"2-предположим-вы-загружаете-одну-из-задач-glue-следующим-образом","sections":[],"depth":3},{"title":"3. Предположим, у вас есть набор данных о домашних питомцах под названием pets_dataset , в котором есть столбец name , обозначающий имя каждого питомца. Какой из следующих подходов позволит вам отфильтровать набор данных для всех домашних животных, имена которых начинаются с буквы «L»?","local":"3-предположим-у-вас-есть-набор-данных-о-домашних-питомцах-под-названием-petsdataset--в-котором-есть-столбец-name--обозначающий-имя-каждого-питомца-какой-из-следующих-подходов-позволит-вам-отфильтровать-набор-данных-для-всех-домашних-животных-имена-которых-начинаются-с-буквы-l","sections":[],"depth":3},{"title":"4. Что такое отображение в память?","local":"4-что-такое-отображение-в-память","sections":[],"depth":3},{"title":"5. Что из перечисленного ниже является основным преимуществом отображения памяти?","local":"5-что-из-перечисленного-ниже-является-основным-преимуществом-отображения-памяти","sections":[],"depth":3},{"title":"6. Почему следующий код не работает?","local":"6-почему-следующий-код-не-работает","sections":[],"depth":3},{"title":"7. Что из перечисленного является основными преимуществами создания карточки датасета?","local":"7-что-из-перечисленного-является-основными-преимуществами-создания-карточки-датасета","sections":[],"depth":3},{"title":"8. Что такое семантический поиск?","local":"8-что-такое-семантический-поиск","sections":[],"depth":3},{"title":"9. Для асимметричного семантического поиска можно использовать:","local":"9-для-асимметричного-семантического-поиска-можно-использовать","sections":[],"depth":3},{"title":"10. Могу ли я использовать 🤗 Datasets для загрузки данных и решения задач в других областях, например для обработки речи?","local":"10-могу-ли-я-использовать--datasets-для-загрузки-данных-и-решения-задач-в-других-областях-например-для-обработки-речи","sections":[],"depth":3}],"depth":1}';function Yt(Jt){return zt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Vt extends It{constructor(u){super(),Ht(this,u,Yt,Lt,vt,{})}}export{Vt as component}; | |
Xet Storage Details
- Size:
- 25.3 kB
- Xet hash:
- b91b01a08d881ea59f7ee5720d6dd39f7fdafe34a671088a7afdaa1fa553ac89
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.