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の2つのクラスに依存しています。

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 トークンとして使用する文字列またはブール値。True の場合、"~/.huggingface" からトークンを取得します。
  • 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のサブクラスを定義し、構築時に設定オブジェクト(または名前)を受け取ることで、データセットの複数のバリアントを公開します。設定可能なデータセットは、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を返します。

例:

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

ローカルで、シャード化された 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

< >

( )

このクラスまたはサブクラスのモジュールのパスを返します。

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)に基づくデータ生成を行うデータセットの基底クラスです。

class 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 の名前と等しくなります。 ただし、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))

extract

< >

( 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要素のタプル (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 または 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メソッドは実際にデータをダウンロードしたり抽出したりせず、代わりにxopen関数によって開くことのできるパスまたはURLを返します。xopen関数は組み込みのopen関数を拡張し、リモートファイルからデータをストリーミングします。

ダウンロード

< >

( 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の遅延評価版です。

例:

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

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の抽出プロトコルを追加します。

これはストリーミング用の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要素のタプル (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 または str の list) — ルートパス。

Yields

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)

class 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) — extract_compressed_fileがTrueの場合、アーカイブがすでに展開済みであっても、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 トークンとして用いる任意の文字列またはブール値。True の場合、または指定されていない場合は、~/.huggingface からトークンを取得します。
  • 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 メソッドに転送するキーワード引数。

ジェネレータの分割情報を定義します。

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)},
... )

class datasets.NamedSplit

< >

( name: str )

名前付き分割(train、test など)に対応するディスクリプタ。

例:

各ディスクリプタは、加算またはスライスによって他のディスクリプタと組み合わせることができます。

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

生成される分割は、train分割の25%とtest分割の100%をマージしたものに相当します。

同じ分割を2回追加することはできないため、以下のコードは失敗します:

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

スライスは1回のみ適用できます。したがって、以下は有効です:

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) — 分割 + 読み取り用の任意のスライス + パーセントがスライスの単位として使用される場合の任意の丸め。スライスは、絶対数 (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) —

データセットのバージョン MAJOR.MINOR.PATCH。

例:

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