Datasets documentation

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

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v4.8.4).
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