Datasets documentation

Builder 클래스

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