Hub documentation
Konfigurasi Manual
Konfigurasi Manual
Panduan ini akan menunjukkan cara mengonfigurasi struktur kustom untuk repositori dataset Anda. koleksi dataset contoh pendamping menampilkan setiap bagian dari dokumentasi.
Dataset dengan struktur dan format file yang didukung secara otomatis memiliki Dataset Viewer di halaman dataset-nya di Hub. Anda dapat menggunakan YAML untuk mendefinisikan splits, subsets, dan parameter builder yang digunakan oleh Viewer.
Anda juga dapat mendefinisikan beberapa subset (juga disebut βkonfigurasiβ) untuk dataset yang sama (misalnya jika dataset memiliki berbagai file independen).
Pembagian
Jika Anda memiliki beberapa file dan ingin menentukan file mana yang masuk ke split mana, Anda dapat menggunakan YAML di bagian atas README.md.
Sebagai contoh, diberikan sebuah repositori seperti ini:
my_dataset_repository/
βββ README.md
βββ data.csv
βββ holdout.csvAnda dapat mendefinisikan subset untuk split Anda dengan menambahkan field configs di blok YAML di bagian atas README.md Anda:
---
configs:
- config_name: default
data_files:
- split: train
path: "data.csv"
- split: test
path: "holdout.csv"
---Anda dapat memilih beberapa file per split menggunakan daftar path:
my_dataset_repository/
βββ README.md
βββ data/
β βββ abc.csv
β βββ def.csv
βββ holdout/
βββ ghi.csv---
configs:
- config_name: default
data_files:
- split: train
path:
- "data/abc.csv"
- "data/def.csv"
- split: test
path: "holdout/ghi.csv"
---Atau Anda dapat menggunakan pola glob untuk secara otomatis mendaftar semua file yang Anda butuhkan:
---
configs:
- config_name: default
data_files:
- split: train
path: "data/*.csv"
- split: test
path: "holdout/*.csv"
---Perhatikan bahwa field
config_namewajib diisi meskipun Anda hanya memiliki satu subset.
Beberapa Subset
Dataset Anda mungkin memiliki beberapa subset data yang ingin Anda gunakan secara terpisah. Sebagai contoh, setiap subset memiliki dropdown-nya sendiri di Dataset Viewer pada Hugging Face Hub.
Dalam hal itu, Anda dapat mendefinisikan daftar subset di dalam field configs di YAML:
my_dataset_repository/
βββ README.md
βββ main_data.csv
βββ additional_data.csv---
configs:
- config_name: main_data
data_files: "main_data.csv"
- config_name: additional_data
data_files: "additional_data.csv"
---Perhatikan bahwa urutan subset yang ditampilkan di viewer adalah default terlebih dahulu, kemudian alfabetis.
Anda dapat mengatur subset default menggunakan
default: true- config_name: main_data data_files: "main_data.csv" default: trueHal ini berguna untuk mengatur subset mana yang ditampilkan pertama oleh Dataset Viewer, dan subset mana yang dimuat secara default oleh pustaka data.
Direktori Data
Alih-alih mencantumkan file individual dengan data_files, Anda dapat menggunakan data_dir untuk menunjuk ke sebuah direktori. File di dalam direktori tersebut akan diidentifikasi secara otomatis berdasarkan ekstensi file. Hal ini sangat berguna ketika data Anda diorganisasikan dalam subdirektori:
Sebagai contoh, dalam kasus seperti ini, Anda cukup menggunakan data_dir karena data setiap subset berada di direktori masing-masing:
my_dataset_repository/
βββ README.md
βββ main/
β βββ train.csv
β βββ test.csv
βββ extra/
βββ train.csv
βββ test.csv---
configs:
- config_name: main
data_dir: "main"
- config_name: extra
data_dir: "extra"
---Ketika data_dir diatur, builder akan menyelesaikan file relatif terhadap direktori tersebut. Jika direktori berisi file yang cocok dengan pola penamaan split default (misalnya train.csv, test.csv), split akan ditugaskan secara otomatis tanpa perlu data_files eksplisit.
Anda juga dapat menggabungkan data_dir dengan data_files untuk kontrol yang lebih baik:
---
configs:
- config_name: default
data_dir: "data"
data_files:
- split: train
path: "training_*.csv"
- split: test
path: "eval_*.csv"
---Dalam kasus ini, pola path di data_files diselesaikan relatif terhadap data_dir.
Parameter builder
Tidak hanya data_files, tetapi parameter spesifik builder lainnya juga dapat dikirimkan melalui YAML, sehingga memberikan fleksibilitas lebih dalam cara memuat data tanpa memerlukan kode khusus. Sebagai contoh, tentukan pemisah yang akan digunakan pada subset mana untuk memuat file csv Anda:
---
configs:
- config_name: tab
data_files: "main_data.csv"
sep: "\t"
- config_name: comma
data_files: "additional_data.csv"
sep: ","
---Lihat dokumentasi builder tertentu untuk melihat parameter apa yang mereka miliki.
Update on GitHub