Datasets documentation

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

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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

Создатели

🤗 Datasets опирается на два основных класса в процессе построения набора данных: DatasetBuilder и BuilderConfig.

класс datasets.DatasetBuilder

< >

( cache_dir: typing.Optional[str] = Nonedataset_name: typing.Optional[str] = Noneconfig_name: typing.Optional[str] = Nonehash: typing.Optional[str] = Nonebase_path: typing.Optional[str] = Noneinfo: typing.Optional[datasets.info.DatasetInfo] = Nonefeatures: typing.Optional[datasets.features.features.Features] = Nonetoken: typing.Union[bool, str, NoneType] = Nonerepo_id: typing.Optional[str] = Nonedata_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = Nonedata_dir: typing.Optional[str] = Nonestorage_options: typing.Optional[dict] = Nonewriter_batch_size: typing.Optional[int] = Noneconfig_id: typing.Optional[str] = None**config_kwargs )

Параметры

  • cache_dir (str, необязательный) — Каталог для кэширования данных. По умолчанию "~/.cache/huggingface/datasets".
  • dataset_name (str, необязательный) — Имя набора данных, если оно отличается от имени сборщика. Полезно для упакованных сборщиков, таких как csv, imagefolder, audiofolder и т. д., чтобы отразить различия между наборами данных, использующими один и тот же упакованный сборщик.
  • config_name (str, необязательный) — Имя конфигурации набора данных. Оно влияет на данные, генерируемые на диске. Разные конфигурации будут иметь собственные подкаталоги и версии. Если не указано, используется конфигурация по умолчанию (если она существует).

    Добавлено в 2.3.0

    Параметр name был переименован в config_name.

  • hash (str, необязательный) — Хеш, специфичный для кода сборщика датасета. Используется для обновления кэширующего каталога при обновлении кода сборщика датасета (чтобы избежать повторного использования устаревших данных). Типичный кэширующий каталог (определённый в self._relative_data_dir) — name/version/hash/.
  • base_path (str, необязательный) — Базовый путь для относительных путей, используемых для загрузки файлов. Это может быть удалённый URL.
  • features (Features, необязательный) — Типы признаков, используемые с этим набором данных. Можно использовать, например, для изменения типов 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, необязательный) — Размер батча, используемый ArrowWriter. Определяет количество образцов, удерживаемых в памяти перед записью, а также длину чанков arrow. Значение None означает, что ArrowWriter будет использовать значение по умолчанию.
  • **config_kwargs (дополнительные именованные аргументы) — именованные аргументы, передаваемые в соответствующий класс конфигурации сборщика, заданный в атрибуте класса DatasetBuilder.BUILDER_CONFIG_CLASS. Классом конфигурации сборщика является BuilderConfig или его подкласс.

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

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

  • DatasetBuilder.info: Описывает набор данных, включая имена, типы, формы, версию, разбиения, цитирование и т. д.
  • DatasetBuilder.download_and_prepare(): загружает исходные данные и записывает их на диск.
  • DatasetBuilder.as_dataset(): создаёт Dataset.

Некоторые DatasetBuilder предоставляют несколько вариантов набора данных, определяя подкласс BuilderConfig и принимая объект конфигурации (или её имя) при создании. Настраиваемые наборы данных предоставляют заранее определённый набор конфигураций в DatasetBuilder.builder_configs().

as_dataset

< >

( split: typing.Union[str, datasets.splits.Split, list[str], list[datasets.splits.Split], NoneType] = Nonein_memory = False )

Параметры

  • split (datasets.Split) — Какой подмножество данных вернуть.
  • verification_mode (VerificationMode или str, по умолчанию BASIC_CHECKS) — Режим проверки, определяющий, какие проверки выполнять для информации о загруженном/обработанном наборе данных (контрольные суммы/размер/разбивки/…).

    Добавлено в 2.9.1

  • in_memory (bool, по умолчанию False) — Скопировать ли данные в оперативную память.

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

Пример:

>>> 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

< >

( output_dir: typing.Optional[str] = Nonedownload_config: typing.Optional[datasets.download.download_config.DownloadConfig] = Nonedownload_mode: typing.Union[datasets.download.download_manager.DownloadMode, str, NoneType] = Noneverification_mode: typing.Union[datasets.utils.info_utils.VerificationMode, str, NoneType] = Nonedl_manager: typing.Optional[datasets.download.download_manager.DownloadManager] = Nonebase_path: typing.Optional[str] = Nonefile_format: str = 'arrow'max_shard_size: typing.Union[str, int, NoneType] = Nonenum_proc: typing.Optional[int] = Nonestorage_options: typing.Optional[dict] = None**download_and_prepare_kwargs )

Параметры

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

    Добавлено в 2.5.0

  • download_config (DownloadConfig, необязательный) — Конкретные параметры конфигурации загрузки.
  • download_mode (DownloadMode или str, необязательный) — Выбирает режим загрузки/генерации, по умолчанию REUSE_DATASET_IF_EXISTS.
  • verification_mode (VerificationMode или str, по умолчанию BASIC_CHECKS) — Режим проверки, определяющий, какие проверки выполнять для информации о загруженном/обработанном наборе данных (контрольные суммы/размер/разбивки/…).

    Добавлено в 2.9.1

  • dl_manager (DownloadManager, необязательный) — Конкретный DownloadManger для использования.
  • base_path (str, необязательный) — Базовый путь для относительных путей, используемых для загрузки файлов. Это может быть удалённый URL. Если не указано, вместо этого будет использовано значение атрибута base_path (self.base_path).
  • file_format (str, необязательный) — Формат файлов данных, в которые будет записан набор данных. Поддерживаемые форматы: «arrow», «parquet». По умолчанию используется формат «arrow». Если формат указан как «parquet», то данные изображений и аудио встраиваются в файлы Parquet, а не ссылаются на локальные файлы.

    Добавлено в 2.5.0

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

    Добавлено в 2.5.0

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

    Добавлено в 2.7.0

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

    Добавлено в 2.5.0

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

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

Пример:

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

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

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

>>> 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 в облачном хранилище:

>>> 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.GeneratorBasedBuilder

< >

( cache_dir: typing.Optional[str] = Nonedataset_name: typing.Optional[str] = Noneconfig_name: typing.Optional[str] = Nonehash: typing.Optional[str] = Nonebase_path: typing.Optional[str] = Noneinfo: typing.Optional[datasets.info.DatasetInfo] = Nonefeatures: typing.Optional[datasets.features.features.Features] = Nonetoken: typing.Union[bool, str, NoneType] = Nonerepo_id: typing.Optional[str] = Nonedata_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = Nonedata_dir: typing.Optional[str] = Nonestorage_options: typing.Optional[dict] = Nonewriter_batch_size: typing.Optional[int] = Noneconfig_id: typing.Optional[str] = None**config_kwargs )

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

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

класс datasets.ArrowBasedBuilder

< >

( cache_dir: typing.Optional[str] = Nonedataset_name: typing.Optional[str] = Noneconfig_name: typing.Optional[str] = Nonehash: typing.Optional[str] = Nonebase_path: typing.Optional[str] = Noneinfo: typing.Optional[datasets.info.DatasetInfo] = Nonefeatures: typing.Optional[datasets.features.features.Features] = Nonetoken: typing.Union[bool, str, NoneType] = Nonerepo_id: typing.Optional[str] = Nonedata_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = Nonedata_dir: typing.Optional[str] = Nonestorage_options: typing.Optional[dict] = Nonewriter_batch_size: typing.Optional[int] = Noneconfig_id: typing.Optional[str] = None**config_kwargs )

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

класс datasets.BuilderConfig

< >

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

Параметры

  • 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

< >

( config_kwargs: dictcustom_features: typing.Optional[datasets.features.features.Features] = None )

Идентификатор конфигурации используется для создания каталога кэша. По умолчанию он равен имени конфигурации. Однако имени конфигурации недостаточно, чтобы получить уникальный идентификатор генерируемого набора данных, поскольку оно не учитывает:

  • параметры конфигурации, которые можно использовать для переопределения атрибутов
  • кастомные признаки, использованные для записи набора данных
  • the data_files для наборов данных json/text/csv/pandas

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

Загрузить

класс datasets.DownloadManager

< >

( dataset_name: typing.Optional[str] = Nonedata_dir: typing.Optional[str] = Nonedownload_config: typing.Optional[datasets.download.download_config.DownloadConfig] = Nonebase_path: typing.Optional[str] = Nonerecord_checksums = False )

загрузить

< >

( url_or_urls ) → str or list or dict

Параметры

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

Возвращает

str или list или dict

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

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

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

Пример:

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

download_and_extract

< >

( url_or_urls ) → extracted_path(s)

Параметры

  • 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

< >

( path_or_paths ) → extracted_path(s)

Параметры

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

Возвращает

extracted_path(s)

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

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

Пример:

>>> 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

< >

( path_or_buf: typing.Union[str, _io.BufferedReader] ) → tuple[str, io.BufferedReader]

Параметры

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

Возвращаемые значения

tuple[str, io.BufferedReader]

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

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

Пример:

>>> 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

< >

( paths: typing.Union[str, list[str]] ) → str

Параметры

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

Возвращаемые значения

str

Путь к файлу.

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

Пример:

>>> 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

< >

( dataset_name: typing.Optional[str] = Nonedata_dir: typing.Optional[str] = Nonedownload_config: typing.Optional[datasets.download.download_config.DownloadConfig] = Nonebase_path: typing.Optional[str] = None )

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

загрузить

< >

( url_or_urls ) → url(s)

Параметры

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

Возвращает

url(s)

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

Нормализация URL файлов, из которых выполняется потоковая передача данных. Это ленивая версия DownloadManager.download для потоковой передачи.

Пример:

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

download_and_extract

< >

( url_or_urls ) → url(s)

Параметры

  • 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

< >

( url_or_urls ) → url(s)

Параметры

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

Возвращает

url(s)

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

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

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

Пример:

>>> 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

< >

( urlpath_or_buf: typing.Union[str, _io.BufferedReader] ) → tuple[str, io.BufferedReader]

Параметры

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

Возвращаемые значения

tuple[str, io.BufferedReader]

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

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

Пример:

>>> 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

< >

( urlpaths: typing.Union[str, list[str]] ) → str

Параметры

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

Возвращаемые значения

str

Путь URL файла.

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

Пример:

>>> 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

< >

( cache_dir: typing.Union[str, pathlib.Path, NoneType] = Noneforce_download: bool = Falseresume_download: bool = Falselocal_files_only: bool = Falseproxies: typing.Optional[dict] = Noneuser_agent: typing.Optional[str] = Noneextract_compressed_file: bool = Falseforce_extract: bool = Falsedelete_extracted: bool = Falseextract_on_the_fly: bool = Falseuse_etag: bool = Truenum_proc: typing.Optional[int] = Nonemax_retries: int = 1token: typing.Union[str, bool, NoneType] = Nonestorage_options: dict = <factory>download_desc: typing.Optional[str] = Nonedisable_tqdm: bool = False )

Параметры

  • 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.
  • 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, необязательный) — Количество процессов, запускаемых для параллельной загрузки файлов.
  • 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

< >

( valuenames = Nonemodule = Nonequalname = Nonetype = Nonestart = 1 )

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

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

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

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

Проверка

класс datasets.VerificationMode

< >

( valuenames = Nonemodule = Nonequalname = Nonetype = Nonestart = 1 )

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

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

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

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

Разделения

класс datasets.SplitGenerator

< >

( name: strgen_kwargs: dict = <factory> )

Параметры

  • name (str) — Имя Split, для которого генератор будет создавать примеры.
  • **gen_kwargs (дополнительные именованные аргументы) — Именованные аргументы, передаваемые в метод DatasetBuilder._generate_examples сборщика.

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

Это следует использовать в качестве возвращаемого значения GeneratorBasedBuilder._split_generators. См. GeneratorBasedBuilder._split_generators для получения дополнительной информации и примера использования.

Пример:

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

класс datasets.Split

< >

( name )

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

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

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

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

См. руководство по разбиениям для получения дополнительной информации.

Пример:

>>> 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

< >

( name: str )

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

Пример:

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

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

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

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

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

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

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])

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

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.ReadInstruction

< >

( split_namerounding = Nonefrom_ = Noneto = Noneunit = None )

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

Примеры:

# 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

< >

( spec )

Параметры

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

Создаёт экземпляр 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

< >

( name2len )

Параметры

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

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

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

Версия

класс datasets.Version

< >

( version_str: strdescription: typing.Optional[str] = Nonemajor: typing.Union[str, int, NoneType] = Noneminor: typing.Union[str, int, NoneType] = Nonepatch: typing.Union[str, int, NoneType] = None )

Параметры

  • version_str (str) — Версия набора данных.
  • description (str) — Описание того, что нового в этой версии.
  • major (str) —
  • minor (str) —
  • patch (str) —

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

Пример:

>>> VERSION = datasets.Version("1.0.0")
Update on GitHub