# Классы-конструкторы

## Создатели[[datasets.DatasetBuilder]]

🤗 Datasets опирается на два основных класса в процессе построения набора данных: [DatasetBuilder](/docs/datasets/main/ru/package_reference/builder_classes#datasets.DatasetBuilder) и [BuilderConfig](/docs/datasets/main/ru/package_reference/builder_classes#datasets.BuilderConfig).

#### datasets.DatasetBuilder[[datasets.DatasetBuilder]]

```python
datasets.DatasetBuilder(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/builder.py#L214)

**Параметры:**

cache_dir (`str`, *необязательный*) : Каталог для кэширования данных. По умолчанию `"~/.cache/huggingface/datasets"`.

dataset_name (`str`, *необязательный*) : Имя набора данных, если оно отличается от имени сборщика. Полезно для упакованных сборщиков, таких как csv, imagefolder, audiofolder и т. д., чтобы отразить различия между наборами данных, использующими один и тот же упакованный сборщик.

config_name (`str`, *необязательный*) : Имя конфигурации набора данных. Влияет на данные, генерируемые на диске. Разные конфигурации будут иметь собственные подкаталоги и версии. Если не указано, используется конфигурация по умолчанию (если она существует).    Параметр `name` переименован в `config_name`.

hash (`str`, *необязательный*) : Хеш, специфичный для кода сборщика набора данных. Используется для обновления кэширующего каталога при обновлении кода сборщика набора данных (чтобы избежать повторного использования устаревших данных). Типовой кэширующий каталог (определённый в `self._relative_data_dir`) — `name/version/hash/`.

base_path (`str`, *необязательный*) : Базовый путь для относительных путей, используемых для загрузки файлов. Может быть удалённым URL.

features ([Features](/docs/datasets/main/ru/package_reference/main_classes#datasets.Features), *необязательный*) : Типы признаков, используемые с этим набором данных. Например, можно использовать этот параметр для изменения типов [Features](/docs/datasets/main/ru/package_reference/main_classes#datasets.Features) набора данных.

token (`str` или `bool`, *необязательный*) : Строка или булево значение, используемое в качестве Bearer-токена для удалённых файлов на Datasets Hub. Если `True`, токен будет получен из `"~/.huggingface"`.

repo_id (`str`, *необязательный*) : ID репозитория набора данных. Используется для различения сборщиков с одинаковым именем, но из разных пространств имён, например, ID репозиториев "rajpurkar/squad" и "lhoestq/squad". Во втором случае имя сборщика будет "lhoestq___squad".

data_files (`str` или `Sequence` или `Mapping`, *необязательный*) : Путь (или пути) к исходному файлу (или файлам) данных. Требуется для сборщиков, таких как "csv" или "json", где пользователь должен указать файлы данных. Это могут быть как локальные, так и удалённые файлы. Для удобства можно использовать `DataFilesDict`.

data_dir (`str`, *необязательный*) : Путь к каталогу, содержащему исходные файлы данных. Используйте только в том случае, если `data_files` не передан; в этом случае это эквивалентно передаче `os.path.join(data_dir, "**")` в качестве `data_files`. Для сборщиков, требующих ручной загрузки, это должен быть путь к локальному каталогу, содержащему данные, загруженные вручную.

storage_options (`dict`, *необязательный*) : Пары ключ/значение, передаваемые в файловую систему датасета, если она есть.

writer_batch_size (`int`, *optional*) : Размер батча, используемый ArrowWriter. Он определяет количество образцов, удерживаемых в памяти перед записью, а также длину чанков arrow. Значение None означает, что ArrowWriter будет использовать значение по умолчанию.

- ****config_kwargs** (дополнительные именованные аргументы): именованные аргументы, передаваемые в соответствующий класс конфигурации сборщика, заданный в атрибуте класса [DatasetBuilder.BUILDER_CONFIG_CLASS](/docs/datasets/main/ru/package_reference/builder_classes#datasets.BuilderConfig). Классом конфигурации сборщика является [BuilderConfig](/docs/datasets/main/ru/package_reference/builder_classes#datasets.BuilderConfig) или его подкласс.

Абстрактный базовый класс для всех наборов данных.

`DatasetBuilder` имеет три ключевых метода:

- `DatasetBuilder.info`: Описывает набор данных, включая имена, типы, формы, версию, разбиения, цитирование и т. д.
- [DatasetBuilder.download_and_prepare()](/docs/datasets/main/ru/package_reference/builder_classes#datasets.DatasetBuilder.download_and_prepare): Загружает исходные данные и записывает их на диск.
- [DatasetBuilder.as_dataset()](/docs/datasets/main/ru/package_reference/builder_classes#datasets.DatasetBuilder.as_dataset): создаёт [Dataset](/docs/datasets/main/ru/package_reference/main_classes#datasets.Dataset).

Некоторые `DatasetBuilder` предоставляют несколько вариантов набора данных, определяя подкласс [BuilderConfig](/docs/datasets/main/ru/package_reference/builder_classes#datasets.BuilderConfig) и принимая объект конфигурации (или её имя) при создании. Настраиваемые наборы данных предоставляют заранее определённый набор конфигураций в `DatasetBuilder.builder_configs()`.

#### as_dataset[[datasets.DatasetBuilder.as_dataset]]

```python
as_dataset(split: typing.Union[str, datasets.splits.Split, list[str], list[datasets.splits.Split], NoneType] = None, in_memory = False)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/builder.py#L991)

**Параметры:**

split (`datasets.Split`) : Подмножество данных, которое нужно вернуть.

verification_mode ([VerificationMode](/docs/datasets/main/ru/package_reference/builder_classes#datasets.VerificationMode) или `str`, по умолчанию `BASIC_CHECKS`) : Режим проверки, определяющий, какие проверки выполнять для информации о загруженном/обработанном наборе данных (контрольные суммы/размер/разбивки/...).

in_memory (`bool`, по умолчанию `False`) : Копировать ли данные в оперативной памяти.

**Возвращает:**

datasets.Dataset

Возвращает Dataset для указанного split.

Пример:

```py
>>> from datasets import load_dataset_builder
>>> builder = load_dataset_builder('cornell-movie-review-data/rotten_tomatoes')
>>> builder.download_and_prepare()
>>> ds = builder.as_dataset(split='train')
>>> ds
Dataset({
    features: ['text', 'label'],
    num_rows: 8530
})
```

#### download_and_prepare[[datasets.DatasetBuilder.download_and_prepare]]

```python
download_and_prepare(output_dir: typing.Optional[str] = None, download_config: typing.Optional[datasets.download.download_config.DownloadConfig] = None, download_mode: typing.Union[datasets.download.download_manager.DownloadMode, str, NoneType] = None, verification_mode: typing.Union[datasets.utils.info_utils.VerificationMode, str, NoneType] = None, dl_manager: typing.Optional[datasets.download.download_manager.DownloadManager] = None, base_path: typing.Optional[str] = None, file_format: str = 'arrow', max_shard_size: typing.Union[str, int, NoneType] = None, num_proc: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None, **download_and_prepare_kwargs)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/builder.py#L702)

**Параметры:**

output_dir (`str`, *необязательный*) : Каталог для вывода набора данных. По умолчанию используется `cache_dir` этого сборщика, который по умолчанию находится внутри `~/.cache/huggingface/datasets`.

download_config (`DownloadConfig`, *необязательный*) : Параметры конфигурации загрузки.

download_mode ([DownloadMode](/docs/datasets/main/ru/package_reference/builder_classes#datasets.DownloadMode) или `str`, *необязательный*) : Выбор режима загрузки/генерации, по умолчанию `REUSE_DATASET_IF_EXISTS`.

verification_mode ([VerificationMode](/docs/datasets/main/ru/package_reference/builder_classes#datasets.VerificationMode) или `str`, по умолчанию `BASIC_CHECKS`) : Режим проверки, определяющий, какие проверки выполнять для информации о загруженном/обработанном наборе данных (контрольные суммы/размер/разбивки/...).

dl_manager (`DownloadManager`, *необязательный*) : Конкретный `DownloadManger` для использования.

base_path (`str`, *необязательный*) : Базовый путь для относительных путей, используемых для загрузки файлов. Это может быть удалённый URL. Если не указано, вместо этого будет использовано значение атрибута `base_path` (`self.base_path`).

file_format (`str`, *необязательный*) : Формат файлов данных, в которые будет записан набор данных. Поддерживаемые форматы: "arrow", "parquet". По умолчанию используется формат "arrow". Если формат указан как "parquet", то данные изображений и аудио встраиваются в файлы Parquet, а не ссылаются на локальные файлы.

max_shard_size (`Union[str, int]`, *необязательный*) : Максимальное количество байт, записываемых в каждый шард, по умолчанию "500MB". Размер основан на размере данных без сжатия, поэтому на практике файлы шардов могут быть меньше `max_shard_size` благодаря, например, сжатию Parquet.

num_proc (`int`, *необязательный*, по умолчанию `None`) : Количество процессов при загрузке и генерации набора данных локально. Многопоточность отключена по умолчанию.

storage_options (`dict`, *необязательный*) : Пары ключ/значение, передаваемые в файловую систему кэширования, если она есть.

- ****download_and_prepare_kwargs** (дополнительные именованные аргументы): Именованные аргументы.

Загружает и подготавливает набор данных для чтения.

Пример:

Скачайте и подготовьте набор данных в виде файлов Arrow, которые можно загрузить как Dataset с помощью `builder.as_dataset()`:

```py
>>> from datasets import load_dataset_builder
>>> builder = load_dataset_builder("cornell-movie-review-data/rotten_tomatoes")
>>> builder.download_and_prepare()
```

Скачайте и подготовьте набор данных в виде разбитых на части файлов Parquet локально:

```py
>>> from datasets import load_dataset_builder
>>> builder = load_dataset_builder("cornell-movie-review-data/rotten_tomatoes")
>>> builder.download_and_prepare("./output_dir", file_format="parquet")
```

Скачайте и подготовьте набор данных в виде разбитых на части файлов Parquet в облачном хранилище:

```py
>>> from datasets import load_dataset_builder
>>> storage_options = {"key": aws_access_key_id, "secret": aws_secret_access_key}
>>> builder = load_dataset_builder("cornell-movie-review-data/rotten_tomatoes")
>>> builder.download_and_prepare("s3://my-bucket/my_rotten_tomatoes", storage_options=storage_options, file_format="parquet")
```

#### get_imported_module_dir[[datasets.DatasetBuilder.get_imported_module_dir]]

```python
get_imported_module_dir()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/builder.py#L694)

Возвращает путь к модулю этого класса или его подкласса.

#### datasets.GeneratorBasedBuilder[[datasets.GeneratorBasedBuilder]]

```python
datasets.GeneratorBasedBuilder(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/builder.py#L1292)

Базовый класс для наборов данных с генерацией данных на основе генераторов словарей.

`GeneratorBasedBuilder` — это вспомогательный класс, который абстрагирует значительную часть операций записи и чтения данных в `DatasetBuilder`. Он ожидает, что подклассы реализуют генераторы словарей признаков для разделов набора данных (`_split_generators`). Подробности описаны в документации методов.

#### datasets.ArrowBasedBuilder[[datasets.ArrowBasedBuilder]]

```python
datasets.ArrowBasedBuilder(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/builder.py#L1610)

Базовый класс для наборов данных с генерацией данных на основе функций загрузки Arrow (CSV/JSON/Parquet).

#### datasets.BuilderConfig[[datasets.BuilderConfig]]

```python
datasets.BuilderConfig(name: str = 'default', version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0, data_dir: typing.Optional[str] = None, data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None, description: typing.Optional[str] = None)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/builder.py#L101)

**Параметры:**

name (`str`, по умолчанию `default`) : Имя конфигурации.

version (`Version` или `str`, по умолчанию `0.0.0`) : Версия конфигурации.

data_dir (`str`, *необязательный*) : Путь к каталогу, содержащему исходные данные.

data_files (`str` или `Sequence` или `Mapping`, *необязательный*) : Путь (пути) к исходному файлу (файлам) данных.

description (`str`, *необязательный*) : Текстовое описание конфигурации.

Базовый класс для конфигурации данных `DatasetBuilder`.

Подклассы `DatasetBuilder` с параметрами конфигурации данных должны наследоваться от `BuilderConfig` и добавлять собственные свойства.

#### create_config_id[[datasets.BuilderConfig.create_config_id]]

```python
create_config_id(config_kwargs: dict, custom_features: typing.Optional[datasets.features.features.Features] = None)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/builder.py#L144)

Идентификатор конфигурации используется для создания каталога кэша. По умолчанию он равен имени конфигурации. Однако имени конфигурации недостаточно для получения уникального идентификатора генерируемого набора данных, поскольку оно не учитывает:
- параметры конфигурации, которые можно использовать для переопределения атрибутов
- кастомные признаки, использованные для записи набора данных
- the data_files для наборов данных json/text/csv/pandas

Следовательно, идентификатор конфигурации — это просто имя конфигурации с необязательным суффиксом, основанным на этих параметрах.

## Загрузить[[datasets.DownloadManager]]

#### datasets.DownloadManager[[datasets.DownloadManager]]

```python
datasets.DownloadManager(dataset_name: typing.Optional[str] = None, data_dir: typing.Optional[str] = None, download_config: typing.Optional[datasets.download.download_config.DownloadConfig] = None, base_path: typing.Optional[str] = None, record_checksums = False)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/download/download_manager.py#L71)

#### загрузить[[datasets.DownloadManager.download]]

```python
download(url_or_urls)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/download/download_manager.py#L131)

**Параметры:**

url_or_urls (`str` или `list` или `dict`) : URL или `list` или `dict` URL для загрузки. Каждый URL является `str`.

**Возвращает:** `str` или `list` или `dict`

Скачанные пути, соответствующие заданному вводу `url_or_urls`.

Загрузить указанные URL-адреса.

По умолчанию для загрузки используется только один процесс. Чтобы изменить это поведение, передайте настраиваемое значение `download_config.num_proc`.

Пример:

```py
>>> downloaded_files = dl_manager.download('https://storage.googleapis.com/seldon-datasets/sentence_polarity_v1/rt-polaritydata.tar.gz')
```

#### download_and_extract[[datasets.DownloadManager.download_and_extract]]

```python
download_and_extract(url_or_urls)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/download/download_manager.py#L310)

**Параметры:**

url_or_urls (`str` или `list` или `dict`) : URL или `list` или `dict` URL для загрузки и распаковки. Каждый URL является `str`.

**Возвращает:** `extracted_path(s)`

`str`, извлечённые пути для указанных URL.

Скачайте и распакуйте указанные `url_or_urls`.

Примерно эквивалентно:

```
extracted_paths = dl_manager.extract(dl_manager.download(url_or_urls))
```

#### extract[[datasets.DownloadManager.extract]]

```python
extract(path_or_paths)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/download/download_manager.py#L278)

**Параметры:**

path_or_paths (путь или `list` или `dict`) : Путь к файлу для извлечения. Каждый путь — это `str`.

**Возвращает:** `extracted_path(s)`

`str`, Извлечённые пути, соответствующие заданному input_path_or_paths.

Извлечь указанные пути.

Пример:

```py
>>> downloaded_files = dl_manager.download('https://storage.googleapis.com/seldon-datasets/sentence_polarity_v1/rt-polaritydata.tar.gz')
>>> extracted_files = dl_manager.extract(downloaded_files)
```

#### iter_archive[[datasets.DownloadManager.iter_archive]]

```python
iter_archive(path_or_buf: typing.Union[str, _io.BufferedReader])
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/download/download_manager.py#L234)

**Параметры:**

path_or_buf (`str` или `io.BufferedReader`) : Путь к архиву или объект двоичного файла архива.

**Возвращает:** `tuple[str, io.BufferedReader]`

2-кортеж (path_within_archive, file_object). Файловый объект открыт в двоичном режиме.

Итерация по файлам внутри архива.

Пример:

```py
>>> archive = dl_manager.download('https://storage.googleapis.com/seldon-datasets/sentence_polarity_v1/rt-polaritydata.tar.gz')
>>> files = dl_manager.iter_archive(archive)
```

#### iter_files[[datasets.DownloadManager.iter_files]]

```python
iter_files(paths: typing.Union[str, list[str]])
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/download/download_manager.py#L259)

**Параметры:**

paths (`str` или `list` из `str`) : Корневые пути.

**Возвращает:** `str`

Путь к файлу.

Перебирайте пути к файлам.

Пример:

```py
>>> files = dl_manager.download_and_extract('https://huggingface.co/datasets/AI-Lab-Makerere/beans/resolve/main/data/train.zip')
>>> files = dl_manager.iter_files(files)
```

#### datasets.StreamingDownloadManager[[datasets.StreamingDownloadManager]]

```python
datasets.StreamingDownloadManager(dataset_name: typing.Optional[str] = None, data_dir: typing.Optional[str] = None, download_config: typing.Optional[datasets.download.download_config.DownloadConfig] = None, base_path: typing.Optional[str] = None)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/download/streaming_download_manager.py#L47)

Менеджер загрузок, использующий разделитель "::" для навигации по (возможно, удалённым) сжатым архивам. В отличие от обычного `DownloadManager`, методы `download` и `extract` не выполняют фактическую загрузку или распаковку данных, а возвращают путь или URL, который можно открыть с помощью функции `xopen`, расширяющей встроенную функцию `open` для потоковой передачи данных из удалённых файлов.

#### загрузить[[datasets.StreamingDownloadManager.download]]

```python
download(url_or_urls)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/download/streaming_download_manager.py#L75)

**Параметры:**

url_or_urls (`str` или `list` или `dict`) : URL(ы) файлов, из которых следует стримить данные. Каждый url — это `str`.

**Возвращает:** `url(s)`

(`str` или `list` или `dict`), URL(ы) для потоковой передачи данных, соответствующие заданному значению url_or_urls.

Нормализует URL файлов, из которых нужно стримить данные. Это ленивая версия `DownloadManager.download` для стриминга.

Пример:

```py
>>> downloaded_files = dl_manager.download('https://storage.googleapis.com/seldon-datasets/sentence_polarity_v1/rt-polaritydata.tar.gz')
```

#### download_and_extract[[datasets.StreamingDownloadManager.download_and_extract]]

```python
download_and_extract(url_or_urls)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/download/streaming_download_manager.py#L151)

**Параметры:**

url_or_urls (`str` или `list` или `dict`) : URL(ы), из которых следует получать данные. Каждый URL — это `str`.

**Возвращает:** `url(s)`

(`str` или `list` или `dict`), URL(ы) для потоковой передачи данных, соответствующие заданному вводу `url_or_urls`.

Подготовьте указанные `url_or_urls` для потоковой передачи (добавьте протокол извлечения).

Это ленивая версия `DownloadManager.download_and_extract` для потоковой передачи.

Эквивалентно:

```
urls = dl_manager.extract(dl_manager.download(url_or_urls))
```

#### extract[[datasets.StreamingDownloadManager.extract]]

```python
extract(url_or_urls)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/download/streaming_download_manager.py#L102)

**Параметры:**

url_or_urls (`str` или `list` или `dict`) : URL(ы) файлов, из которых следует стримить данные. Каждый url — это `str`.

**Возвращает:** `url(s)`

(`str` или `list` или `dict`), URL(ы) для потоковой передачи данных, соответствующие заданному вводу `url_or_urls`.

Добавьте протокол извлечения для указанных URL для потоковой обработки.

Это ленивая версия `DownloadManager.extract` для потоковой обработки.

Пример:

```py
>>> downloaded_files = dl_manager.download('https://storage.googleapis.com/seldon-datasets/sentence_polarity_v1/rt-polaritydata.tar.gz')
>>> extracted_files = dl_manager.extract(downloaded_files)
```

#### iter_archive[[datasets.StreamingDownloadManager.iter_archive]]

```python
iter_archive(urlpath_or_buf: typing.Union[str, _io.BufferedReader])
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/download/streaming_download_manager.py#L171)

**Параметры:**

urlpath_or_buf (`str` или `io.BufferedReader`) : Путь к архиву или объект двоичного файла архива.

**Возвращает:** `tuple[str, io.BufferedReader]`

2-кортеж (path_within_archive, file_object). Файловый объект открыт в двоичном режиме.

Итерация по файлам внутри архива.

Пример:

```py
>>> archive = dl_manager.download('https://storage.googleapis.com/seldon-datasets/sentence_polarity_v1/rt-polaritydata.tar.gz')
>>> files = dl_manager.iter_archive(archive)
```

#### iter_files[[datasets.StreamingDownloadManager.iter_files]]

```python
iter_files(urlpaths: typing.Union[str, list[str]])
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/download/streaming_download_manager.py#L196)

**Параметры:**

urlpaths (`str` или `list` из `str`) : Корневые пути.

**Возвращает:** `str`

Путь URL файла.

Перебирайте файлы.

Пример:

```py
>>> files = dl_manager.download_and_extract('https://huggingface.co/datasets/AI-Lab-Makerere/beans/resolve/main/data/train.zip')
>>> files = dl_manager.iter_files(files)
```

#### datasets.DownloadConfig[[datasets.DownloadConfig]]

```python
datasets.DownloadConfig(cache_dir: typing.Union[str, pathlib.Path, NoneType] = None, force_download: bool = False, resume_download: bool = False, local_files_only: bool = False, proxies: typing.Optional[dict] = None, user_agent: typing.Optional[str] = None, extract_compressed_file: bool = False, force_extract: bool = False, delete_extracted: bool = False, extract_on_the_fly: bool = False, use_etag: bool = True, num_proc: typing.Optional[int] = None, max_retries: int = 1, token: typing.Union[str, bool, NoneType] = None, storage_options: dict = <factory>, download_desc: typing.Optional[str] = None, disable_tqdm: bool = False)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/download/download_config.py#L10)

**Параметры:**

cache_dir (`str` или `Path`, *необязательный*) : Укажите каталог кэша для сохранения файла (заменяет каталог кэша по умолчанию).

force_download (`bool`, по умолчанию `False`) : Если `True`, файл будет скачан повторно, даже если он уже находится в кэше.

resume_download (`bool`, по умолчанию `False`) : Если `True`, возобновить загрузку, если обнаружен неполностью полученный файл.

proxies (`dict`, *необязательный*) : Устарело и игнорируется. Вместо этого задайте переменные окружения `HTTP_PROXY` / `HTTPS_PROXY` или настройте HTTP-клиент с помощью [huggingface_hub.set_client_factory](https://huggingface.co/docs/huggingface_hub/main/en/package_reference/utilities#huggingface_hub.set_client_factory).

user_agent (`str`, *необязательный*) : Необязательная строка или словарь, который будет добавлен к user-agent в удалённых запросах.

extract_compressed_file (`bool`, по умолчанию `False`) : Если `True` и путь указывает на файл zip или tar, распаковать архив в папку рядом с ним.

force_extract (`bool`, по умолчанию `False`) : Если `True`, а `extract_compressed_file` также `True` и архив уже был распакован, распаковать архив повторно и перезаписать папку, в которую он был распакован.

delete_extracted (`bool`, по умолчанию `False`) : Указывает, следует ли удалять (или сохранять) извлечённые файлы.

extract_on_the_fly (`bool`, по умолчанию `False`) : Если `True`, распаковывать сжатые файлы в процессе их чтения.

use_etag (`bool`, по умолчанию `True`) : Использовать ли заголовок HTTP-ответа ETag для проверки кэшированных файлов.

num_proc (`int`, *optional*) : Количество процессов для параллельной загрузки файлов.

max_retries (`int`, по умолчанию `1`) : Количество повторных попыток HTTP-запроса в случае его неудачи.

token (`str` или `bool`, *необязательный*) : Необязательная строка или булево значение, используемое в качестве Bearer-токена для удалённых файлов на Datasets Hub. Если указано `True` или параметр не задан, токен будет получен из `~/.huggingface`.

storage_options (`dict`, *необязательный*) : Пары ключ/значение, передаваемые в файловую систему датасета, если она есть.

download_desc (`str`, *необязательный*) : Описание, отображаемое рядом с индикатором прогресса при загрузке файлов.

disable_tqdm (`bool`, по умолчанию `False`) : Отключает ли индикатор прогресса загрузки отдельных файлов

Конфигурация для нашего кэшируемого менеджера путей.

#### datasets.DownloadMode[[datasets.DownloadMode]]

```python
datasets.DownloadMode(value, names = None, module = None, qualname = None, type = None, start = 1)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/download/download_manager.py#L50)

`Enum` для определения способа обработки уже загруженных данных.

Режим по умолчанию — `REUSE_DATASET_IF_EXISTS`, который повторно использует как исходные загрузки, так и подготовленный набор данных, если они уже существуют.

Режимы генерации:

|                                     | Загрузки | Набор данных |
|-------------------------------------|-----------|---------|
| `REUSE_DATASET_IF_EXISTS` (по умолчанию) | Повторное использование     | Повторное использование   |
| `REUSE_CACHE_IF_EXISTS`             | Повторное использование     | Свежие   |
| `FORCE_REDOWNLOAD`                  | Свежие     | Свежие   |

## Проверка[[datasets.VerificationMode]]

#### datasets.VerificationMode[[datasets.VerificationMode]]

```python
datasets.VerificationMode(value, names = None, module = None, qualname = None, type = None, start = 1)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/utils/info_utils.py#L22)

`Enum`, определяющий, какие проверки верификации выполнять.

Режим по умолчанию — `BASIC_CHECKS`, который выполняет только базовые проверки, чтобы избежать замедления при первом создании/загрузке набора данных.

Режимы проверки:

|                           | Проверки                                                           |
|---------------------------|------------------------------------------------------------------------------ |
| `ALL_CHECKS`              | Разделение проверок и валидности (количество файлов, контрольные суммы) загруженных файлов    |
| `BASIC_CHECKS` (по умолчанию)  | Аналогично `ALL_CHECKS`, но без проверки загруженных файлов                    |
| `NO_CHECKS`               | None                                                                          |

## Разделения[[datasets.SplitGenerator]]

#### datasets.SplitGenerator[[datasets.SplitGenerator]]

```python
datasets.SplitGenerator(name: str, gen_kwargs: dict = <factory>)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/splits.py#L624)

**Параметры:**

name (`str`) : Имя `Split`, для которого генератор будет создавать примеры.

- ****gen_kwargs** (дополнительные именованные аргументы): именованные аргументы, передаваемые в метод `DatasetBuilder._generate_examples` сборщика.

Определяет информацию о разбиении для генератора.

Это следует использовать в качестве возвращаемого значения `GeneratorBasedBuilder._split_generators`. Подробности и пример использования см. в `GeneratorBasedBuilder._split_generators`.

Пример:

```py
>>> datasets.SplitGenerator(
...     name=datasets.Split.TRAIN,
...     gen_kwargs={"split_key": "train", "files": dl_manager.download_and_extract(url)},
... )
```

#### datasets.Split[[datasets.Split]]

```python
datasets.Split(name)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/splits.py#L417)

`Enum` для разбиений набора данных.

Наборы данных обычно разделяются на различные подмножества, используемые на разных этапах обучения и оценки.

- `TRAIN`: обучающие данные.
- `VALIDATION`: данные для валидации. Если присутствуют, обычно используются как данные для оценки при итеративной доработке модели (например, при изменении гиперпараметров, архитектуры модели и т. д.).
- `TEST`: тестовые данные. На них вычисляются метрики. Как правило, не следует использовать их на этапах итеративной настройки модели, так как это может привести к переобучению.
- `ALL`: объединение всех определённых разбиений набора данных.

Все разбиения, включая композиции, наследуются от `datasets.SplitBase`.

См. [руководство](../load_hub#splits) по разбиениям для получения дополнительной информации.

Пример:

```py
>>> datasets.SplitGenerator(
...     name=datasets.Split.TRAIN,
...     gen_kwargs={"split_key": "train", "files": dl_manager.download_and extract(url)},
... ),
... datasets.SplitGenerator(
...     name=datasets.Split.VALIDATION,
...     gen_kwargs={"split_key": "validation", "files": dl_manager.download_and extract(url)},
... ),
... datasets.SplitGenerator(
...     name=datasets.Split.TEST,
...     gen_kwargs={"split_key": "test", "files": dl_manager.download_and extract(url)},
... )
```

#### datasets.NamedSplit[[datasets.NamedSplit]]

```python
datasets.NamedSplit(name: str)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/splits.py#L325)

Дескриптор, соответствующий именованному разбиению (train, test, ...).

Пример:

Каждый дескриптор можно комбинировать с другими с помощью сложения или среза:

```py
split = datasets.Split.TRAIN.subsplit(datasets.percent[0:25]) + datasets.Split.TEST
```

Полученное разбиение будет соответствовать 25% обучающей выборки, объединённой со 100% тестовой выборки.

Один и тот же split нельзя добавить дважды, поэтому следующий код завершится ошибкой:

```py
split = (
        datasets.Split.TRAIN.subsplit(datasets.percent[:25]) +
        datasets.Split.TRAIN.subsplit(datasets.percent[75:])
)  # Error
split = datasets.Split.TEST + datasets.Split.ALL  # Error
```

Срезы можно применить только один раз. Поэтому следующие варианты допустимы:

```py
split = (
        datasets.Split.TRAIN.subsplit(datasets.percent[:25]) +
        datasets.Split.TEST.subsplit(datasets.percent[:50])
)
split = (datasets.Split.TRAIN + datasets.Split.TEST).subsplit(datasets.percent[:50])
```

Но это некорректно:

```py
train = datasets.Split.TRAIN
test = datasets.Split.TEST
split = train.subsplit(datasets.percent[:25]).subsplit(datasets.percent[:25])
split = (train.subsplit(datasets.percent[:25]) + test).subsplit(datasets.percent[:50])
```

#### datasets.NamedSplitAll[[datasets.NamedSplitAll]]

```python
datasets.NamedSplitAll()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/splits.py#L402)

Раздел, соответствующий объединению всех определённых разделов набора данных.

#### datasets.ReadInstruction[[datasets.ReadInstruction]]

```python
datasets.ReadInstruction(split_name, rounding = None, from_ = None, to = None, unit = None)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_reader.py#L456)

Инструкция по чтению набора данных.

Примеры:

```python
# The following lines are equivalent:
ds = datasets.load_dataset('ylecun/mnist', split='test[:33%]')
ds = datasets.load_dataset('ylecun/mnist', split=datasets.ReadInstruction.from_spec('test[:33%]'))
ds = datasets.load_dataset('ylecun/mnist', split=datasets.ReadInstruction('test', to=33, unit='%'))
ds = datasets.load_dataset('ylecun/mnist', split=datasets.ReadInstruction(
'test', from_=0, to=33, unit='%'))

# The following lines are equivalent:
ds = datasets.load_dataset('ylecun/mnist', split='test[:33%]+train[1:-1]')
ds = datasets.load_dataset('ylecun/mnist', split=datasets.ReadInstruction.from_spec(
'test[:33%]+train[1:-1]'))
ds = datasets.load_dataset('ylecun/mnist', split=(
datasets.ReadInstruction('test', to=33, unit='%') +
datasets.ReadInstruction('train', from_=1, to=-1, unit='abs')))

# The following lines are equivalent:
ds = datasets.load_dataset('ylecun/mnist', split='test[:33%](pct1_dropremainder)')
ds = datasets.load_dataset('ylecun/mnist', split=datasets.ReadInstruction.from_spec(
'test[:33%](pct1_dropremainder)'))
ds = datasets.load_dataset('ylecun/mnist', split=datasets.ReadInstruction(
'test', from_=0, to=33, unit='%', rounding="pct1_dropremainder"))

# 10-fold validation:
tests = datasets.load_dataset(
'ylecun/mnist',
[datasets.ReadInstruction('train', from_=k, to=k+10, unit='%')
for k in range(0, 100, 10)])
trains = datasets.load_dataset(
'ylecun/mnist',
[datasets.ReadInstruction('train', to=k, unit='%') + datasets.ReadInstruction('train', from_=k+10, unit='%')
for k in range(0, 100, 10)])
```

#### from_spec[[datasets.ReadInstruction.from_spec]]

```python
from_spec(spec)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_reader.py#L536)

**Параметры:**

spec (`str`) : Разделитель (разделители) + необязательные срезы для чтения + необязательное округление, если в качестве единицы среза используются проценты. Срез можно указать, используя абсолютные числа (`int`) или проценты (`int`).

**Возвращает:**

Экземпляр ReadInstruction.

Создаёт экземпляр `ReadInstruction` из строки спецификации.

Примеры:

```
test: test split.
test + validation: test split + validation split.
test[10:]: test split, minus its first 10 records.
test[:10%]: first 10% records of test split.
test[:20%](pct1_dropremainder): first 10% records, rounded with the pct1_dropremainder rounding.
test[:-5%]+train[40%:60%]: first 95% of test + middle 20% of train.
```

#### to_absolute[[datasets.ReadInstruction.to_absolute]]

```python
to_absolute(name2len)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_reader.py#L608)

**Параметры:**

name2len (`dict`) : Сопоставление имён разбиений с количеством примеров.

**Возвращает:**

список экземпляров _AbsoluteInstruction (соответствует + в спецификации).

Переведите инструкцию в список абсолютных инструкций.

Затем эти абсолютные инструкции складываются вместе.

## Версия[[datasets.Version]]

#### datasets.Version[[datasets.Version]]

```python
datasets.Version(version_str: str, description: typing.Optional[str] = None, major: typing.Union[str, int, NoneType] = None, minor: typing.Union[str, int, NoneType] = None, patch: typing.Union[str, int, NoneType] = None)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/utils/version.py#L30)

**Параметры:**

version_str (`str`) : версия набора данных.

description (`str`) : Описание того, что нового в этой версии.

major (`str`) --

minor (`str`) --

patch (`str`) --

Версия набора данных `MAJOR.MINOR.PATCH`.

Пример:

```py
>>> VERSION = datasets.Version("1.0.0")
```

