Buckets:

rtrm's picture
download
raw
25.6 kB
import{s as zt,n as It,o as Ht}from"../chunks/scheduler.893fe8c9.js";import{S as Lt,i as Zt,e as E,s as n,c as l,h as kt,a as N,d as a,b as $,f as jt,g as i,j as qt,k as vt,l as Ft,m as s,n as p,t as r,o as m,p as f}from"../chunks/index.2d09ebb4.js";import{C as Bt,H as o,E as Pt}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.fd8a275b.js";import{C as Dt}from"../chunks/CodeBlock.d42a674a.js";import{C as Yt}from"../chunks/CourseFloatingBanner.e3aeab73.js";import{Q as d}from"../chunks/Question.6e77d2db.js";function Et(Jt){let u,W,X,Q,g,V,x,A,c,K,w,Ut="Эта глава охватила много вопросов! Не волнуйтесь, если вы не поняли всех деталей; следующие главы помогут вам понять, как все работает внутри.",O,h,Gt="Однако, прежде чем двигаться дальше, давайте проверим то, что вы узнали в этой главе.",tt,_,et,y,at,T,st,b,nt,C,Rt="Какая из следующих команд создаст случайную выборку из 50 элементов из <code>dataset</code>?",$t,M,lt,q,it,J,pt,U,rt,G,mt,R,ft,j,ot,v,dt,D,ut,z,gt,I,xt,H,ct,L,wt,Z,ht,k,_t,F,yt,B,Tt,P,bt,Y,Ct,S,Mt;return g=new Bt({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),x=new o({props:{title:"Тест в конце главы",local:"end-of-chapter-quiz",headingTag:"h1"}}),c=new Yt({props:{chapter:5,classNames:"absolute z-10 right-0 top-0"}}),_=new o({props:{title:"Из каких источников функция load_dataset() в 🤗 Datasets позволяет загружать наборы данных?",local:"из-каких-источников-функция-loaddataset-в--datasets-позволяет-загружать-наборы-данных",headingTag:"h3"}}),y=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 Dt({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}}),M=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 элементов в наборе данных."}]}}),q=new o({props:{title:"3. Предположим, у вас есть набор данных о домашних питомцах под названием pets_dataset , в котором есть столбец name , обозначающий имя каждого питомца. Какой из следующих подходов позволит вам отфильтровать набор данных для всех домашних животных, имена которых начинаются с буквы «L»?",local:"3-предположим-у-вас-есть-набор-данных-о-домашних-питомцах-под-названием-petsdataset--в-котором-есть-столбец-name--обозначающий-имя-каждого-питомца-какой-из-следующих-подходов-позволит-вам-отфильтровать-набор-данных-для-всех-домашних-животных-имена-которых-начинаются-с-буквы-l",headingTag:"h3"}}),J=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}]}}),U=new o({props:{title:"4. Что такое отображение в память?",local:"4-что-такое-отображение-в-память",headingTag:"h3"}}),G=new d({props:{choices:[{text:"Сопоставление между ЦП (CPU) и ОЗУ (RAM) графического процессора",explain:"Нет, попробуй еще раз!"},{text:"Отображение между RAM и файловой системой компьютера",explain:"Правильно! 🤗 Datasets рассматриваtт каждый набор данных как файл с отображением в памяти. Это позволяет библиотеке получать доступ к элементам набора данных и работать с ними без необходимости полной загрузки его в память.",correct:!0},{text:"Сопоставление между двумя файлами в кэшэ 🤗 Datasets",explain:"Нет, попробуй еще раз!"}]}}),R=new o({props:{title:"5. Что из перечисленного ниже является основным преимуществом отображения памяти?",local:"5-что-из-перечисленного-ниже-является-основным-преимуществом-отображения-памяти",headingTag:"h3"}}),j=new d({props:{choices:[{text:"Доступ к файлам, отображенным в памяти, быстрее, чем чтение или запись на диск.",explain:"Правильно! Это позволяет 🤗 Datasets работать быстро. Однако это не единственное преимущество.",correct:!0},{text:"Приложения могут получать доступ к сегментам данных в очень большом файле без необходимости сначала считывать весь файл в ОЗУ.",explain:"Правильно! Это позволяет 🤗 Datasets загружать многогигабайтные наборы данных на ваш ноутбук, не нагружая ваш процессор. Какие еще преимущества предлагает сопоставление памяти?",correct:!0},{text:"Он потребляет меньше энергии, поэтому батарея работает дольше.",explain:"Это неправильно - попробуй еще раз!"}]}}),v=new o({props:{title:"6. Почему следующий код не работает?",local:"6-почему-следующий-код-не-работает",headingTag:"h3"}}),D=new Dt({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}}),z=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, чтобы увидеть, какие разбиения он содержит."}]}}),I=new o({props:{title:"7. Что из перечисленного является основными преимуществами создания карточки датасета?",local:"7-что-из-перечисленного-является-основными-преимуществами-создания-карточки-датасета",headingTag:"h3"}}),H=new d({props:{choices:[{text:"Она предоставляет информацию о предполагаемом использовании и поддерживаемых задачах набора данных, чтобы другие участники сообщества могли принять обоснованное решение об его использовании.",explain:"Правильно! Недокументированные наборы данных могут использоваться для обучения моделей, которые могут не отражать намерения создателей наборов данных, или могут создавать модели с неясным юридическим статусом, если они обучены на данных, нарушающих конфиденциальность или лицензионные ограничения. Но это не единственный плюс!",correct:!0},{text:"Это помогает привлечь внимание к искажениям, присутствующим в корпусе.",explain:"Правильно! Почти все наборы данных имеют некоторую форму предвзятости, которая может привести к негативным последствиям в дальнейшем. Знание о них помогает разработчикам моделей понять, как устранять подобные искажения. В чем еще помогают карточки наборов данных?»",correct:!0},{text:"Это повышает шансы на то, что другие участники сообщества будут использовать мой набор данных.",explain:"Правильно! Хорошо написанная карточка набора данных, как правило, приведет к более активному использованию вашего драгоценного датасета. Какие еще могут быть преимущества?",correct:!0}]}}),L=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"}}),P=new d({props:{choices:[{text:"Нет",explain:"Это неверно — 🤗 Datasets в настоящее время поддерживают табличные данные, аудио и компьютерное зрение. Ознакомьтесь с <a href='https://huggingface.co/datasets/mnist'>набором данных MNIST</a> в Hub для примера компьютерного зрения."},{text:"Да",explain:"Правильно! Ознакомьтесь с захватывающими разработками в области речи и зрения в библиотеке 🤗 Transformers, чтобы узнать, как 🤗 Datasets используются в этих областях.",correct:!0}]}}),Y=new Pt({props:{source:"https://github.com/huggingface/course/blob/main/chapters/ru/chapter5/8.mdx"}}),{c(){u=E("meta"),W=n(),X=E("p"),Q=n(),l(g.$$.fragment),V=n(),l(x.$$.fragment),A=n(),l(c.$$.fragment),K=n(),w=E("p"),w.textContent=Ut,O=n(),h=E("p"),h.textContent=Gt,tt=n(),l(_.$$.fragment),et=n(),l(y.$$.fragment),at=n(),l(T.$$.fragment),st=n(),l(b.$$.fragment),nt=n(),C=E("p"),C.innerHTML=Rt,$t=n(),l(M.$$.fragment),lt=n(),l(q.$$.fragment),it=n(),l(J.$$.fragment),pt=n(),l(U.$$.fragment),rt=n(),l(G.$$.fragment),mt=n(),l(R.$$.fragment),ft=n(),l(j.$$.fragment),ot=n(),l(v.$$.fragment),dt=n(),l(D.$$.fragment),ut=n(),l(z.$$.fragment),gt=n(),l(I.$$.fragment),xt=n(),l(H.$$.fragment),ct=n(),l(L.$$.fragment),wt=n(),l(Z.$$.fragment),ht=n(),l(k.$$.fragment),_t=n(),l(F.$$.fragment),yt=n(),l(B.$$.fragment),Tt=n(),l(P.$$.fragment),bt=n(),l(Y.$$.fragment),Ct=n(),S=E("p"),this.h()},l(t){const e=kt("svelte-u9bgzb",document.head);u=N(e,"META",{name:!0,content:!0}),e.forEach(a),W=$(t),X=N(t,"P",{}),jt(X).forEach(a),Q=$(t),i(g.$$.fragment,t),V=$(t),i(x.$$.fragment,t),A=$(t),i(c.$$.fragment,t),K=$(t),w=N(t,"P",{"data-svelte-h":!0}),qt(w)!=="svelte-lsc2qv"&&(w.textContent=Ut),O=$(t),h=N(t,"P",{"data-svelte-h":!0}),qt(h)!=="svelte-onqm80"&&(h.textContent=Gt),tt=$(t),i(_.$$.fragment,t),et=$(t),i(y.$$.fragment,t),at=$(t),i(T.$$.fragment,t),st=$(t),i(b.$$.fragment,t),nt=$(t),C=N(t,"P",{"data-svelte-h":!0}),qt(C)!=="svelte-1jn4atw"&&(C.innerHTML=Rt),$t=$(t),i(M.$$.fragment,t),lt=$(t),i(q.$$.fragment,t),it=$(t),i(J.$$.fragment,t),pt=$(t),i(U.$$.fragment,t),rt=$(t),i(G.$$.fragment,t),mt=$(t),i(R.$$.fragment,t),ft=$(t),i(j.$$.fragment,t),ot=$(t),i(v.$$.fragment,t),dt=$(t),i(D.$$.fragment,t),ut=$(t),i(z.$$.fragment,t),gt=$(t),i(I.$$.fragment,t),xt=$(t),i(H.$$.fragment,t),ct=$(t),i(L.$$.fragment,t),wt=$(t),i(Z.$$.fragment,t),ht=$(t),i(k.$$.fragment,t),_t=$(t),i(F.$$.fragment,t),yt=$(t),i(B.$$.fragment,t),Tt=$(t),i(P.$$.fragment,t),bt=$(t),i(Y.$$.fragment,t),Ct=$(t),S=N(t,"P",{}),jt(S).forEach(a),this.h()},h(){vt(u,"name","hf:doc:metadata"),vt(u,"content",Nt)},m(t,e){Ft(document.head,u),s(t,W,e),s(t,X,e),s(t,Q,e),p(g,t,e),s(t,V,e),p(x,t,e),s(t,A,e),p(c,t,e),s(t,K,e),s(t,w,e),s(t,O,e),s(t,h,e),s(t,tt,e),p(_,t,e),s(t,et,e),p(y,t,e),s(t,at,e),p(T,t,e),s(t,st,e),p(b,t,e),s(t,nt,e),s(t,C,e),s(t,$t,e),p(M,t,e),s(t,lt,e),p(q,t,e),s(t,it,e),p(J,t,e),s(t,pt,e),p(U,t,e),s(t,rt,e),p(G,t,e),s(t,mt,e),p(R,t,e),s(t,ft,e),p(j,t,e),s(t,ot,e),p(v,t,e),s(t,dt,e),p(D,t,e),s(t,ut,e),p(z,t,e),s(t,gt,e),p(I,t,e),s(t,xt,e),p(H,t,e),s(t,ct,e),p(L,t,e),s(t,wt,e),p(Z,t,e),s(t,ht,e),p(k,t,e),s(t,_t,e),p(F,t,e),s(t,yt,e),p(B,t,e),s(t,Tt,e),p(P,t,e),s(t,bt,e),p(Y,t,e),s(t,Ct,e),s(t,S,e),Mt=!0},p:It,i(t){Mt||(r(g.$$.fragment,t),r(x.$$.fragment,t),r(c.$$.fragment,t),r(_.$$.fragment,t),r(y.$$.fragment,t),r(T.$$.fragment,t),r(b.$$.fragment,t),r(M.$$.fragment,t),r(q.$$.fragment,t),r(J.$$.fragment,t),r(U.$$.fragment,t),r(G.$$.fragment,t),r(R.$$.fragment,t),r(j.$$.fragment,t),r(v.$$.fragment,t),r(D.$$.fragment,t),r(z.$$.fragment,t),r(I.$$.fragment,t),r(H.$$.fragment,t),r(L.$$.fragment,t),r(Z.$$.fragment,t),r(k.$$.fragment,t),r(F.$$.fragment,t),r(B.$$.fragment,t),r(P.$$.fragment,t),r(Y.$$.fragment,t),Mt=!0)},o(t){m(g.$$.fragment,t),m(x.$$.fragment,t),m(c.$$.fragment,t),m(_.$$.fragment,t),m(y.$$.fragment,t),m(T.$$.fragment,t),m(b.$$.fragment,t),m(M.$$.fragment,t),m(q.$$.fragment,t),m(J.$$.fragment,t),m(U.$$.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(L.$$.fragment,t),m(Z.$$.fragment,t),m(k.$$.fragment,t),m(F.$$.fragment,t),m(B.$$.fragment,t),m(P.$$.fragment,t),m(Y.$$.fragment,t),Mt=!1},d(t){t&&(a(W),a(X),a(Q),a(V),a(A),a(K),a(w),a(O),a(h),a(tt),a(et),a(at),a(st),a(nt),a(C),a($t),a(lt),a(it),a(pt),a(rt),a(mt),a(ft),a(ot),a(dt),a(ut),a(gt),a(xt),a(ct),a(wt),a(ht),a(_t),a(yt),a(Tt),a(bt),a(Ct),a(S)),a(u),f(g,t),f(x,t),f(c,t),f(_,t),f(y,t),f(T,t),f(b,t),f(M,t),f(q,t),f(J,t),f(U,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(L,t),f(Z,t),f(k,t),f(F,t),f(B,t),f(P,t),f(Y,t)}}}const Nt='{"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 Xt(Jt){return Ht(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ot extends Lt{constructor(u){super(),Zt(this,u,Xt,Et,zt,{})}}export{Ot as component};

Xet Storage Details

Size:
25.6 kB
·
Xet hash:
c1d4be7cebf705c5cf3752a2fd04562f50260755ed1a0da4411929d7a4f0ac53

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