# ビルダークラス

## ビルダー[[datasets.DatasetBuilder]]

🤗 Datasetsは、データセットの構築プロセスにおいて、主に[DatasetBuilder](/docs/datasets/main/ja/package_reference/builder_classes#datasets.DatasetBuilder)と[BuilderConfig](/docs/datasets/main/ja/package_reference/builder_classes#datasets.BuilderConfig)の2つのクラスに依存しています。

#### datasets.DatasetBuilder[[datasets.DatasetBuilder]]

```python
datasets.DatasetBuilder(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/builder.py#L214)

**パラメータ:**

cache_dir (`str`, *任意*) : データをキャッシュするディレクトリ。デフォルトは `"~/.cache/huggingface/datasets"` です。

dataset_name (`str`, *任意*) : ビルダー名と異なる場合のデータセット名。csv、imagefolder、audiofolderなどのパッケージ化されたビルダーを使用する際、同じパッケージ化ビルダーを使用するデータセット間の違いを反映するために役立ちます。

config_name (`str`, *任意*) : データセット設定の名前です。ディスク上に生成されるデータに影響します。異なる設定は、それぞれ独自のサブディレクトリとバージョンを持ちます。指定されない場合、デフォルトの設定が使用されます（存在する場合）。    パラメータ `name` は `config_name` に名前が変更されました。

hash (`str`, *任意*) : データセットビルダーのコードに固有のハッシュです。データセットビルダーのコードが更新された際にキャッシュディレクトリを更新するために使用されます（古いデータの再利用を避けるため）。一般的なキャッシュディレクトリ（`self._relative_data_dir` で定義）は `name/version/hash/` です。

base_path (`str`, *任意*) : ファイルのダウンロードに使用される相対パスのベースパスです。リモートURLを指定することもできます。

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)、*任意*) : このデータセットで使用する Features の型です。例えば、データセットの [Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.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`, *optional*) : ArrowWriter が使用するバッチサイズ。メモリに保持されるサンプル数と、arrow チャンクの長さを定義します。None の場合、ArrowWriter はデフォルト値を使用します。

- ****config_kwargs** (追加のキーワード引数) : [DatasetBuilder.BUILDER_CONFIG_CLASS](/docs/datasets/main/ja/package_reference/builder_classes#datasets.BuilderConfig) に設定されている対応するビルダー設定クラスに渡すキーワード引数です。ビルダー設定クラスは [BuilderConfig](/docs/datasets/main/ja/package_reference/builder_classes#datasets.BuilderConfig) またはそのサブクラスです。

すべてのデータセットの抽象基底クラス。

`DatasetBuilder`には3つの主要なメソッドがあります：

- `DatasetBuilder.info`: 特徴量の名前、型、形状、バージョン、スプリット、引用情報などを含む、データセットのドキュメントです。
- [DatasetBuilder.download_and_prepare()](/docs/datasets/main/ja/package_reference/builder_classes#datasets.DatasetBuilder.download_and_prepare): ソースデータをダウンロードし、ディスクに書き込みます。
- [DatasetBuilder.as_dataset()](/docs/datasets/main/ja/package_reference/builder_classes#datasets.DatasetBuilder.as_dataset): [Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)を生成します。

一部の`DatasetBuilder`は、[BuilderConfig](/docs/datasets/main/ja/package_reference/builder_classes#datasets.BuilderConfig)のサブクラスを定義し、構築時に設定オブジェクト（または名前）を受け取ることで、データセットの複数のバリアントを公開します。設定可能なデータセットは、`DatasetBuilder.builder_configs()`で定義済みの設定のセットを公開します。

#### as_dataset[[datasets.DatasetBuilder.as_dataset]]

```python
as_dataset(split: typing.Union[str, datasets.splits.Split, list[str], list[datasets.splits.Split], NoneType] = None, in_memory = False)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/builder.py#L991)

**パラメータ:**

split (`datasets.Split`) : 返すデータのサブセット。

verification_mode ([VerificationMode](/docs/datasets/main/ja/package_reference/builder_classes#datasets.VerificationMode) または `str`、デフォルトは `BASIC_CHECKS`) : ダウンロード/処理されたデータセットの情報（チェックサム/サイズ/スプリット/...）に対して実行するチェックを決定する検証モード。

in_memory (`bool`、デフォルトは`False`) : メモリ内でデータをコピーするかどうか。

**戻り値:**

datasets.Dataset

指定されたスプリット用のDatasetを返します。

例:

```py
>>> 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[[datasets.DatasetBuilder.download_and_prepare]]

```python
download_and_prepare(output_dir: typing.Optional[str] = None, download_config: typing.Optional[datasets.download.download_config.DownloadConfig] = None, download_mode: typing.Union[datasets.download.download_manager.DownloadMode, str, NoneType] = None, verification_mode: typing.Union[datasets.utils.info_utils.VerificationMode, str, NoneType] = None, dl_manager: typing.Optional[datasets.download.download_manager.DownloadManager] = None, base_path: typing.Optional[str] = None, file_format: str = 'arrow', max_shard_size: typing.Union[str, int, NoneType] = None, num_proc: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None, **download_and_prepare_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/builder.py#L702)

**パラメータ:**

output_dir (`str`, *任意*) : データセットの出力ディレクトリ。デフォルトでは、このビルダーの `cache_dir` になり、デフォルトでは `~/.cache/huggingface/datasets` の内側です。

download_config (`DownloadConfig`, *任意*) : 特定のダウンロード設定パラメータ。

download_mode ([DownloadMode](/docs/datasets/main/ja/package_reference/builder_classes#datasets.DownloadMode) または `str`、*任意*) : ダウンロード/生成モードを選択します。デフォルトは `REUSE_DATASET_IF_EXISTS` です。

verification_mode ([VerificationMode](/docs/datasets/main/ja/package_reference/builder_classes#datasets.VerificationMode) または `str`、デフォルトは `BASIC_CHECKS`) : ダウンロード/処理されたデータセットの情報（チェックサム/サイズ/スプリット/...）に対して実行するチェックを決定する検証モード。

dl_manager (`DownloadManager`, *任意*) : 使用する特定の`DownloadManger`。

base_path (`str`, *任意*) : ファイルのダウンロードに使用される相対パスのベースパスです。リモートURLを指定することもできます。指定しない場合、`base_path` 属性 (`self.base_path`) の値が代わりに使用されます。

file_format (`str`, *任意*) : データセットが書き込まれるデータファイルの形式です。サポートされている形式: "arrow"、"parquet"。デフォルトは "arrow" 形式です。形式が "parquet" の場合、ローカルファイルへの参照ではなく、画像および音声データが Parquet ファイルに埋め込まれます。

max_shard_size (`Union[str, int]`, *任意*) : シャードごとに書き込まれるバイト数の最大値です。デフォルト値は "500MB" です。サイズは非圧縮データに基づいて計算されるため、Parquet による圧縮などにより、実際のシャードファイルは `max_shard_size` よりも小さくなる場合があります。

num_proc (`int`、*任意*、デフォルトは`None`) : データセットをローカルにダウンロードおよび生成する際のプロセス数。デフォルトではマルチプロセッシングは無効です。

storage_options (`dict`, *任意*) : キャッシングファイルシステムバックエンドに渡すキー/値のペア（該当する場合）。

- ****download_and_prepare_kwargs**（追加のキーワード引数）: キーワード引数。

読み取り用にデータセットをダウンロードして準備します。

例:

`builder.as_dataset()` によって Dataset として読み込める Arrow ファイルとして、データセットをダウンロードして準備します:

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

ローカルで、シャード化された Parquet ファイルとしてデータセットをダウンロードして準備します:

```py
>>> 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 ファイルとしてデータセットをダウンロードして準備します:

```py
>>> 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.DatasetBuilder.get_imported_module_dir]]

```python
get_imported_module_dir()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/builder.py#L694)

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

#### datasets.GeneratorBasedBuilder[[datasets.GeneratorBasedBuilder]]

```python
datasets.GeneratorBasedBuilder(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/builder.py#L1292)

dictジェネレーターに基づくデータ生成を行うデータセットの基底クラス。

`GeneratorBasedBuilder` は、`DatasetBuilder` のデータ書き込みと読み取りの多くを抽象化する便利なクラスです。サブクラスには、データセットの各スプリットにわたる特徴量辞書のジェネレーター（`_split_generators`）を実装することが期待されます。詳細はメソッドのドキュメント文字列を参照してください。

#### datasets.ArrowBasedBuilder[[datasets.ArrowBasedBuilder]]

```python
datasets.ArrowBasedBuilder(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/builder.py#L1610)

Arrowの読み込み関数（CSV/JSON/Parquet）に基づくデータ生成を行うデータセットの基底クラスです。

#### datasets.BuilderConfig[[datasets.BuilderConfig]]

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

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/builder.py#L101)

**パラメータ:**

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[[datasets.BuilderConfig.create_config_id]]

```python
create_config_id(config_kwargs: dict, custom_features: typing.Optional[datasets.features.features.Features] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/builder.py#L144)

config idは、キャッシュディレクトリを構築するために使用されます。デフォルトでは、configの名前と等しくなります。ただし、configの名前だけでは、生成されるデータセットの一意な識別子として十分ではありません。その理由は、以下の要素を考慮していないためです。
- 属性を上書きするために使用できるconfigのkwargs
- データセットの作成に使用されるカスタム機能
- json/text/csv/pandas データセットの data_files

したがって、config idは、これらの情報に基づく任意のサフィックス付きのconfig名です。

## ダウンロード[[datasets.DownloadManager]]

#### datasets.DownloadManager[[datasets.DownloadManager]]

```python
datasets.DownloadManager(dataset_name: typing.Optional[str] = None, data_dir: typing.Optional[str] = None, download_config: typing.Optional[datasets.download.download_config.DownloadConfig] = None, base_path: typing.Optional[str] = None, record_checksums = False)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/download/download_manager.py#L71)

#### ダウンロード[[datasets.DownloadManager.download]]

```python
download(url_or_urls)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/download/download_manager.py#L131)

**パラメータ:**

url_or_urls (`str` または `list` または `dict`) : ダウンロードする URL、または URL の `list` または `dict`。各 URL は `str` です。

**戻り値:** `str` または `list` または `dict`

指定された入力`url_or_urls`に一致するダウンロードされたパスです。

指定されたURLをダウンロードします。

デフォルトでは、ダウンロードに1つのプロセスのみが使用されます。この動作を変更するには、カスタマイズされた`download_config.num_proc`を渡します。

例:

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

#### download_and_extract[[datasets.DownloadManager.download_and_extract]]

```python
download_and_extract(url_or_urls)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/download/download_manager.py#L310)

**パラメータ:**

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

#### 抽出[[datasets.DownloadManager.extract]]

```python
extract(path_or_paths)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/download/download_manager.py#L278)

**パラメータ:**

path_or_paths (path または `list` または `dict`) : 抽出するファイルのパス。各パスは `str` です。

**戻り値:** `extracted_path(s)`

`str`、指定された input path_or_paths に一致する抽出されたパス。

指定されたパスを抽出します。

例:

```py
>>> 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[[datasets.DownloadManager.iter_archive]]

```python
iter_archive(path_or_buf: typing.Union[str, _io.BufferedReader])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/download/download_manager.py#L234)

**パラメータ:**

path_or_buf (`str` または `io.BufferedReader`) : アーカイブのパスまたはアーカイブのバイナリファイルオブジェクト。

**戻り値:** `tuple[str, io.BufferedReader]`

2要素のタプル (path_within_archive, file_object)。ファイルオブジェクトはバイナリモードで開かれます。

アーカイブ内のファイルを反復処理します。

例:

```py
>>> 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[[datasets.DownloadManager.iter_files]]

```python
iter_files(paths: typing.Union[str, list[str]])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/download/download_manager.py#L259)

**パラメータ:**

paths (`str` または `str` の `list`) : ルートパス。

**戻り値:** `str`

ファイルパス。

ファイルパスを反復します。

例:

```py
>>> 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[[datasets.StreamingDownloadManager]]

```python
datasets.StreamingDownloadManager(dataset_name: typing.Optional[str] = None, data_dir: typing.Optional[str] = None, download_config: typing.Optional[datasets.download.download_config.DownloadConfig] = None, base_path: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/download/streaming_download_manager.py#L47)

「::」区切り文字を使用して（リモートの場合もある）圧縮アーカイブをナビゲートするダウンロードマネージャーです。通常の`DownloadManager`とは異なり、`download`および`extract`メソッドは実際にデータをダウンロードしたり抽出したりせず、代わりに`xopen`関数で開くことのできるパスまたはURLを返します。`xopen`関数は組み込みの`open`関数を拡張し、リモートファイルからデータをストリーミングします。

#### ダウンロード[[datasets.StreamingDownloadManager.download]]

```python
download(url_or_urls)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/download/streaming_download_manager.py#L75)

**パラメータ:**

url_or_urls (`str` または `list` または `dict`) : ストリーミングするデータのファイルのURLです。各URLは`str`です。

**戻り値:** `url(s)`

(`str` または `list` または `dict`)、指定された input url_or_urls に一致するデータストリーミング元の URL。

ストリーミングでデータを取得するファイルのURLを正規化します。これはストリーミング用の`DownloadManager.download`の遅延評価版です。

例:

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

#### download_and_extract[[datasets.StreamingDownloadManager.download_and_extract]]

```python
download_and_extract(url_or_urls)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/download/streaming_download_manager.py#L151)

**パラメータ:**

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

#### 抽出[[datasets.StreamingDownloadManager.extract]]

```python
extract(url_or_urls)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/download/streaming_download_manager.py#L102)

**パラメータ:**

url_or_urls (`str` または `list` または `dict`) : ストリーミングするデータのファイルのURLです。各URLは`str`です。

**戻り値:** `url(s)`

(`str` または `list` または `dict`)、指定された入力 `url_or_urls` に一致するデータストリーミング用の URL。

ストリーミング用に、指定されたURLの抽出プロトコルを追加します。

これはストリーミング用の`DownloadManager.extract`の遅延評価版です。

例:

```py
>>> 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[[datasets.StreamingDownloadManager.iter_archive]]

```python
iter_archive(urlpath_or_buf: typing.Union[str, _io.BufferedReader])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/download/streaming_download_manager.py#L171)

**パラメータ:**

urlpath_or_buf (`str` または `io.BufferedReader`) : アーカイブのパスまたはアーカイブのバイナリファイルオブジェクト。

**戻り値:** `tuple[str, io.BufferedReader]`

2要素のタプル (path_within_archive, file_object)。ファイルオブジェクトはバイナリモードで開かれます。

アーカイブ内のファイルを反復処理します。

例:

```py
>>> 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[[datasets.StreamingDownloadManager.iter_files]]

```python
iter_files(urlpaths: typing.Union[str, list[str]])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/download/streaming_download_manager.py#L196)

**パラメータ:**

urlpaths (`str` または `str` の `list`) : ルートパス。

**戻り値:** `str`

ファイルのURLパス。

ファイルを反復処理します。

例:

```py
>>> 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[[datasets.DownloadConfig]]

```python
datasets.DownloadConfig(cache_dir: typing.Union[str, pathlib.Path, NoneType] = None, force_download: bool = False, resume_download: bool = False, local_files_only: bool = False, proxies: typing.Optional[dict] = None, user_agent: typing.Optional[str] = None, extract_compressed_file: bool = False, force_extract: bool = False, delete_extracted: bool = False, extract_on_the_fly: bool = False, use_etag: bool = True, num_proc: typing.Optional[int] = None, max_retries: int = 1, token: typing.Union[str, bool, NoneType] = None, storage_options: dict = <factory>, download_desc: typing.Optional[str] = None, disable_tqdm: bool = False)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/download/download_config.py#L10)

**パラメータ:**

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](https://huggingface.co/docs/huggingface_hub/main/en/package_reference/utilities#huggingface_hub.set_client_factory) で HTTP クライアントを設定してください。

user_agent (`str`, *任意*) : リモートリクエストのユーザーエージェントに追加される、任意の文字列または辞書。

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`, *optional*) : ファイルを並列でダウンロードするために起動するプロセスの数。

max_retries (`int`、デフォルトは`1`) : HTTPリクエストが失敗した場合に再試行する回数。

token (`str` または `bool`、*省略可能*) : Datasets Hub 上のリモートファイルの Bearer トークンとして使用する任意の文字列またはブール値。`True` の場合、または指定されていない場合は、`~/.huggingface` からトークンを取得します。

storage_options (`dict`, *任意*) : データセットのファイルシステムバックエンドがある場合、そこに渡すキー/値のペア。

download_desc (`str`, *任意*) : ファイルのダウンロード中に、プログレスバーとともに表示される説明です。

disable_tqdm (`bool`、デフォルトは`False`) : 個別ファイルのダウンロード進捗バーを無効にするかどうか

キャッシュされたパスマネージャーの設定。

#### datasets.DownloadMode[[datasets.DownloadMode]]

```python
datasets.DownloadMode(value, names = None, module = None, qualname = None, type = None, start = 1)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/download/download_manager.py#L50)

既存のダウンロードおよびデータの扱い方を指定するための`Enum`。

デフォルトモードは`REUSE_DATASET_IF_EXISTS`で、存在する場合は生のダウンロードと準備済みのデータセットの両方を再利用します。

生成モード:

|                                     | ダウンロード | データセット |
|-------------------------------------|-----------|---------|
| `REUSE_DATASET_IF_EXISTS`（デフォルト） | 再利用     | 再利用   |
| `REUSE_CACHE_IF_EXISTS`             | 再利用     | フレッシュ   |
| `FORCE_REDOWNLOAD`                  | フレッシュ     | フレッシュ   |

## 検証[[datasets.VerificationMode]]

#### datasets.VerificationMode[[datasets.VerificationMode]]

```python
datasets.VerificationMode(value, names = None, module = None, qualname = None, type = None, start = 1)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/utils/info_utils.py#L22)

実行する検証チェックを指定する`Enum`。

デフォルトモードは`BASIC_CHECKS`であり、データセットを初めて生成/ダウンロードする際の遅延を避けるため、基本的なチェックのみを実行します。

検証モード:

|                           | 検証チェック                                                           |
|---------------------------|------------------------------------------------------------------------------ |
| `ALL_CHECKS`              | ダウンロードされたファイルの分割チェックおよび妥当性（ファイル数、チェックサム）    |
| `BASIC_CHECKS`（デフォルト）  | `ALL_CHECKS`と同じですが、ダウンロードされたファイルのチェックは行いません                    |
| `NO_CHECKS`               | None                                                                          |

## 分割[[datasets.SplitGenerator]]

#### datasets.SplitGenerator[[datasets.SplitGenerator]]

```python
datasets.SplitGenerator(name: str, gen_kwargs: dict = <factory>)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/splits.py#L624)

**パラメータ:**

name (`str`) : ジェネレーターがサンプルを作成する`Split`の名前。

- ****gen_kwargs** (追加のキーワード引数) : ビルダーの `DatasetBuilder._generate_examples` メソッドに転送するキーワード引数。

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

これは`GeneratorBasedBuilder._split_generators`の戻り値として使用する必要があります。詳細と使用例については`GeneratorBasedBuilder._split_generators`を参照してください。

例:

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

#### datasets.Split[[datasets.Split]]

```python
datasets.Split(name)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/splits.py#L417)

データセットの分割用の`Enum`。

データセットは、通常、トレーニングや評価の各段階で使用するために、異なるサブセットに分割されます。

- `TRAIN`: 学習データ。
- `VALIDATION`: 検証データです。存在する場合、モデルの反復処理（ハイパーパラメータの変更、モデルアーキテクチャの変更など）中に評価データとして使用されることが一般的です。
- `TEST`: テストデータです。これはメトリクスを報告するために使用するデータです。モデルの反復処理中にこれを使用すると、データに過学習する可能性があるため、通常は使用しません。
- `ALL`: 定義されたすべてのデータセット分割の和集合。

すべてのスプリット（構成を含む）は`datasets.SplitBase`を継承します。

分割に関する詳細は、[ガイド](../load_hub#splits)を参照してください。

例:

```py
>>> 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[[datasets.NamedSplit]]

```python
datasets.NamedSplit(name: str)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/splits.py#L325)

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

例:

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

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

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

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

```py
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回のみ適用できます。したがって、以下は有効です：

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

ただし、これは無効です:

```py
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.NamedSplitAll]]

```python
datasets.NamedSplitAll()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/splits.py#L402)

定義されたすべてのデータセットの分割の和集合に対応する分割。

#### datasets.ReadInstruction[[datasets.ReadInstruction]]

```python
datasets.ReadInstruction(split_name, rounding = None, from_ = None, to = None, unit = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_reader.py#L456)

データセットの読み取り指示。

例:

```python
# 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[[datasets.ReadInstruction.from_spec]]

```python
from_spec(spec)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_reader.py#L536)

**パラメータ:**

spec (`str`) : 読み取るための分割（Split）と、任意のスライス、パーセントをスライスの単位として使用する場合は任意の丸め。スライスは、絶対数（`int`）またはパーセント（`int`）で指定できます。

**戻り値:**

ReadInstructionインスタンス。

文字列の仕様から`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[[datasets.ReadInstruction.to_absolute]]

```python
to_absolute(name2len)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_reader.py#L608)

**パラメータ:**

name2len (`dict`) : スプリット名とサンプル数の対応関係。

**戻り値:**

AbsoluteInstructionのインスタンスのリスト（specの+に対応します）。

指示を絶対的な指示のリストに変換します。

これらの絶対的な指示は、その後、合計されます。

## バージョン[[datasets.Version]]

#### datasets.Version[[datasets.Version]]

```python
datasets.Version(version_str: str, description: typing.Optional[str] = None, major: typing.Union[str, int, NoneType] = None, minor: typing.Union[str, int, NoneType] = None, patch: typing.Union[str, int, NoneType] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/utils/version.py#L30)

**パラメータ:**

version_str (`str`) : データセットのバージョン。

description (`str`) : このバージョンで新たに追加された内容の説明。

major (`str`) --

minor (`str`) --

patch (`str`) --

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

例:

```py
>>> VERSION = datasets.Version("1.0.0")
```

