Datasets documentation

Manajemen cache

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v4.8.4).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Manajemen cache

Saat Anda mengunduh dataset dari Hugging Face, data disimpan secara lokal di komputer Anda. File dari Hugging Face disimpan seperti biasa di cache huggingface_hub, yang secara default berada di ~/.cache/huggingface/hub. Lihat dokumentasi cache Hub untuk detail lebih lanjut dan cara mengubah lokasinya.

Cache Hub memungkinkan 🤗 Datasets untuk menghindari pengunduhan ulang file dataset dari Hugging Face setiap kali Anda menggunakannya.

🤗 Datasets juga memiliki cache-nya sendiri untuk menyimpan dataset yang dikonversi ke format Arrow (format yang digunakan oleh objek Dataset).

Panduan ini berfokus pada cache 🤗 Datasets dan akan menunjukkan cara Anda untuk:

  • Ubah direktori cache.
  • Kontrol cara dataset dimuat dari cache.
  • Bersihkan file cache di direktori.
  • Aktifkan atau nonaktifkan penyangga.

Direktori cache

Direktori cache 🤗 Datasets default adalah ~/.cache/huggingface/datasets. Ubah lokasi cache dengan mengatur variabel lingkungan shell, HF_HOME, ke direktori lain:

$ export HF_HOME="/path/to/another/directory"

Sebagai alternatif, Anda dapat mengatur variabel lingkungan HF_DATASETS_CACHE untuk mengontrol hanya direktori cache khusus dataset:

$ export HF_DATASETS_CACHE="/path/to/datasets_cache"

⚠️ Ini hanya berlaku untuk file yang ditulis oleh pustaka datasets (misalnya, file Arrow dan indeks).
Hal ini tidak memengaruhi file yang diunduh dari Hugging Face Hub (seperti model, tokenizer, atau sumber dataset mentah), yang secara default berada di ~/.cache/huggingface/hub dan dikendalikan secara terpisah melalui variabel HF_HUB_CACHE:

$ export HF_HUB_CACHE="/path/to/hub_cache"

💡 Jika Anda ingin memindahkan semua cache Hugging Face — termasuk unduhan dataset dan hub — gunakan variabel HF_HOME sebagai gantinya:

$ export HF_HOME="/path/to/cache_root"

Hal ini menghasilkan:

  • cache datasets → /path/to/cache_root/datasets
  • cache hub → /path/to/cache_root/hub

Pembedaan ini sangat berguna saat bekerja di lingkungan bersama atau sistem file jaringan (misalnya, NFS).
Lihat issue #7480 untuk diskusi tentang bagaimana pengguna menemukan lokasi cache yang tidak terduga ketika HF_HUB_CACHE tidak disetel bersamaan dengan HF_DATASETS_CACHE.

Saat Anda memuat dataset, Anda juga memiliki opsi untuk mengubah lokasi penyimpanan cache data. Ubah parameter cache_dir menjadi path yang Anda inginkan:

>>> from datasets import load_dataset
>>> dataset = load_dataset('username/dataset', cache_dir="/path/to/another/directory/datasets")

Mode unduhan

Setelah Anda mengunduh dataset, kendalikan cara dataset dimuat oleh load_dataset() dengan parameter download_mode. Secara default, 🤗 Datasets akan menggunakan ulang dataset jika sudah ada. Namun, jika Anda membutuhkan dataset asli tanpa fungsi pemrosesan apa pun yang diterapkan, unduh ulang file seperti yang ditunjukkan di bawah ini:

>>> from datasets import load_dataset
>>> dataset = load_dataset('rajpurkar/squad', download_mode='force_redownload')

Lihat DownloadMode untuk daftar lengkap mode unduhan.

Berkas cache

Bersihkan file cache Arrow di direktori dengan Dataset.cleanup_cache_files():

# Returns the number of removed cache files
>>> dataset.cleanup_cache_files()
2

Aktifkan atau nonaktifkan penyangga

Jika Anda menggunakan file yang di-cache secara lokal, dataset akan dimuat ulang secara otomatis dengan transformasi sebelumnya yang Anda terapkan pada dataset. Nonaktifkan perilaku ini dengan mengatur argumen load_from_cache_file=False di Dataset.map():

>>> updated_dataset = small_dataset.map(add_prefix, load_from_cache_file=False)

Pada contoh di atas, 🤗 Datasets akan mengeksekusi fungsi add_prefix di seluruh dataset sekali lagi, alih-alih memuat dataset dari keadaan sebelumnya.

Nonaktifkan caching secara global dengan disable_caching():

>>> from datasets import disable_caching
>>> disable_caching()

Saat Anda menonaktifkan caching, 🤗 Datasets tidak akan lagi memuat ulang file yang di-cache saat menerapkan transformasi pada dataset. Setiap transformasi yang Anda terapkan pada dataset Anda akan perlu diterapkan ulang.

Jika Anda ingin menggunakan ulang dataset dari awal, coba atur parameter download_mode di load_dataset() sebagai gantinya.

Perbaiki kinerja

Menonaktifkan cache dan menyalin dataset ke dalam memori akan mempercepat operasi dataset. Ada dua opsi untuk menyalin dataset ke dalam memori:

  1. Set datasets.config.IN_MEMORY_MAX_SIZE ke nilai non-nol (dalam byte) yang muat di memori RAM Anda.

  2. Setel variabel lingkungan HF_DATASETS_IN_MEMORY_MAX_SIZE ke nilai yang tidak nol. Perhatikan bahwa metode pertama memiliki prioritas lebih tinggi.

Update on GitHub