Buckets:

rtrm's picture
|
download
raw
14.5 kB
# Тест в конце главы[[end-of-chapter-quiz]]
<CourseFloatingBanner
chapter={5}
classNames="absolute z-10 right-0 top-0"
/>
Эта глава охватила много вопросов! Не волнуйтесь, если вы не поняли всех деталей; следующие главы помогут вам понять, как все работает внутри.
Однако, прежде чем двигаться дальше, давайте проверим то, что вы узнали в этой главе.
### Из каких источников функция `load_dataset()` в 🤗 Datasets позволяет загружать наборы данных?
<Question
choices={[
{
text: "Локальных, то есть с моего компьютера",
explain: "Правильно! Вы можете передать пути к локальным файлам в аргумент <code>data_files</code> функции <code>load_dataset()</code> для загрузки локальных наборов данных.",
correct: true
},
{
text: "Hugging Face Hub",
explain: "Правильно! Вы можете загружать наборы данных в Hub, указав идентификатор набора данных, например. <code>load_dataset('emotion')</code>.",
correct: true
},
{
text: "Удаленный сервер",
explain: "Правильно! Вы можете передать URLs в аргумент <code>data_files</code> фунции <code>load_dataset()</code>. ",
correct: true
},
]}
/>
### 2. Предположим, вы загружаете одну из задач GLUE следующим образом:
```py
from datasets import load_dataset
dataset = load_dataset("glue", "mrpc", split="train")
```
Какая из следующих команд создаст случайную выборку из 50 элементов из `dataset`?
<Question
choices={[
{
text: "<code>dataset.sample(50)</code>",
explain: "Это неверно — нет метода <code>Dataset.sample()</code>."
},
{
text: "<code>dataset.shuffle().select(range(50))</code>",
explain: "Правильный! Как вы видели в этой главе, вы сначала перемешиваете набор данных, а затем выбираете из него подмножества.",
correct: true
},
{
text: "<code>dataset.select(range(50)).shuffle()</code>",
explain: "Это неверно — хотя код запустится, он перемешает только первые 50 элементов в наборе данных."
}
]}
/>
### 3. Предположим, у вас есть набор данных о домашних питомцах под названием `pets_dataset`, в котором есть столбец `name`, обозначающий имя каждого питомца. Какой из следующих подходов позволит вам отфильтровать набор данных для всех домашних животных, имена которых начинаются с буквы «L»?
<Question
choices={[
{
text: "<code>pets_dataset.filter(lambda x : x['name'].startswith('L'))</code>",
explain: "Правильно! Использование лямбда-функции Python для этих быстрых фильтров — отличная идея. Можете ли вы придумать другое решение?",
correct: true
},
{
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: true
}
]}
/>
### 4. Что такое отображение в память?
<Question
choices={[
{
text: "Сопоставление между ЦП (CPU) и ОЗУ (RAM) графического процессора",
explain: "Нет, попробуй еще раз!",
},
{
text: "Отображение между RAM и файловой системой компьютера",
explain: "Правильно! 🤗 Datasets рассматриваtт каждый набор данных как файл с отображением в памяти. Это позволяет библиотеке получать доступ к элементам набора данных и работать с ними без необходимости полной загрузки его в память.",
correct: true
},
{
text: "Сопоставление между двумя файлами в кэшэ 🤗 Datasets",
explain: "Нет, попробуй еще раз!"
}
]}
/>
### 5. Что из перечисленного ниже является основным преимуществом отображения памяти?
<Question
choices={[
{
text: "Доступ к файлам, отображенным в памяти, быстрее, чем чтение или запись на диск.",
explain: "Правильно! Это позволяет 🤗 Datasets работать быстро. Однако это не единственное преимущество.",
correct: true
},
{
text: "Приложения могут получать доступ к сегментам данных в очень большом файле без необходимости сначала считывать весь файл в ОЗУ.",
explain: "Правильно! Это позволяет 🤗 Datasets загружать многогигабайтные наборы данных на ваш ноутбук, не нагружая ваш процессор. Какие еще преимущества предлагает сопоставление памяти?",
correct: true
},
{
text: "Он потребляет меньше энергии, поэтому батарея работает дольше.",
explain: "Это неправильно - попробуй еще раз!"
}
]}
/>
### 6. Почему следующий код не работает?
```py
from datasets import load_dataset
dataset = load_dataset("allocine", streaming=True, split="train")
dataset[0]
```
<Question
choices={[
{
text: "Он пытается передать набор данных, который слишком велик для размещения в ОЗУ.",
explain: "Это невернопотоковые наборы данных распаковываются на лету, и вы можете обрабатывать наборы данных размером в терабайт с очень небольшим объемом оперативной памяти!",
},
{
text: "Он пытается получить доступ к <code>IterableDataset</code>.",
explain: "Правильно! <code>IterableDataset</code> — это генератор, а не контейнер, поэтому вы должны получить доступ к его элементам, используя <code>next(iter(dataset))</code>.",
correct: true
},
{
text: "Набор данных <code>allocine</code> не имеет разделения <code>train</code>.",
explain: "Это неверно — проверьте [<code>allocine</code> карточку набора данных](https://huggingface.co/datasets/allocine) в Hub, чтобы увидеть, какие разбиения он содержит."
}
]}
/>
### 7. Что из перечисленного является основными преимуществами создания карточки датасета?
<Question
choices={[
{
text: "Она предоставляет информацию о предполагаемом использовании и поддерживаемых задачах набора данных, чтобы другие участники сообщества могли принять обоснованное решение об его использовании.",
explain: "Правильно! Недокументированные наборы данных могут использоваться для обучения моделей, которые могут не отражать намерения создателей наборов данных, или могут создавать модели с неясным юридическим статусом, если они обучены на данных, нарушающих конфиденциальность или лицензионные ограничения. Но это не единственный плюс!",
correct : true
},
{
text: "Это помогает привлечь внимание к искажениям, присутствующим в корпусе.",
explain: "Правильно! Почти все наборы данных имеют некоторую форму предвзятости, которая может привести к негативным последствиям в дальнейшем. Знание о них помогает разработчикам моделей понять, как устранять подобные искажения. В чем еще помогают карточки наборов данных?»",
correct : true
},
{
text: "Это повышает шансы на то, что другие участники сообщества будут использовать мой набор данных.",
explain: "Правильно! Хорошо написанная карточка набора данных, как правило, приведет к более активному использованию вашего драгоценного датасета. Какие еще могут быть преимущества?",
correct: true
},
]}
/>
### 8. Что такое семантический поиск?
<Question
choices={[
{
text: "Способ поиска точных совпадений между словами в запросе и документами в корпусе",
explain: "Это неверноэтот тип поиска называется *лексическим поиском*, и это то, что вы обычно видите в традиционных поисковых системах"
},
{
text: "Способ поиска совпадающих документов путем понимания контекстного значения запроса",
explain: "Правильно! Семантический поиск использует вложенные векторы для представления запросов и документов и использует метрику подобия для измерения степени совпадения между ними. Как еще вы могли бы это описать?",
correct: true
},
{
text: "Способ повысить точность поиска",
explain: "Правильно! Семантические поисковые системы могут улавливать цель запроса намного лучше, чем сопоставление ключевых слов, и обычно извлекают документы с более высокой точностью. Но это не единственный правильный ответ - что еще дает семантический поиск?",
correct: true
}
]}
/>
### 9. Для асимметричного семантического поиска можно использовать:
<Question
choices={[
{
text: "Короткий запрос и более длинный абзац, отвечающий на запрос. ",
explain: "Правильно!",
correct : true
},
{
text: "Запросы и абзацы примерно одинаковой длины. ",
explain: "Это пример симметричного семантического поискапопробуй еще раз!"
},
{
text: "Длинный запрос и более короткий абзац, который отвечает на запрос.",
explain: "Неправильно, попробуй еще раз!"
}
]}
/>
### 10. Могу ли я использовать 🤗 Datasets для загрузки данных и решения задач в других областях, например для обработки речи?
<Question
choices={[
{
text: "Нет",
explain: "Это неверно — 🤗 Datasets в настоящее время поддерживают табличные данные, аудио и компьютерное зрение. Ознакомьтесь с <a href='https://huggingface.co/datasets/mnist'>набором данных MNIST</a> в Hub для примера компьютерного зрения."
},
{
text: "Да",
explain: "Правильно! Ознакомьтесь с захватывающими разработками в области речи и зрения в библиотеке 🤗 Transformers, чтобы узнать, как 🤗 Datasets используются в этих областях.",
correct : true
},
]}
/>
<EditOnGithub source="https://github.com/huggingface/course/blob/main/chapters/ru/chapter5/8.mdx" />

Xet Storage Details

Size:
14.5 kB
·
Xet hash:
0861a225805b41a60d3ea1561a77efc7e8bc196129eacfb8061058ed72864860

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