Datasets documentation

Builder 클래스

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

Builder 클래스

빌더

🤗 Datasets는 데이터셋 빌딩 과정에서 두 가지 주요 클래스에 의존합니다: DatasetBuilder와 BuilderConfig.

class 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 유형입니다. 예를 들어, 데이터셋의 Features 유형을 변경하는 데 사용할 수 있습니다.
  • token (str 또는 bool, 선택 사항) — Datasets Hub의 원격 파일에 사용할 Bearer token으로 사용할 문자열 또는 불리언 값입니다. True인 경우 "~/.huggingface"에서 token을 가져옵니다.
  • repo_id (str, 선택 사항) — 데이터셋 저장소의 ID입니다. 같은 이름을 가진 빌더가 서로 다른 네임스페이스에서 온 경우를 구별하는 데 사용됩니다. 예를 들어 “rajpurkar/squad”와 “lhoestq/squad”의 저장소 ID가 있습니다. 후자의 경우 빌더 이름은 “lhoestq___squad”가 됩니다.
  • data_files (str 또는 Sequence 또는 Mapping, 선택 사항) — 소스 데이터 파일의 경로입니다. “csv”나 “json”처럼 사용자가 데이터 파일을 지정해야 하는 빌더에 사용됩니다. 로컬 파일이든 원격 파일이든 사용할 수 있습니다. 편의를 위해 DataFilesDict를 사용할 수 있습니다.
  • data_dir (str, 선택 사항) — 소스 데이터 파일이 포함된 디렉토리의 경로입니다. data_files가 전달되지 않은 경우에만 사용하며, 이 경우 data_files로 os.path.join(data_dir, "**")를 전달하는 것과 동일합니다. 수동 다운로드가 필요한 빌더의 경우, 수동으로 다운로드한 데이터를 포함하는 로컬 디렉토리의 경로여야 합니다.
  • storage_options (dict, 선택 사항) — 데이터셋 파일 시스템 백엔드에 전달할 키/값 쌍(해당하는 경우).
  • writer_batch_size (int, 선택 사항) — ArrowWriter가 사용하는 배치 크기입니다. 메모리에 유지된 후 기록되는 샘플 수와 arrow 청크의 길이를 정의합니다. None은 ArrowWriter가 기본 값을 사용한다는 것을 의미합니다.
  • **config_kwargs (추가 키워드 인자) — DatasetBuilder.BUILDER_CONFIG_CLASS 클래스 속성에 설정된 해당 빌더 구성 클래스에 전달할 키워드 인자입니다. 빌더 구성 클래스는 BuilderConfig 또는 그 하위 클래스입니다.

모든 데이터셋의 추상 베이스 클래스

DatasetBuilder에는 3가지 주요 메서드가 있습니다:

일부 DatasetBuilder는 BuilderConfig 하위 클래스를 정의하고 생성 시 config 객체(또는 이름)를 받아 데이터셋의 여러 변형을 노출합니다. 구성 가능한 데이터셋은 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) — 데이터를 메모리에 복사할지 여부입니다.

지정된 split에 대한 Dataset을 반환합니다.

예:

>>> 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”입니다. 크기는 압축되지 않은 데이터 크기를 기준으로 하므로, Parquet 압축 등으로 인해 실제 샤드 파일은 max_shard_size 보다 작을 수 있습니다.

    2.5.0에 추가

  • num_proc (int, 선택 사항, 기본값은 None) — 데이터셋을 다운로드하고 로컬에서 생성할 때 사용할 프로세스 수입니다. 기본적으로 멀티프로세싱이 비활성화되어 있습니다.

    2.7.0에 추가

  • storage_options (dict, 선택 사항) — 캐싱 파일 시스템 백엔드에 전달할 키/값 쌍(해당하는 경우).

    2.5.0에 추가

  • **download_and_prepare_kwargs (추가 키워드 인자) — 키워드 인자.

데이터셋을 다운로드하여 읽을 수 있도록 준비합니다.

예:

builder.as_dataset()를 사용하여 Dataset으로 로드할 수 있는 Arrow 파일로 데이터셋을 다운로드하고 준비합니다:

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

…

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

< >

( )

이 클래스 또는 하위 클래스의 모듈 경로를 반환합니다.

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

dict 생성기 기반 데이터 생성을 지원하는 데이터셋의 베이스 클래스입니다.

GeneratorBasedBuilder는 DatasetBuilder의 데이터 쓰기 및 읽기 작업을 상당 부분 추상화하는 편의 클래스입니다. 하위 클래스가 데이터셋 스플릿에 걸쳐 특징 사전의 생성자를 구현하도록 기대합니다(_split_generators). 자세한 내용은 메서드 문서 문자열을 참조하세요.

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

config id는 캐시 디렉터리를 생성하는 데 사용됩니다. 기본값은 config 이름과 동일합니다. 그러나 생성 중인 dataset의 고유 식별자를 확보하기에는 config 이름만으로는 충분하지 않습니다. 이유는 다음 사항들을 고려하지 않기 때문입니다:

  • 속성을 덮어쓸 수 있는 config kwargs
  • 데이터셋을 작성하는 데 사용된 사용자 정의 기능
  • json/text/csv/pandas 데이터셋의 data_files

따라서 config id는 이러한 값에 기반한 선택적 접미사가 붙은 config 이름입니다.

다운로드

class 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 또는 URL의 list 또는 dict. 각 URL은 str입니다.

반환값

str 또는 list 또는 dict

주어진 입력 url_or_urls와 일치하는 다운로드 경로입니다.

주어진 URL을 다운로드합니다.

기본적으로 다운로드에 프로세스 1개만 사용됩니다. 이 동작을 변경하려면 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 또는 URL의 list 또는 dict. 각 URL은 str입니다.

반환값

extracted_path(s)

str, 주어진 URL의 추출된 경로.

url_or_urls을 다운로드하고 압축을 풉니다.

대략 다음과 같습니다:

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

추출

< >

( path_or_paths ) → extracted_path(s)

매개변수

  • path_or_paths (path 또는 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) — 아카이브 경로 또는 아카이브 바이너리 파일 객체.

Yields

tuple[str, io.BufferedReader]

2-tuple (path_within_archive, file_object). 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 또는 str의 list) — 루트 경로입니다.

Yields

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)

class 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 메서드는 실제로 데이터를 다운로드하거나 추출하지 않으며, 대신 원격 파일에서 데이터를 스트리밍하도록 내장된 open 함수를 확장한 xopen 함수를 사용하여 열 수 있는 경로 또는 URL을 반환합니다.

다운로드

< >

( url_or_urls ) → url(s)

매개변수

  • url_or_urls (str 또는 list 또는 dict) — 스트리밍할 데이터의 파일 URL입니다. 각 url은 str입니다.

반환값

url(s)

(str 또는 list 또는 dict), 주어진 input url_or_urls와 일치하는 데이터 스트리밍 소스 URL(들).

스트리밍할 데이터의 파일 URL을 정규화합니다. 이것은 스트리밍을 위한 DownloadManager.download의 지연 평가(lazy) 버전입니다.

예:

>>> 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_or_urls와 일치하는 데이터 스트리밍을 위한 URL(들).

url_or_urls을 스트리밍을 위해 준비합니다(추출 프로토콜 추가).

DownloadManager.download_and_extract의 스트리밍용 지연 버전입니다.

다음과 같습니다:

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

추출

< >

( url_or_urls ) → url(s)

매개변수

  • url_or_urls (str 또는 list 또는 dict) — 스트리밍할 데이터의 파일 URL입니다. 각 url은 str입니다.

반환값

url(s)

(str 또는 list 또는 dict), 주어진 입력 url_or_urls와 일치하는 데이터 스트리밍을 위한 URL(들).

스트리밍을 위해 주어진 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) — 아카이브 경로 또는 아카이브 바이너리 파일 객체.

Yields

tuple[str, io.BufferedReader]

2-tuple (path_within_archive, file_object). 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 또는 str의 list) — 루트 경로입니다.

Yields

str

File URL path.

files를 반복합니다.

예:

>>> 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 환경 변수를 설정하거나 huggingface_hub.set_client_factory로 HTTP 클라이언트를 구성하세요.
  • user_agent (str, 선택) — 원격 요청의 user-agent에 추가될 선택적 문자열 또는 dict입니다.
  • 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) — 캐시된 파일을 검증하기 위해 ETag HTTP 응답 헤더를 사용할지 여부입니다.
  • num_proc (int, 선택 사항) — 파일을 병렬로 다운로드하기 위해 시작할 프로세스 수입니다.
  • max_retries (int, 기본값 1) — HTTP 요청이 실패할 경우 재시도할 횟수입니다.
  • token (str 또는 bool, 선택 사항) — Datasets Hub의 원격 파일에 사용할 Bearer token으로 사용할 선택적 문자열 또는 불리언 값입니다. True인 경우 또는 지정되지 않은 경우 ~/.huggingface에서 token을 가져옵니다.
  • storage_options (dict, 선택 사항) — 데이터셋 파일 시스템 백엔드에 전달할 키/값 쌍(해당하는 경우).
  • download_desc (str, 선택 사항) — 파일을 다운로드하는 동안 진행률 바와 함께 표시될 설명입니다.
  • disable_tqdm (bool, 기본값 False) — 개별 파일 다운로드 진행 표시줄을 비활성화할지 여부

캐시된 경로 관리자를 위한 구성입니다.

class datasets.DownloadMode

< >

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

기존 다운로드 및 데이터를 어떻게 처리할지에 대한 Enum입니다.

기본 모드는 REUSE_DATASET_IF_EXISTS이며, 원본 다운로드와 준비된 데이터셋이 모두 존재하는 경우 이를 재사용합니다.

생성 모드:

다운로드데이터셋
REUSE_DATASET_IF_EXISTS (기본값)재사용재사용
REUSE_CACHE_IF_EXISTS재사용신선
FORCE_REDOWNLOAD신선신선

검증

class datasets.VerificationMode

< >

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

Enum은 실행할 검증 체크를 지정합니다.

기본 모드는 BASIC_CHECKS이며, 처음에 데이터셋을 생성/다운로드할 때 지연을 방지하기 위해 기본적인 검사만 수행합니다.

검증 모드:

검증 체크
ALL_CHECKS다운로드된 파일의 분할 체크 및 유효성(파일 수, 체크섬)
BASIC_CHECKS (기본값)ALL_CHECKS와 동일하지만 다운로드된 파일을 검사하지 않습니다
NO_CHECKSNone

분할

class datasets.SplitGenerator

< >

( name: strgen_kwargs: dict = <factory> )

매개변수

  • name (str) — 예제를 생성할 Split의 이름입니다.
  • **gen_kwargs (추가 키워드 인자) — 빌더의 DatasetBuilder._generate_examples 메서드로 전달할 키워드 인자

generator의 분할 정보를 정의합니다.

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: 정의된 모든 데이터셋 분할의 합집합.

구성(compositions)을 포함한 모든 splits는 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)},
... )

class datasets.NamedSplit

< >

( name: str )

이름이 지정된 분할(train, test, …)에 해당하는 디스크립터입니다.

예:

각 descriptor는 덧셈 또는 슬라이스를 사용하여 다른 것과 조합할 수 있습니다:

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

결과 분할은 train 분할의 25%와 test 분할의 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])

class datasets.NamedSplitAll

< >

( )

정의된 모든 데이터셋 분할의 합집합에 해당하는 분할.

class 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) — 읽을 분할(s) + 선택적 슬라이스(s) + 퍼센트가 슬라이싱 단위로 사용될 경우 선택적 반올림. 슬라이스는 절대 숫자(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) — 분할 이름과 예시 수를 연결합니다.

지시문을 절대 지시문 목록으로 변환합니다.

이 절대 지시들은 서로 합산됩니다.

버전

class 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) —

Dataset 버전 MAJOR.MINOR.PATCH.

예:

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