# Kelas pembangun

## Pembangun[[datasets.DatasetBuilder]]

🤗 Datasets bergantung pada dua kelas utama selama proses pembuatan dataset: [DatasetBuilder](/docs/datasets/v5.2.0/id/package_reference/builder_classes#datasets.DatasetBuilder) dan [BuilderConfig](/docs/datasets/v5.2.0/id/package_reference/builder_classes#datasets.BuilderConfig).

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/builder.py#L214)

**Parameter:**

cache_dir (`str`, *opsional*) : Direktori untuk meng-cache data. Bawaan adalah `"~/.cache/huggingface/datasets"`.

dataset_name (`str`, *opsional*) : Nama dataset, jika berbeda dari nama builder. Berguna untuk builder yang dikemas seperti csv, imagefolder, audiofolder, dll. untuk mencerminkan perbedaan antara dataset yang menggunakan builder terkemas yang sama.

config_name (`str`, *opsional*) : Nama konfigurasi dataset. Hal ini memengaruhi data yang dihasilkan di disk. Konfigurasi yang berbeda akan memiliki subdirektori dan versi masing-masing. Jika tidak disediakan, konfigurasi default akan digunakan (jika ada).    Parameter `name` telah diganti namanya menjadi `config_name`.

hash (`str`, *opsional*) : Hash yang spesifik untuk kode pembangun dataset. Digunakan untuk memperbarui direktori cache ketika kode pembangun dataset diperbarui (untuk menghindari penggunaan ulang data lama). Direktori cache yang umum (didefinisikan dalam `self._relative_data_dir`) adalah `name/version/hash/`.

base_path (`str`, *opsional*) : Path dasar untuk path relatif yang digunakan untuk mengunduh file. Ini bisa berupa URL jarak jauh.

features ([Fitur](/docs/datasets/v5.2.0/id/package_reference/main_classes#datasets.Features), *opsional*) : Jenis fitur yang digunakan dengan dataset ini. Dapat digunakan untuk mengubah jenis [Fitur](/docs/datasets/v5.2.0/id/package_reference/main_classes#datasets.Features) dari sebuah dataset, misalnya.

token (`str` atau `bool`, *opsional*) : String atau boolean yang digunakan sebagai token Bearer untuk file jarak jauh di Datasets Hub. Jika `True`, token akan diambil dari `"~/.huggingface"`.

repo_id (`str`, *opsional*) : ID dari repositori dataset. Digunakan untuk membedakan builder yang memiliki nama sama tetapi tidak berasal dari namespace yang sama, misalnya ID repositori "rajpurkar/squad" dan "lhoestq/squad". Pada kasus yang terakhir, nama builder-nya akan menjadi "lhoestq___squad".

data_files (`str` atau `Sequence` atau `Mapping`, *opsional*) : Path ke file data sumber. Untuk builder seperti "csv" atau "json" yang membutuhkan pengguna untuk menentukan file data. File tersebut dapat berupa file lokal atau jarak jauh. Untuk kenyamanan, Anda dapat menggunakan `DataFilesDict`.

data_dir (`str`, *opsional*) : Path ke direktori yang berisi file data sumber. Gunakan hanya jika `data_files` tidak diteruskan, di mana hal ini setara dengan meneruskan `os.path.join(data_dir, "**")` sebagai `data_files`. Untuk builder yang memerlukan unduhan manual, ini harus berupa path ke direktori lokal yang berisi data yang diunduh secara manual.

storage_options (`dict`, *opsional*) : Pasangan key/value yang akan diteruskan ke backend file-system dataset, jika ada.

writer_batch_size (`int`, *opsional*) : Ukuran batch yang digunakan oleh ArrowWriter. Ini menentukan jumlah sampel yang disimpan di memori sebelum ditulis dan juga panjang chunk arrow. None berarti ArrowWriter akan menggunakan nilai default-nya.

- ****config_kwargs** (argumen kata kunci tambahan) : Argumen kata kunci yang akan diteruskan ke kelas konfigurasi builder yang sesuai, yang diset pada atribut kelas [DatasetBuilder.BUILDER_CONFIG_CLASS](/docs/datasets/v5.2.0/id/package_reference/builder_classes#datasets.BuilderConfig). Kelas konfigurasi builder adalah [BuilderConfig](/docs/datasets/v5.2.0/id/package_reference/builder_classes#datasets.BuilderConfig) atau subkelasnya.

Kelas basis abstrak untuk semua dataset.

`DatasetBuilder` memiliki 3 metode utama:

- `DatasetBuilder.info`: Mendokumentasikan dataset, termasuk nama fitur, tipe, bentuk, versi, split, sitasi, dan sebagainya.
- [DatasetBuilder.download_and_prepare()](/docs/datasets/v5.2.0/id/package_reference/builder_classes#datasets.DatasetBuilder.download_and_prepare): Mengunduh data sumber dan menuliskannya ke disk.
- [DatasetBuilder.as_dataset()](/docs/datasets/v5.2.0/id/package_reference/builder_classes#datasets.DatasetBuilder.as_dataset): Menghasilkan [Dataset](/docs/datasets/v5.2.0/id/package_reference/main_classes#datasets.Dataset).

Beberapa `DatasetBuilder` mengekspos beberapa varian dataset dengan mendefinisikan subclass [BuilderConfig](/docs/datasets/v5.2.0/id/package_reference/builder_classes#datasets.BuilderConfig) dan menerima objek (atau nama) config saat konstruksi. Dataset yang dapat dikonfigurasi mengekspos set konfigurasi yang sudah didefinisikan sebelumnya di `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)
```

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/builder.py#L991)

**Parameter:**

split (`datasets.Split`) : Subset data mana yang akan dikembalikan.

verification_mode ([VerificationMode](/docs/datasets/v5.2.0/id/package_reference/builder_classes#datasets.VerificationMode) atau `str`, defaultnya `BASIC_CHECKS`) : Mode verifikasi yang menentukan pemeriksaan yang akan dijalankan pada informasi dataset yang diunduh/diproses (checksum/ukuran/splits/...).

in_memory (`bool`, defaultnya `False`) : Apakah menyalin data di memori.

**Mengembalikan:**

datasets.Dataset

Kembalikan Dataset untuk split yang ditentukan.

Contoh:

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/builder.py#L702)

**Parameter:**

output_dir (`str`, *opsional*) : Direktori output untuk dataset. Bawaan adalah `cache_dir` dari builder ini, yang secara bawaan berada di dalam `~/.cache/huggingface/datasets`.

download_config (`DownloadConfig`, *opsional*) : Parameter konfigurasi unduhan yang spesifik.

download_mode ([DownloadMode](/docs/datasets/v5.2.0/id/package_reference/builder_classes#datasets.DownloadMode) atau `str`, *opsional*) : Memilih mode unduhan/generasi, secara default menggunakan `REUSE_DATASET_IF_EXISTS`.

verification_mode ([VerificationMode](/docs/datasets/v5.2.0/id/package_reference/builder_classes#datasets.VerificationMode) atau `str`, defaultnya `BASIC_CHECKS`) : Mode verifikasi yang menentukan pemeriksaan yang akan dijalankan pada informasi dataset yang diunduh/diproses (checksum/ukuran/splits/...).

dl_manager (`DownloadManager`, *opsional*) : `DownloadManger` spesifik yang akan digunakan.

base_path (`str`, *opsional*) : Jalur dasar untuk jalur relatif yang digunakan untuk mengunduh file. Ini bisa berupa url jarak jauh. Jika tidak ditentukan, nilai atribut `base_path` (`self.base_path`) akan digunakan sebagai gantinya.

file_format (`str`, *opsional*) : Format file data tempat dataset akan ditulis. Format yang didukung: "arrow", "parquet". Bawaan ke format "arrow". Jika formatnya "parquet", maka data gambar dan audio akan disematkan ke dalam file Parquet alih-alih menunjuk ke file lokal.

max_shard_size (`Union[str, int]`, *opsional*) : Jumlah maksimum byte yang ditulis per shard, defaultnya adalah "500MB". Ukuran ini didasarkan pada ukuran data yang tidak dikompresi, sehingga dalam praktiknya file shard Anda mungkin lebih kecil dari `max_shard_size` berkat kompresi Parquet, misalnya.

num_proc (`int`, *opsional*, defaultnya `None`) : Jumlah proses saat mengunduh dan menghasilkan dataset secara lokal. Multiprocessing dinonaktifkan secara default.

storage_options (`dict`, *opsional*) : Pasangan key/value yang akan diteruskan ke backend file-system caching, jika ada.

- ****download_and_prepare_kwargs** (argumen kata kunci tambahan) : Argumen kata kunci.

Mengunduh dan menyiapkan dataset untuk dibaca.

Contoh:

Unduh dan siapkan dataset sebagai file Arrow yang dapat dimuat sebagai Dataset menggunakan `builder.as_dataset()`:

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

Unduh dan siapkan dataset sebagai file Parquet bersarang secara lokal:

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

Unduh dan siapkan dataset sebagai file Parquet bersarang di penyimpanan cloud:

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/builder.py#L694)

Kembalikan path modul dari kelas atau subkelas ini.

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/builder.py#L1292)

Kelas dasar untuk dataset dengan generasi data berdasarkan generator dict.

`GeneratorBasedBuilder` adalah kelas yang memudahkan dengan mengabstraksi sebagian besar penulisan dan pembacaan data dari `DatasetBuilder`. Kelas ini mengharapkan subclass untuk mengimplementasikan generator dari kamus fitur di seluruh split dataset (`_split_generators`). Lihat docstring metode untuk detailnya.

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/builder.py#L1610)

Kelas dasar untuk dataset dengan generasi data berdasarkan fungsi pemuatan 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)
```

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/builder.py#L101)

**Parameter:**

name (`str`, defaultnya `default`) : Nama dari konfigurasi.

version (`Version` atau `str`, defaultnya `0.0.0`) : Versi dari konfigurasi.

data_dir (`str`, *opsional*) : Path ke direktori yang berisi data sumber.

data_files (`str` atau `Sequence` atau `Mapping`, *opsional*) : Path ke file data sumber.

description (`str`, *opsional*) : Deskripsi manusia dari konfigurasi.

Kelas dasar untuk konfigurasi data `DatasetBuilder`.

Subkelas `DatasetBuilder` dengan opsi konfigurasi data harus mewarisi `BuilderConfig` dan menambahkan properti mereka sendiri.

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

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/builder.py#L144)

ID config digunakan untuk membangun direktori cache. Secara default, nilainya sama dengan nama config. Namun, nama config saja tidak cukup untuk menjadi pengidentifikasi unik bagi dataset yang sedang dibuat karena tidak memperhitungkan:
- kwargs konfigurasi yang dapat digunakan untuk menimpa atribut
- fitur kustom yang digunakan untuk menulis dataset
- data_files untuk dataset json/text/csv/pandas

Oleh karena itu, id config hanyalah nama config dengan sufiks opsional berdasarkan hal-hal tersebut.

## Unduh[[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)
```

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/download/download_manager.py#L71)

#### unduh[[datasets.DownloadManager.download]]

```python
download(url_or_urls)
```

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/download/download_manager.py#L131)

**Parameter:**

url_or_urls (`str` atau `list` atau `dict`) : URL atau `list` atau `dict` dari URL untuk diunduh. Setiap URL adalah `str`.

**Mengembalikan:** `str` atau `list` atau `dict`

Path yang diunduh yang cocok dengan input `url_or_urls` yang diberikan.

Unduh URL yang diberikan.

Secara default, hanya satu proses yang digunakan untuk unduhan. Sampaikan `download_config.num_proc` yang disesuaikan untuk mengubah perilaku ini.

Contoh:

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/download/download_manager.py#L310)

**Parameter:**

url_or_urls (`str` atau `list` atau `dict`) : URL atau `list` atau `dict` dari URL untuk diunduh dan diekstrak. Setiap URL adalah `str`.

**Mengembalikan:** `extracted_path(s)`

`str`, jalur yang diekstrak dari URL yang diberikan.

Unduh dan ekstrak `url_or_urls` yang diberikan.

Kurang lebih setara dengan:

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

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

```python
extract(path_or_paths)
```

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/download/download_manager.py#L278)

**Parameter:**

path_or_paths (path atau `list` atau `dict`) : Path file untuk diekstrak. Setiap path adalah `str`.

**Mengembalikan:** `extracted_path(s)`

`str`, Jalur-jalur yang diekstrak dan cocok dengan input path_or_paths yang diberikan.

Ekstrak jalur yang diberikan.

Contoh:

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/download/download_manager.py#L234)

**Parameter:**

path_or_buf (`str` atau `io.BufferedReader`) : Path arsip atau objek file biner arsip.

**Hasil:** `tuple[str, io.BufferedReader]`

2-tuple (path_within_archive, file_object). Objek file dibuka dalam mode biner.

Iterasi file di dalam arsip.

Contoh:

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/download/download_manager.py#L259)

**Parameter:**

paths (`str` atau `list` dari `str`) : Jalur akar.

**Hasil:** `str`

Path file.

Iterasi pada jalur file.

Contoh:

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/download/streaming_download_manager.py#L47)

Manajer unduhan yang menggunakan pemisah "::" untuk menavigasi arsip terkompresi (mungkin jarak jauh). Berbeda dengan `DownloadManager` reguler, metode `download` dan `extract` tidak benar-benar mengunduh atau mengekstrak data, melainkan mengembalikan path atau url yang dapat dibuka menggunakan fungsi `xopen` yang memperluas fungsi bawaan `open` untuk mengalirkan data dari file jarak jauh.

#### unduh[[datasets.StreamingDownloadManager.download]]

```python
download(url_or_urls)
```

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/download/streaming_download_manager.py#L75)

**Parameter:**

url_or_urls (`str` atau `list` atau `dict`) : URL file untuk streaming data. Setiap url adalah `str`.

**Mengembalikan:** `url(s)`

(`str` atau `list` atau `dict`), URL untuk streaming data dari url_or_urls yang diberikan.

Normalisasi URL file untuk streaming data. Ini adalah versi lazy dari `DownloadManager.download` untuk streaming.

Contoh:

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/download/streaming_download_manager.py#L151)

**Parameter:**

url_or_urls (`str` atau `list` atau `dict`) : URL untuk streaming data. Setiap url adalah `str`.

**Mengembalikan:** `url(s)`

(`str` atau `list` atau `dict`), URL untuk streaming data dari URL yang cocok dengan input `url_or_urls` yang diberikan.

Siapkan `url_or_urls` yang diberikan untuk streaming (tambahkan protokol ekstraksi).

Ini adalah versi lazy dari `DownloadManager.download_and_extract` untuk streaming.

Setara dengan:

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

#### extract[[datasets.StreamingDownloadManager.extract]]

```python
extract(url_or_urls)
```

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/download/streaming_download_manager.py#L102)

**Parameter:**

url_or_urls (`str` atau `list` atau `dict`) : URL file untuk streaming data. Setiap url adalah `str`.

**Mengembalikan:** `url(s)`

(`str` atau `list` atau `dict`), URL untuk streaming data dari URL yang cocok dengan input `url_or_urls` yang diberikan.

Tambahkan protokol ekstraksi untuk url tertentu untuk streaming.

Ini adalah versi lazy dari `DownloadManager.extract` untuk streaming.

Contoh:

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/download/streaming_download_manager.py#L171)

**Parameter:**

urlpath_or_buf (`str` atau `io.BufferedReader`) : Path arsip atau objek file biner arsip.

**Hasil:** `tuple[str, io.BufferedReader]`

2-tuple (path_within_archive, file_object). Objek file dibuka dalam mode biner.

Iterasi file di dalam arsip.

Contoh:

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/download/streaming_download_manager.py#L196)

**Parameter:**

urlpaths (`str` atau `list` dari `str`) : Jalur akar.

**Hasil:** `str`

Path URL file.

Iterasi melalui file.

Contoh:

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/download/download_config.py#L10)

**Parameter:**

cache_dir (`str` atau `Path`, *opsional*) : Tentukan direktori cache untuk menyimpan file (menimpa direktori cache default).

force_download (`bool`, defaultnya `False`) : Jika `True`, unduh ulang file meskipun sudah ada di direktori cache.

resume_download (`bool`, defaultnya `False`) : Jika `True`, lanjutkan unduhan jika ditemukan file yang diterima tidak lengkap.

proxies (`dict`, *opsional*) : Tidak didukung lagi dan diabaikan. Tetapkan variabel lingkungan `HTTP_PROXY` / `HTTPS_PROXY` atau konfigurasikan klien HTTP dengan [huggingface_hub.set_client_factory](https://huggingface.co/docs/huggingface_hub/v2.4.0/en/package_reference/utilities#huggingface_hub.set_client_factory) sebagai gantinya.

user_agent (`str`, *opsional*) : String atau dict opsional yang akan ditambahkan ke user-agent pada permintaan jarak jauh.

extract_compressed_file (`bool`, defaultnya `False`) : Jika `True` dan path menunjuk ke file zip atau tar, ekstrak file terkompresi ke dalam folder di samping arsip.

force_extract (`bool`, defaultnya `False`) : Jika `True` saat `extract_compressed_file` bernilai `True` dan arsip sudah diekstrak sebelumnya, ekstrak ulang arsip tersebut dan timpa folder tempat arsip diekstrak.

delete_extracted (`bool`, defaultnya `False`) : Apakah akan menghapus (atau menyimpan) file yang diekstrak.

extract_on_the_fly (`bool`, defaultnya `False`) : Jika `True`, ekstrak file terkompresi saat file tersebut dibaca.

use_etag (`bool`, defaultnya `True`) : Apakah akan menggunakan header respons HTTP ETag untuk memvalidasi file yang di-cache.

num_proc (`int`, *opsional*) : Jumlah proses yang akan diluncurkan untuk mengunduh file secara paralel.

max_retries (`int`, default `1`) : Jumlah kali mengulang permintaan HTTP jika gagal.

token (`str` atau `bool`, *opsional*) : String atau boolean opsional untuk digunakan sebagai token Bearer untuk file jarak jauh di Datasets Hub. Jika `True`, atau tidak ditentukan, token akan diambil dari `~/.huggingface`.

storage_options (`dict`, *opsional*) : Pasangan key/value yang akan diteruskan ke backend file-system dataset, jika ada.

download_desc (`str`, *opsional*) : Deskripsi yang akan ditampilkan berdampingan dengan bilah kemajuan saat mengunduh file.

disable_tqdm (`bool`, defaultnya `False`) : Apakah akan menonaktifkan bilah progres unduhan file individual

Konfigurasi untuk path manager yang di-cache kami.

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

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/download/download_manager.py#L50)

`Enum` untuk cara menangani unduhan dan data yang sudah ada sebelumnya.

Mode default adalah `REUSE_DATASET_IF_EXISTS`, yang akan menggunakan kembali unduhan mentah dan dataset yang sudah disiapkan jika keduanya ada.

Mode generasi:

|                                     | Unduhan | Dataset |
|-------------------------------------|-----------|---------|
| `REUSE_DATASET_IF_EXISTS` (default) | Gunakan Ulang     | Gunakan Ulang   |
| `REUSE_CACHE_IF_EXISTS`             | Gunakan Ulang     | Baru   |
| `FORCE_REDOWNLOAD`                  | Baru     | Baru   |

## Verifikasi[[datasets.VerificationMode]]

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

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/utils/info_utils.py#L22)

`Enum` yang menentukan pemeriksaan verifikasi mana yang akan dijalankan.

Mode default adalah `BASIC_CHECKS`, yang hanya akan melakukan pemeriksaan dasar untuk menghindari perlambatan saat membuat/mengunduh dataset untuk pertama kali.

Mode verifikasi:

|                           | Pemeriksaan verifikasi                                                           |
|---------------------------|------------------------------------------------------------------------------ |
| `ALL_CHECKS`              | Pemisahan cek dan validitas (jumlah file, checksum) dari file yang diunduh    |
| `BASIC_CHECKS` (default)  | Sama seperti `ALL_CHECKS` tetapi tanpa memeriksa file yang diunduh                    |
| `NO_CHECKS`               | None                                                                          |

## Pembagian[[datasets.SplitGenerator]]

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

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/splits.py#L624)

**Parameter:**

name (`str`) : Nama `Split` yang akan dibuatkan contoh oleh generator.

- ****gen_kwargs** (argumen kata kunci tambahan) : Argumen kata kunci untuk diteruskan ke metode `DatasetBuilder._generate_examples` dari builder.

Menentukan informasi pemecahan untuk generator.

Ini harus digunakan sebagai nilai yang dikembalikan dari `GeneratorBasedBuilder._split_generators`. Lihat `GeneratorBasedBuilder._split_generators` untuk informasi lebih lanjut dan contoh penggunaan.

Contoh:

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/splits.py#L417)

`Enum` untuk pemecahan dataset.

Dataset biasanya dipecah menjadi beberapa subset yang digunakan pada berbagai tahap pelatihan dan evaluasi.

- `TRAIN`: data pelatihan.
- `VALIDATION`: data validasi. Jika ada, ini biasanya digunakan sebagai data evaluasi saat mengiterasi model (misalnya mengubah hiperparameter, arsitektur model, dll.).
- `TEST`: data pengujian. Ini adalah data untuk melaporkan metrik. Biasanya, Anda tidak ingin menggunakan data ini selama iterasi model karena Anda mungkin mengalami overfitting terhadapnya.
- `ALL`: gabungan dari semua split dataset yang didefinisikan.

Semua split, termasuk komposisi, mewarisi dari `datasets.SplitBase`.

Lihat [panduan](../load_hub#splits) tentang splits untuk informasi lebih lanjut.

Contoh:

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/splits.py#L325)

Deskriptor yang sesuai dengan split bernama (train, test, ...).

Contoh:

Setiap deskriptor dapat dikomposisikan dengan deskriptor lain menggunakan penjumlahan atau slice:

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

Hasil pemisahan akan sesuai dengan 25% dari pemisahan latih yang digabungkan dengan 100% dari pemisahan uji.

Sebuah split tidak dapat ditambahkan dua kali, sehingga berikut akan gagal:

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

Slice hanya dapat diterapkan satu kali. Jadi, berikut adalah yang valid:

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

Tetapi ini tidak valid:

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/splits.py#L402)

Split yang sesuai dengan gabungan dari semua split dataset yang didefinisikan.

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

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_reader.py#L456)

Instruksi membaca untuk dataset.

Contoh:

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_reader.py#L536)

**Parameter:**

spec (`str`) : Split(s) + slice(s) opsional untuk dibaca + pembulatan opsional jika persentase digunakan sebagai unit pemotongan. Slice dapat ditentukan, menggunakan angka absolut (`int`) atau persentase (`int`).

**Mengembalikan:**

Instans ReadInstruction.

Membuat instance `ReadInstruction` dari spesifikasi string.

Contoh:

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

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/arrow_reader.py#L608)

**Parameter:**

name2len (`dict`) : Mengaitkan nama split dengan jumlah contoh.

**Mengembalikan:**

daftar instance _AbsoluteInstruction (sesuai dengan + dalam spec).

Terjemahkan instruksi menjadi daftar instruksi absolut.

Instruksi absolut tersebut kemudian harus dijumlahkan.

## Versi[[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)
```

[Sumber](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/utils/version.py#L30)

**Parameter:**

version_str (`str`) : Versi dataset.

description (`str`) : Deskripsi tentang apa yang baru dalam versi ini.

major (`str`) --

minor (`str`) --

patch (`str`) --

Versi dataset `MAJOR.MINOR.PATCH`.

Contoh:

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

